Purple Potassium

Purple Potassium: Excessive permissions

The reviewer found a permission in your manifest that your code does not use, or a broader one than your feature needs. You fix it by deleting or narrowing entries. A clever justification will not get it through.

The fix: rejected โ†’ fixed

manifest.jsonโˆ’ rejected+ fixed
{  "manifest_version": 3,  "name": "PR Notes for GitHub",Removed:   "permissions": ["tabs", "storage", "cookies", "scripting"],Removed:   "host_permissions": ["<all_urls>"],Added:   "permissions": ["storage"],  "content_scripts": [{Removed:     "matches": ["<all_urls>"],Added:     "matches": ["https://github.com/*/pull/*"],    "js": ["content.js"]  }]}

This extension only works on GitHub pull requests, and a declared content script needs no extra host permission for its own matches. So <all_urls>, tabs, cookies and scripting (none of which the code called) all went. Only storage remains.

Why you got Purple Potassium

  • "tabs" requested just to read the current tab's URL from a popup. "activeTab" covers that when the user clicks your icon.
  • "<all_urls>" or "*://*/*" host access when the extension only works on one or two sites.
  • Leftovers from a boilerplate or tutorial: "cookies", "history", "webRequest" or "notifications" with no matching chrome.* call.
  • Content scripts injected on every site when the feature only runs on one domain.
  • Permissions added "for later" that the current version never uses.

Pre-resubmit checklist

Your ticks are saved in this browser.

Common mistake: Appealing without changing anything rarely works for this code. If you truly need a broad permission, the appeal has to name the exact feature that uses it and why a narrower option can't work.

Appeal or resubmission note

Replace the [BRACKETS], then use the appeal link in your rejection email. Keep it short and factual, and list only changes you actually made.

Hello Chrome Web Store team,

My item [EXTENSION NAME] (ID: [ITEM ID]) was rejected with reference Purple Potassium.

I have reviewed the policy and made the following changes in version [NEW VERSION]:
- Removed unused permissions: [LIST].
- Replaced "tabs" with "activeTab" (we only read the tab the user clicks on).
- Narrowed host access from all sites to [DOMAINS].

[ONE SENTENCE ON WHAT THE EXTENSION DOES AND WHY IT NEEDS WHAT REMAINS.]

I have resubmitted the updated package. If anything still does not comply, I would appreciate a pointer to the specific file or listing field so I can fix it.

Thank you,
[YOUR NAME]

Google's own wording for this code is on the Chrome Web Store troubleshooting page under "Excessive permissions".

Other fix guides