This is a draft revised Devices and Sensors Working Group charter for discussion. It has no standing. See also the charter under which the Devices and Sensors Working Group currently operates.
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.
Join the Devices and Sensors Working Group.
Start date | TBD |
---|---|
End date | [dd monthname yyyy] (Start date + 2 years) |
Chairs | Anssi Kostiainen (Intel), Reilly Grant (Google) |
Team Contact (FTE %: 10) |
Atsushi Shimono |
Usual Meeting Schedule |
Teleconferences: topic-specific calls may be held Face-to-face: 1 or 2 per year (only as needed) |
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:
To fulfill its mission and to encourage broader engagement from implementers and web developers alike, this WG is committed to security 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.
Hardware security services are out of scope for this WG.
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.
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
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
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 also Working 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
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.
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.
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.
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.
To advance to Proposed Recommendation, each specification must have two 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.
For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, 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:
The following is a tentative list of external bodies the Working Group should collaborate with:
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.
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.
This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). 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 or the Director.
This charter is written in accordance with the W3C Process Document (Section 3.4, Votes), and includes no voting procedures beyond what the Process Document requires.
This Working Group operates under the W3C Patent Policy (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 W3C Patent Policy Implementation.
This Working Group will use the W3C Software and Document license for all its deliverables.
This charter for this Working Group has been created according to section 5.2 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.
The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):
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 | [YYYY-MM-DD] | [YYYY-MM-DD] | 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. |