Devices and Sensors Working Group Charter (original) (raw)
The mission of the Devices and Sensors Working Group (DAS WG) is to create secure and privacy-preserving client-side APIs that enable the development of web applications that interact with device capabilities.
Charter Status | See the group status page and detailed change history. |
---|---|
Start date | 21 February 2024 |
End date | 28 February 2026 |
Chairs | Anssi Kostiainen (Intel), Reilly Grant (Google) |
Team Contact | Atsushi Shimono (0.10 FTE)) |
Usual Meeting Schedule | Teleconferences: topic-specific calls may be held Face-to-face: 1 or 2 per year (only as needed) |
Scope
The Devices and Sensors WG defines client-side APIs that allow web applications to make use of widely available device capabilities that enable modern, context-aware, and interactive application experiences. These capabilities include:
- reacting to device power status
- preventing the screen from turning off under certain conditions
- preventing the system from turning off under certain conditions
- accessing nearby devices without physical contact
- responding to ambient light levels of the device’s environment
- reacting to changes in motion and orientation of the hosting device
- providing location information, either of the hosting device or a location selected by the user
To fulfill its mission and to encourage broader engagement from implementers and web developers alike, this WG is committed tosecurity and privacy focused and use case-driven specification development.
As per the commitment to secure and privacy-preserving specifications, APIs in scope that expose sensitive data will define normative mitigations to address any known security and privacy threats. These mitigations are developed and reviewed together with the security and privacy community and incorporated normatively into the respective specifications. In addition, the WG produces non-normative security and privacy explainers that describe concrete best practices, design patterns, and mitigation strategies that cater to web developers to raise awareness.
The group will document use cases and requirements that inform the scope of the technical work to ensure the APIs limit their functionality and data exposure to the minimum required to implement real-world use cases adhering to the principles of data minimization. Applicability of mitigation strategies such as data quantization and permissions grants will be assessed on a use-case basis considering the requirements derived from real-world use cases.
The WG will reuse existing security and privacy-focused web features and APIs developed in other groups where applicable. If the existing solutions do not provide the level of protection required, the WG will explore innovative new security and privacy mechanisms.
Out of Scope
Hardware security services are out of scope for this WG.
Deliverables
Normative Specifications
The Working Group will deliver the following W3C normative specifications:
An API to react to a device power status
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2022/WD-battery-status-20220203/
Reference Draft: http://www.w3.org/TR/2016/CR-battery-status-20160707/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
An API to prevent the screen from turning off
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-screen-wake-lock-20230719/
Reference Draft: https://www.w3.org/TR/2017/CR-wake-lock-20171214/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
Note: This work is a joint deliverable with the Web Applications Working Group.
System Wake Lock API
An API to prevent the CPU from entering a deep power state
Draft state: ED
Adopted Draft: https://www.w3.org/TR/2017/CR-wake-lock-20171214/
Reference Draft: https://www.w3.org/TR/2017/CR-wake-lock-20171214/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
An API that serves as a basis for APIs that retrieve data from sensors
Draft state: Candidate Recommendation
Adopted Draft: https://www.w3.org/TR/2023/CRD-generic-sensor-20230810/
Reference Draft: https://www.w3.org/TR/2019/CR-generic-sensor-20191212/
Produced under Working Group Charter: https://www.w3.org/2019/03/devices-sensors-wg-charter.html
An API to monitor the presence of nearby objects without physical contact
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-proximity-20230130/
Reference Draft: http://www.w3.org/TR/2012/WD-proximity-20121206/
Produced under Working Group Charter: http://www.w3.org/2011/07/DeviceAPICharter.html
An API to monitor the ambient light level of the device’s environment
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-ambient-light-20230721/
Reference Draft: https://www.w3.org/TR/2018/CR-ambient-light-20180320/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
An API to monitor acceleration in the device's three primary axes
Draft state: Candidate Recommendation
Adopted Draft: https://www.w3.org/TR/2023/CRD-accelerometer-20230130/
Reference Draft: https://www.w3.org/TR/2019/CR-accelerometer-20191212/
Produced under Working Group Charter: https://www.w3.org/2019/03/devices-sensors-wg-charter.html
An API to monitor the rate of rotation around the device’s three primary axes
Draft state: Candidate Recommendation
Adopted Draft: https://www.w3.org/TR/2023/CRD-gyroscope-20230130/
Reference Draft: https://www.w3.org/TR/2019/CR-gyroscope-20191212/
Produced under Working Group Charter: https://www.w3.org/2019/03/devices-sensors-wg-charter.html
An API to measure the magnetic field around the device’s three primary axes
Draft state: Candidate Recommendation
Adopted Draft: https://www.w3.org/TR/2023/WD-magnetometer-20230130/
Reference Draft: https://www.w3.org/TR/2018/CR-magnetometer-20180320/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
An API to monitor the device’s physical orientation in relation to a stationary three dimensional Cartesian coordinate system
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-orientation-sensor-20230801/
Reference Draft: https://www.w3.org/TR/2019/CR-orientation-sensor-20191212/
Produced under Working Group Charter: https://www.w3.org/2019/03/devices-sensors-wg-charter.html
DeviceOrientation Event specification
An event-based API that provides information about the physical orientation and motion of a hosting device
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-orientation-event-20230421/
Reference Draft: https://www.w3.org/TR/2016/CR-orientation-event-20160818/
Produced under Working Group Charter: https://www.w3.org/2016/03/device-sensors-wg-charter.html
Note: This work is a joint deliverable with the Web Applications Working Group.
An API for obtaining geolocation reading from the hosting device, based on the Generic Sensor API
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2022/WD-geolocation-sensor-20220316/
Reference Draft: https://www.w3.org/TR/2018/WD-geolocation-sensor-20180821/
Produced under Working Group Charter: https://www.w3.org/2018/06/devices-sensors-wg-charter.html
An API that allows web applications to request and be notified of changes of the posture of a foldable device. (Formerly the Fold Angle Sensor API.)
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-device-posture-20230404/
Reference Draft: https://www.w3.org/TR/2020/WD-screen-fold-20201217/
Produced under Working Group Charter: https://www.w3.org/2020/11/das-wg-charter.html
An API to give one-off access to a user’s contact information with full control over the shared data
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-contact-picker-20230308/
Reference Draft: https://www.w3.org/TR/2022/WD-contact-picker-1-20221220/
Produced under Working Group Charter: https://www.w3.org/2022/11/das-wg-charter.html
Note: This work is a joint deliverable with the Web Applications Working Group.
An API that conveys the utilization of CPU resources on the user's device
Draft state: Working Draft
Adopted Draft: https://www.w3.org/TR/2023/WD-compute-pressure-20230831/
Reference Draft: https://www.w3.org/TR/2022/WD-compute-pressure-20221220/
Produced under Working Group Charter: https://www.w3.org/2022/11/das-wg-charter.html
Tentative Deliverables
Depending on the progress, including consideration for adequate implementation experience, the Group may also produce W3C Recommendations for the following documents:
An API to discover the current network characteristics
Note: the group will determine in collaboration with the WICG whether the existing implementations of this API on mobile warrant restarting the standardization process
Draft state: Draft Community Group Report
Adopted Draft: Adopted from WICG (see alsoWorking Group Note that predates the WICG Draft Report)
An API for observing system-wide user presence signals
Draft state: Draft Community Group Report
Adopted Draft: Adopted from WICG
Maintenance
The Working Group will maintain errata and new editions, as necessary, for the Geolocation API, Vibration API, and HTML Media Capture W3C Recommendations.
Note: The Geolocation API is a joint deliverable with the Web Applications Working Group.
Since HTML Media Capture extends the HTML Living Standard, the Working Group may propose to W3C to upstream the spec, to the WHATWG HTML LS for maintenance, as anticipated by Section 10.2 of the Memorandum of Understanding Between W3C and WHATWG.
Adding new Recommendation-track deliverables
If additional in-scope Recommendation-track deliverables need to be added to the Charter before the Charter expires, the Working Group will prepare an updated Charter that differs only in deliverables.
The Working Group will not adopt new proposals until they have matured through the Web Platform Incubator Community Group or another similar incubation phase.
Other Deliverables
Use cases and requirements that inform the scope of the technical work to ensure the APIs limit their functionality and data exposure to the minimum required to implement real-world use cases adhering to the principles of data minimization.
Security and privacy explainers that describe concrete best practices, design patterns, and mitigation strategies that cater to web developers to raise awareness.
Timeline
Milestones
Specification | FPWD | CR | PR | Rec |
---|---|---|---|---|
Battery Status API | 26 Apr 2011 | 7 Jul 2016 | Q3 2024 | Q4 2024 |
Screen Wake Lock API | 12 Feb 2015 | 14 Dec 2017 | Q3 2024 | Q4 2024 |
System Wake Lock API | 12 Feb 2015 | 14 Dec 2017 | ||
Generic Sensor API | 15 Oct 2015 | 12 Dec 2019 | Q3 2024 | Q4 2024 |
Proximity Sensor | 12 July 2012 | 01 October 2013 | Q3 2024 | Q4 2024 |
Ambient Light Sensor | 2 Aug 2012 | 20 Mar 2018 | Q3 2024 | Q4 2024 |
Accelerometer | 13 September 2016 | 12 Dec 2019 | Q3 2024 | Q4 2024 |
Gyroscope | 13 September 2016 | 12 Dec 2019 | Q3 2024 | Q4 2024 |
Magnetometer | 13 September 2016 | 20 Mar 2018 | Q3 2024 | Q4 2024 |
Orientation Sensor | 11 May 2017 | 12 Dec 2019 | Q3 2024 | Q4 2024 |
Device Posture API | 17 December 2020 | Q2 2024 | ||
DeviceOrientation Event specification | 28 June 2011 | 18 August 2016 | Q3 2024 | Q4 2024 |
Geolocation Sensor | 21 August 2018 | Q2 2024 | ||
Network Information API | Q3 2024 | Q4 2024 | ||
Contact Picker API | 20 December 2022 | Q4 2024 | ||
Idle Detection API | Q3 2024 | Q4 2024 | ||
Compute Pressure | 20 December 2022 | Q4 2024 |
Note: The actual production of some of the deliverables may follow a different timeline. The group documents any schedule changes on the group home page.
Success Criteria
To advance to Proposed Recommendation, each specification must havetwo independent implementations of all defined features, at least one of which is on a mobile device.
Comprehensive test suites will be developed for each specification to ensure interoperability, and the group will create interoperability reports. The group will also maintain errata as required for the continued relevance and usefulness of the specifications it produces.
Each specification must contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.
Each specification must detail all known security and privacy implications for implementers, Web authors, and end users.
APIs that cannot be demonstrated to be implementable securely within the default browser context will not be released.
The specifications produced by this WG must mitigate disclosure of data when possible and seek meaningful user consent in other cases. If the WG decides that one or more of its specifications cannot be usefully implemented while simultaneously allowing users to meaningfully consent to the use of sensitive data, it should not advance those specifications.
The Devices and Sensors WG will follow a test as you commit approach to specification development, for specifications in CR or above.
All normative spec changes are generally expected to have a corresponding pull request in web-platform-tests, either in the form of new tests or modifications to existing tests, or must include the rationale for why test updates are not required for the proposed update.
Typically, both pull requests (spec updates and tests) will be merged at the same time. If a pull request for the specification is approved but the other needs more work, add the 'needs tests' label or, in web-platform-tests, the 'status:needs-spec-decision' label. Note that a test change that contradicts the specification should not be merged before the corresponding specification change.
If testing is not practical due to web-platform-tests limitations, please explain why and if appropriate file an issue with the 'type:untestable' label to follow up later.
Coordination
For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.
Additional technical coordination with the following Groups will be made, per the W3C Process Document:
W3C Groups
Web Application Security Working Group
The Web Application Security Working Group is developing guidance on APIs that expose sensitive information, and an API to manage permissions, both of which matter to several of this group’s specifications.
Both the Devices and Sensors WG and Privacy CG are committed to privacy-focused web features and APIs. This WG may reuse proposals developed in the Privacy CG to improve user privacy through enhanced browser behavior.
Web Applications Working Group
This group defines relevant specifications including the File API and Web App Manifest.
The Screen Wake Lock API, the DeviceOrientation Event specification, the Contact Picker API, and the Geolocation API are joint deliverables with the Web Applications Working Group.
Web Real Time Communications Working Group
Both the Devices and Sensors and WebRTC Working Groups develop capture-related APIs.
The WoT group defines a Web-based abstract architecture and a data model based on JSON-LD for IoT interoperability. Coordination on terminology and vocabulary of sensor data, e.g., geolocation information, is expected.
Cascading Style Sheets (CSS) Working Group
The CSS Working Group develops media queries for the authors to query and respond to changes in the user environment, which may be related to the sensors on the user's device and the APIs developed in this group.
Accessible Platform Architectures (APA) Working Group
Coordinate on accessibility of user interface features implied by the APIs.
External Organizations
The following is a tentative list of external bodies the Working Group should collaborate with:
Ecma International Technical Committee 39 (TC39)
This is the group responsible for EcmaScript standardization, and related EcmaScript features. As this Working Group is developing EcmaScript APIs, it should collaborate with TC39.
The IETF has created specifications that are related to some of the APIs in this WG’s scope.
The WHATWG maintains the HTML Living Standard, which some of the specifications in this WG’s scope extend.
Participation
To be successful, this Working Group is expected to have 6 or more active participants for its duration, and to have the participation of the industry leaders in fields relevant to the specifications it produces.
The Chair(s) and specification Editors are expected to contribute one to two days per week towards the Working Group. There is no minimum requirement for other participants.
Based on the input from the group participants, the Chairs may also decide to create task forces that allow more focused discussions for topics that require specific expertise.
This Working Group will also allocate the necessary resources for building Test Suites for each specification.
The group encourages questions and comments on its public mailing lists and document repositories, as described in Communication.
The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.
Participants in the group are required (by the W3C Process) to follow the W3C Code of Ethics and Professional Conduct.
Communication
Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on a public repository, and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.
Information about the group (for example, details about deliverables, issues, actions, status, participants) is available from the Devices and Sensors Working Group home page.
The Working Group’s Teleconferences focus on discussion of particular specifications, and are conducted on an as-needed basis.
This group primarily conducts its technical work on the public-device-apis@w3.org and on Github issues. The public is invited to review, discuss and contribute to this work.
The group uses a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and participants of the group, for Member-only discussions in special cases when a particular participant requests such a discussion.
Decision Policy
This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 5.2.1, Consensus). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.
However, if a decision is necessary for timely progress, but consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote, and record a decision along with any objections.
To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from 5 to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.
All decisions made by the group should be considered resolved unless and until new information becomes available, or unless reopened at the discretion of the Chairs.
This charter is written in accordance with the W3C Process Document (Section 5.2.3, Deciding by Vote), and includes no voting procedures beyond what the Process Document requires.
Patent Policy
This Working Group operates under the W3C Patent Policy (Version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the licensing information.
Licensing
This Working Group will use the W3C Software and Document license for all its deliverables.
About this Charter
This charter has been created according to section 3.4 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.
Charter history
The following table lists details of all changes from the initial charter, per the W3C Process Document (section 4.3, Advisory Committee Review of a Charter):
Charter Period | Start Date | End Date | Changes |
---|---|---|---|
Initial Charter | 3 July 2009 | 31 July 2011 | N/A |
Rechartered | 19 August 2011 | March 31 2016 | Rechartered under the name "Device APIs Working Group". Thomas Roessler stepped down as team contact. Robin Berjon stepped down as co-chair in September 2012. |
Rechartered | 31 March 2016 | 30 June 2018 | Rechartered under the name "Device and Sensors Working Group". Added Fuqiao Xue as team contact in September 2017. Chair changed from Frederick Hirsch to Anssi Kostiainen in September 2017. |
Rechartered | 30 June 2018 | 30 June 2020 | Rechartered under the name "Devices and Sensors Working Group". Dominique Hazael-Massieux stepped down as team contact. Added Reilly Grant as co-chair. Added gyroscope, magnetometer, DeviceOrientation Event, and geolocation APIs to the group's deliverables. Removed media capture, address books, messaging applications, and similar non-sensor APIs from the group's scope of work. Reduced team support from 0.2 FTE to 0.1 FTE. Added a requirement to mitigate disclosures and/or get user consent. |
Rechartered | 15 March 2019 | 30 June 2020 | Added Geolocation API for maintenance. |
Charter Extension | 30 June 2020 | 31 October 2020 | none |
Charter Extension | 31 October 2020 | 30 November 2020 | none |
Rechartered | 1 December 2020 | 30 November 2022 | Updated Scope to describe the WG's security and privacy focused and use case-driven specification development model. Split Wake Lock API into Screen Wake Lock API and System Wake Lock API, and added Fold Angle Sensor deliverable. Noted HTML Media Capture may be upstreamed to WHATWG HTML Living Standard for maintenance. |
Rechartered | 1 December 2022 | 30 November 2024 | Added Contact Picker API, Idle Detection API, and Compute Pressure to the group's tentative deliverables. Changed the Fold Angle Sensor API from a tentative to a normative deliverable, renaming it as the Device Posture API. |
Rechartered | 21 February 2024 | 28 February 2026 | Marked Screen Wake Lock API, DeviceOrientation Event specification, Contact Picker API, and Geolocation API as joint deliverables with the Web Applications Working Group. Note: Contact Picker API was published as a joint deliverables already under the 2022-12-01 charter, following an agreement with Web Applications Working Group. |
Change log
Changes to this document are documented in this section.