Two types of permissions
Yourmanifest.json contains two separate permission categories:
API permissions
Grant access to specific Chrome APIs such as
storage, tabs, scripting, or notifications. Declared in the "permissions" array.Host permissions
Grant access to specific websites or URL patterns. Declared in the
"host_permissions" array.Common API permissions
Host permissions
If your extension needs to run on or communicate with a specific website, you must list that site as a host permission.https://*.google.com/*— All subdomains of google.comhttps://example.com/shop/*— Only the/shoppath on example.com<all_urls>— Every website the user visits
Extensy always uses the most restrictive host permission that satisfies your prompt. If you ask for an extension that only runs on Wikipedia, Extensy will request
https://*.wikipedia.org/* — not <all_urls>.The least-privilege principle
Always request the minimum permissions your extension needs to function. There are three concrete reasons to do this:1
Build user trust
Users read permission prompts. Fewer permissions means more installs. Extensions that request only
activeTab feel far less intrusive than ones requesting tabs + history.2
Accelerate CWS review
Chrome Web Store reviews move significantly faster for extensions with a narrow permission footprint. Broad permissions like
<all_urls> trigger manual review and can delay publication by days.3
Limit blast radius
If your extension is ever compromised, having fewer permissions limits the damage an attacker can do using your extension’s identity.