DRAFT WebExtensions Working Group Charter
The mission of the WebExtensions Working Group (WebExtensions WG) is to specify the common core of cross-browser extension APIs.
This proposed charter is available on GitHub. Feel free to raise issues.
| Charter Status | See the group status page and detailed change history. |
|---|---|
| Start date | [dd monthname yyyy] (date of the "Call for Participation", when the charter is approved) |
| End date | [dd monthname yyyy] (Start date + 2 years) |
| Chairs |
Timothy Hatcher (Apple) Simeon Vincent (Mozilla) |
| Team Contacts | Michael[tm] Smith (0.10 FTE) |
| Meeting Schedule |
Teleconferences: 1-hour calls will be held every
two weeks.
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants, usually no more than 3 per year. |
Motivation and Background
Users can extend their browsers with extensions: small applications that run within a browser that modify its behavior, change web page content, and add or enhance interface features. Inspired by improvements to interoperability over the last few years, there is a desire to even more closely align these implementations. We aim to address this interest and enable cross-browser extension development through the creation of a specification of a common core of WebExtensions APIs.
At the same time, we recognize that browser vendors need to be able to expose browser-specific features to extensions and the ability to experiment with new features. Our group intends to embrace these needs and seek to provide mechanisms for specifying inconsistencies and working towards eventual unification where appropriate. We fully anticipate that browsers will offer APIs and capabilities beyond our common specifications.
We aim to provide a common forum to discuss and work through these and other completing concerns for the benefit our constituencies.
Scope
The following features are in-scope for this Working Group:
- User agent extensibility - user agents may provide APIs and other interaction points that allow third-party code (web extensions) to deeply integrate with intermediate client features, concepts, capabilities, and systems that may not be exposed to the open web. These include, but are not limited to, tab management, bookmarks, cookies stores, and browser settings.
- Extensions model - the basic architecture of extensions and how the different pieces interrelate. This definition will include a description of the trust model, the differing trust between browsers and extensions, between extensions, and between extensions and web pages.
- Permissions model - which powerful features extensions may access, and how extensions may request user consent to access them. The permissions model and API used by extensions predates and is notably different from the Permissions specification.
- WebExtensions APIs - the interfaces that extensions are built on.
- Resource files and formats - assets created by third-party developers that are consumed by the user agent. Assets include, but are not limited to, a manifest format and files specifying how a given extension is localized. The extension manifest format predates and is notably different from the Web Application Manifest specification.
- Native Messaging - API surface extensions to exchange messages with native applications running on the host system.
- WebDriver integration - the production of artifacts necessary to enable implementors to verify their implementations conform to a common test suite, and to enable extension developers to create automated tests to verify extension behaviors across user agents.
- Extension/Web interactions - concepts, systems, and interfaces that allow extensions to interact with web pages, or that restrict extensions from interacting with web pages. Those include both direct interactions (such as modifying an open page's DOM) and indirect interactions (such as using a WebExtensions API to clear browser history).
- Network request modification - as an example of a deep integration point: user agents may allow extensions to block, allow, or mutate network requests initiated by other parts of the user agent, such as an open web page. This capability has implications on aspects of the web platform including, but not limited to, authentication, identity, navigation, and session management.
Out of Scope
The following features are out of scope, and will not be addressed by this Working group.
-
Deployment and distribution mechanisms are out of scope, including
but not limited to:
- packaging format - the way extensions resources are bundled together for distribution to users
- methods for signing extensions
- extension stores
- User interface specifics are out of scope. However, discussions of user experience are within scope. For example, understanding user journeys related to permission management.
Deliverables
Updated document status is available on the group publication status page.
The Working Group intends to publish the latest state of their work as Candidate Recommendation (with Snapshots) and does not intend to advance their documents to Recommendation.
Normative Specifications
The Working Group will deliver the following W3C normative specifications:
- WebExtensions
-
This specification defines a model, permissions, and a common core of APIs for web browser extensions (hereafter WebExtensions).
Draft state: Adopted from WebExtensions Community Group
Expected completion: Candidate Recommendation Snapshots
- window.browser
-
This specification reserves the “browser” global identifier on the window object in user agents for WebExtensions purposes.
Draft state: Adopted from WebExtensions Community Group
Expected completion: Candidate Recommendation Snapshots
Other Deliverables
Other non-normative documents may be created such as:
- Use case and requirement documents;
- Test suite and implementation report for the specification;
- Primer or Best Practice documents to support developers when building WebExtensions;
Timeline
All specifications produced by the WebExtensions Working Group are expected to progress during this charter period. The Working Group homepage will link to a more comprehensive page with detailed status and estimated completion time for each specification.
Success Criteria
There should be testing plans for each specification, starting from the earliest drafts.
To promote interoperability, all changes made to specifications in Candidate Recommendation or to features that have deployed implementations should have tests. Testing efforts should be conducted via the Web Platform Tests project.
Each specification should contain separate sections detailing all known security and privacy implications for implementers, Web authors, and end users.
Each specification should 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.
This group is expected to be guided by the following documents:
All new features should have expressions of interest from at least two potential implementors before being incorporated in the specification.
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
- WebExtensions Community Group
- We will collaborate with this Community Group to facilitate early discussion with the extension developer community on work that may be taken on by the Working Group.
- Browser Testing and Tools Working Group
- We will work in partnership with this Working Group to add web extensions capabilities to WebDriver BiDi and to integrate the test suites we create into the Web Platform Test.
- Cascading Style Sheets Working Group
- We will collaborate with this Working Group on the styling requirements of extensions and their interactions with the presentation of web content.
- Threat Modeling Community Group
- We will collaborate with this group to integrate WebExtensions into the Threat Model for the Web.
External Organizations
- Unicode Consortium
- For co-ordination on topics relating to MessageFormat2 and localizable strings.
Participation
To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the Working Group. There is no minimum requirement for other Participants.
The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in Communication. The group also welcomes non-Members to make technical contributions for ongoing work, provided they agree to the terms of the W3C Patent Policy.
The Chairs should periodically look through the non-Members who have contributed to the Working Group or the WebExtensions Community Group and consider whether each one should be invited to participate as an Invited Expert. If a non-Member contributor would like to participate in meetings, they are encouraged to apply to be an Invited Expert.
Participants in the group are required (by the W3C Process) to follow the W3C Code of 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 in public repositories and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.
Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the WebExtensions Working Group home page.
Most WebExtensions Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.
This group primarily conducts its technical work on GitHub issues. The public is invited to review, discuss and contribute to this work.
The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a 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 and 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, GitHub issue or web-based survey), with a response period of 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised 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 May 2025). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications 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 | [dd monthname yyyy] | [dd monthname yyyy] | none |
Change log
Changes to this document are documented in this section.