cwspy.com · July 16, 2026 · 7 min read

Chrome Extension Enterprise Policy Explained

Chrome extension deployed to managed devices via enterprise policy

Not every install of your Chrome extension comes from someone finding it in the store. In managed environments — companies, schools, government — a Chrome extension enterprise policy decides what runs: extensions are pushed, allowed, or blocked centrally, using the ExtensionInstallForcelist, ExtensionInstallAllowlist, and ExtensionInstallBlocklist policies. If you have ever seen a user report "installed by enterprise policy" next to your extension, or wondered why an install cannot be removed, this is why.

Can I remove an extension installed by enterprise policy?

Not from the browser itself — this is the most common support question the "installed by enterprise policy" label generates. The ExtensionInstallForcelist policy removes the uninstall option from chrome://extensions entirely, and no user-facing toggle brings it back. Removal has to happen at the policy level, by whoever manages the organization's Google Admin console — not by the person using the browser. If you are that user and need the extension gone, the request goes to your IT department, not to Chrome's settings. For every other case — where the extension can be removed and simply will not go — see how to remove a Chrome extension.

How enterprise-managed installs differ from a normal store install

AspectNormal installEnterprise-managed install
How it happensUser finds the listing and installs it themselvesIT admin pushes it via Google Admin console policy to managed devices
Can the user remove it?Yes, any timeNo — it is grayed out with an "installed by enterprise policy" note; only the admin can remove it
Does it count toward your public user number?YesYes — Chrome does not separate the two counts in the public listing figure
Does the user see your listing page first?Usually, yesOften no — it appears already installed, with no discovery step at all

For a developer, this matters most in two situations: your own extension is deployed by organizations at scale (common for productivity, security, or collaboration tools), or you are trying to interpret your install and rating numbers and cannot square them with what your marketing efforts would predict.

What changes for a Manifest V3 extension deployed by policy

  • Permissions still matter, arguably more. Admins reviewing what to allowlist look closely at requested permissions and host_permissions (split apart under Manifest V3) before approving an extension for their org — an over-broad request can get your extension blocked at the policy level even if end users never see a permission prompt.
  • Updates still go through the Chrome Web Store review pipeline — enterprise deployment does not bypass store review, it only bypasses individual user install consent.
  • Manifest V2 deprecation applies here too. A forcelisted Manifest V2 extension is subject to the same disabling timeline as anywhere else — if anything, the impact is larger, since it silently affects every managed device at once rather than one user at a time. See our Manifest V2 deprecation guide if that is the situation you are dealing with.

What the policy actually looks like

Admins set this through a JSON-structured policy value in the Google Admin console (or via the Windows registry / macOS configuration profile for unmanaged Chrome). A forcelist entry pairs your extension's store ID with an optional custom update URL:

PolicyWhat it does
ExtensionInstallForcelistInstalls the extension automatically and prevents removal
ExtensionInstallAllowlistPermits users to install it themselves, blocked otherwise
ExtensionInstallBlocklistPrevents installation entirely, even from the store
ExtensionSettingsNewer, more granular policy covering all three plus per-permission controls (see chromeenterprise.google/policies)

See Google's Chrome Enterprise policy reference for the exact syntax if you are on the admin side of this rather than the developer side.

Why your numbers might not match your marketing

A spike in users with no matching spike in store traffic, reviews, or organic search impressions is a common signature of a large organization forcelisting your extension — not a marketing win you can attribute to anything you did.

Say you track your extension's public user count and see growth that lines up with nothing — no launch, no promotion, no ranking improvement. An enterprise deployment is one of the more likely explanations. Worth knowing before you spend a week reverse-engineering a growth channel that was never a channel at all.

The reverse signature is worth recognising too. A sudden drop of a few hundred or a few thousand users, with no rating change and no negative reviews, is rarely a product problem — it is usually one organisation removing your extension from its policy, or an admin replacing it with something they procured instead. The distinction matters because the two situations call for opposite responses: a product problem is fixed in the product, a lost deployment is recovered through whoever made that decision, if at all.

This is also why an unexplained user-count movement is worth dating precisely. Managed rollouts land as a step, not a slope — hundreds of installs appearing within a day, then flat. Organic growth from a ranking improvement or a mention somewhere looks nothing like that. If you keep a record of where your extension sits in store search over time, the two are easy to tell apart after the fact; without one, they blur into "we grew last month" and the lesson is lost.

If you want to be enterprise-friendly on purpose

  1. Keep permissions minimal and well justified — this is the first thing an IT admin evaluates before allowlisting anything.
  2. Publish a clear privacy policy and be explicit about data handling; procurement reviews look for this even when individual users never would.
  3. Maintain a predictable update cadence — unmaintained extensions are a security liability admins actively screen for.
  4. Stay ahead of platform deprecations like Manifest V2 — an admin who has to explain a sudden mass-disable to their organization is unlikely to allowlist that developer again.

Which Chrome policies control extensions?

Four policy keys do almost all of the work, and knowing which one an admin reached for explains most of the behaviour you see from the outside. They are all listed in the Chrome Enterprise policy list, which is the canonical reference and worth linking to when an IT team asks you how to deploy your extension.

PolicyWhat it doesWhat the user sees
ExtensionInstallForcelistInstalls your extension automatically and pins it in placeAlready installed, Remove greyed out, "installed by your administrator"
ExtensionInstallAllowlistPermits only the listed extensions to be installed at allCan install yours; everything not on the list is blocked
ExtensionInstallBlocklistBlocks specific extensions, or all of them with a wildcardInstall button fails, usually with a policy message
ExtensionSettingsOne combined key: install mode, permitted permissions, update URL, per-extension rulesAny of the above, plus blocked permissions inside an otherwise allowed extension

ExtensionSettings is the one that surprises developers. It can allow your extension while denying individual permissions it requests — so the extension installs, runs, and quietly fails at the one feature that needed the blocked permission. Nothing about that reaches you as a bug report; it arrives, if at all, as a confused review.

How do you get your extension allowlisted?

There is no submission queue and no form on Google's side — allowlisting is a decision made inside each organization, in its Admin console. What you can do is make the decision easy for the person making it. In practice an IT admin evaluating an extension checks the same short list every time:

  1. The permission list, first and last. Broad host access on a narrow tool is the single most common reason an extension does not get allowlisted. Ask for the minimum, and say in the listing why each one is needed.
  2. Where the data goes. A privacy policy that names what leaves the browser, and what does not, answers the question procurement will ask anyway.
  3. Who maintains it. A recent update history reads as a maintained product; a two-year gap reads as an unpatched liability.
  4. The extension ID, stated plainly. Admins deploy by ID, not by name. Publishing yours somewhere obvious — your docs, your site — removes a step from their work.
  5. Deployment notes. A short page describing how to add your extension via Google's own force-install instructions costs an afternoon and converts far better than any marketing page for this audience.

None of that is search-visible work, which is exactly why so few extensions do it. Enterprise installs are unusually sticky: they do not churn on a whim, they renew with the fleet, and they are invisible to every competitor watching only the public store.

If you find you have been blocked rather than merely not allowlisted, treat it as information rather than a verdict. Blocklisting is usually a category decision — a whole class of extension ruled out for a policy reason — rather than a judgement on your code, and the person who made it can normally tell you which requirement you failed. The two answers you will hear most often are a permission you could scope down and a data-handling question your privacy policy did not answer. Both are fixable, and both are worth fixing regardless, because they are the same things ordinary users hesitate over at the install dialog.