Extensions quality guidelines FAQ

Single purpose policy

Why did Google launch a "single purpose" Chrome extensions policy?

To maintain the quality of the Chrome user experience, we require Chrome extensions to have a singlepurpose. For an overview of the policy announcement, please read thisChromium blog post.

We launched this policy because unexpected changes to browser functionality and settings havebecome the number one user complaint for Chrome users, and this policy helps minimize the problemby ensuring users understand what extensions are doing. Also, multi-purpose extensions can crowdyour browser UI and slow down your web browsing sometimes significantly. Speed and simplicity havealways been part of Chrome's core principles, so this policy will help us get back to the design thatwas originally intended.

Where can I find the "single purpose" policy?

Please refer to theExtensions Quality Guidelines section of the Chrome Web Store DeveloperProgram Policies.

What does "single purpose" actually mean?

"Single purpose" can refer to one of two aspects of an extension:

  1. An extension can have a single purpose limited to a narrowfocus area or subject matter (forexample, "news headlines", "weather", "comparison shopping"). If the extension has a narrow focusarea or subject matter, then it can offer various functions related to that focus area or subjectmatter. For example, a shopping extension could have an action button that allows users tosee recent deals and have host access to find coupons for a store the user is currently browsing.

  2. Or, an extension can have a single purpose limited to a narrowbrowser function (for example,"new tab page", "tab management", or "web search provider").

Regardless of the extension's purpose, the experience provided by the extension must respect theuser's other settings and preferences.

Be conscious of your extension's permissions. We assume your extension utilizes each of thepermissions it requests. Excessive permissions unrelated to your extension's single purpose will beviewed as enabling unrelated functionalities, resulting in a policy violation.

Will this policy affect my extension?

It depends. Particularly if your extension offers multiple features, please make sure that it has asingle purpose. Ask yourself these questions:

  • Does my extension have a narrow focus area or a narrow function as described above?
  • If my extension has a narrow focus area, are all of the features directly related to that singlepurpose?
  • If my extension has multiple features, does it only affect a narrow function of the browser?
  • Does my extension modify Chrome's behavior in a predictable way, in line with the extension'snarrow, stated purpose?
  • Does my extension request any unnecessary permissions?

Enterprise extensions, published to a specific domain, are exempt from the Single Purpose Policy.

If you're unsure, you may want to post a question to thechromium-extensions GoogleGroup to get feedback from other extension developers.

What will happen if I don't make my extension compliant with this policy?

Extensions that violate this policy are not permitted on the Store, and will be removed.

Chrome changes

Can my extension make changes to the start page, home page, and new tab settings?

Yes. If the purpose of your extension is to modify one narrow function of the browser (either thestart page, home page or new tab page, for example), and it does only that, then it would becompliant with the single-purpose policy. Additionally, if the purpose of your extension is limitedto one focus area or subject matter, then you can have various functions related to that one area orsubject matter, including changes to the start page, home page and new tab page.

As of July 1, 2017, however, the only way to programmatically change the startup page, the home page,or the search provider settings in Chrome on Windows and Mac is via the Settings Overrides API. Ifyour extension modifies one of these functions, it must use the Settings Overrides API.

Where more than one extension modifies these Chrome settings, the most recently installed extensionwill manage the settings it has modified via the Settings Override API. Extension developers canmodify the new tab page (and a few other Chrome pages) using the sameoverride method asbefore.

In addition, if you want to publish an extension that modifies Chrome settings, you must eithercontrol any domains you wish to set in any changed browser settings or redistribute an extensioncreated by the entity that controls those domains. For example, you could distribute an extensionthat changes the home page to wikipedia.org if the Wikimedia Foundation originally created andpublished the extension in the Chrome Web Store, and gave you the right to distribute it.

Can my extension make changes to the default search settings?

Yes. If the only purpose of the extension is to change the default search settings, then it would becompliant with the single purpose policy. Making changes to the default search settings is a standalone feature and shouldn't be combined with any other functionality.

The only supported way to change the default web search settings using an extension is via the SettingsOverrides API. Extensions that change the default web search experience in any form, without using theSettings Overrides API, are subject to removal from the Chrome Web Store.

Can my New Tab Page (NTP) extension make changes to the user's web search experience?

No. NTP extensions that provide a web search experience must respect the user's existing web search settings byusing theChrome Search API. Altering a user's web search experience is considered a standalonefunctionality and shouldn't be coupled with any other features.

NTP extensions that contain AI chatbots or provide vertical search experiences, such as searching through a list of open tabs or a specific platform are allowed.

What is considered a "vertical search" experience?

Vertical search refers to search systems designed to focus on a specific type of content, dataset, or context, offering specialized results tailored to a particular domain or use case.

  • Examples:
    • Searching within a specific app (for example, searching through open tabs in your browser).
    • Searches limited to industry-specific platforms like Zillow (real estate listing sites) or Kayak (travel booking sites).
  • Purpose: To provide deep focus and precision within a defined scope.

What is considered a "web search provider experience"?

A web search provider experience, also referred to as horizontal search, refers to search engines or systems designed to index and provide results from a broad, general scope, covering a wide range of topics and content types across the internet.

  • Example: Google, Bing, or DuckDuckGo, which search across the entire web to return the most relevant results based on a query.
  • Purpose: To provide broad coverage and discoverability for diverse topics or content.

Can my NTP provide multiple web search options?

Yes, as long as the top or default option is determined by the user's default settings, your NTP can provide multiple web search options. For example, your NTP can contain a web search bar with a drop down list of web search providers. However, this must default to the web search provider the user has listed in their settings.

Can my NTP provide a "personalized search" experience?

If your NTP enhances the user's web search experience by personalizing results—such as using browser data to deliver more relevant queries—it is allowed, as long as the search provider aligns with the user's default settings.

Settings

How will users be notified of settings changes in new versions of Chrome?

If an extension changes Chrome settings via the Settings Override API, the user will be notified ofthe settings changes prior to installation, when they encounter the settings change for the firsttime, and via an indicator next to each changed setting on the Chrome settings page. From thesenotifications, users will have the option to reverse the settings changes by disabling theextension.

What happens to settings when an extension is disabled?

All Chrome settings changed by an extension will be reverted when that extension is disabled.

Will users' existing home page, search provider or startup pages be affected by the introduction of the Settings Override API?

No. A user's existing home page, search provider or startup settings will remain unchanged by theintroduction of Settings Override API. Following the launch of the Settings Override API, onlyextensions can programmatically change these settings and only through the Settings Override API.

Does this policy apply to Chrome apps too?

At this time, Chrome apps (as distinguished from extensions) are not required to be distributedthrough the Chrome Web Store, or to have a single purpose. Chrome apps are currently not capable ofchanging Chrome settings.

Other

Can I bundle ad injection with some other type of functionality?

No. This violates the single purpose policy. However, if injecting ads is the single purpose of theextension and the extension is otherwise compliant with Chrome policies, then it would beacceptable. For example, a "related articles" extension that adds sponsored links to articlesrelated to a page the user is visiting would be compliant with the single purpose policy because ithas a single purpose limited to a narrow function of the browser.

Are toolbars permitted under this policy?

It depends on what the toolbar does. Asdescribed above #3, it must adhere to the narrowsingle purpose of the extension. Broad, multi-purpose toolbars are not allowed and toolbars that areimplemented using content scripts to inject UI into every page are not recommended because they slowdown every page load, clutter the UI, and can lead to security problems for users. Instead, considerusing anaction popup, which was designed to solve this very problem. It's a betteruser experience, with no performance or security downsides.

What will happen to non-compliant extensions that were already installed by users?

All extensions must comply with the Extension Quality Guidelines. If a user installed anon-compliant extension, then you will need to update them to a compliant extension that is hostedin the Chrome Web Store. If the user is not updated to a compliant extension that is hosted in theChrome Web Store, then the extension will be automatically disabled. As noted above, any settings orbehaviors controlled by the extension, including any settings controlled by the Settings OverrideAPI, will be reverted when the extension is disabled. You can find more informationhere.

If my extension gets flagged for review under the single purpose policy, what will happen?

Our team will review it, and it may be removed from the Chrome Web Store. You'll have a chance tomake changes and appeal the decision.

If my extension's single purpose is to change the new tab page, can I use the action button?

The addition of an action button under the new Chrome UI (Chrome 49 and later), won't trigger a single purpose policy violation if the button only serves as a shortcut to theextension's main functionality. For example, if an extension's single purpose is changing the newtab page, clicking the toolbar icon can open a new tab page. The action buttonbutton, however, cannot introduce any additional functionality or content. If an extension's singlepurpose is a narrow subject matter or focus area, then the functionality and content of theaction button must likewise fall within that narrow purpose.

Why does Chrome display a confirmation prompt for some extensions?

Chrome makes it easy for users to retain agency over their preferred search settings. Modifyingsearch settings should be a purpose on its own, and when bundled with other functionalities, usersmay experience an unpleasant surprise. For these reasons, search extensions that stretch theirfunctionality beyond a clear single purpose will trigger a confirmation dialog. Search extensionsthat are limited to the single purpose of overriding search settings won't trigger a confirmationdialog.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-07-10 UTC.