You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove activeTab from the Chrome package: redundant next to host permissions #61
Per the convention that permission-surface changes get a public Issue (CONTRIBUTING.md), and ahead of the v1.0 permission freeze and Chrome Web Store submission.
Analysis
The manifest requests activeTab alongside host_permissions for http://*/* and https://*/*. With broad host permissions present, activeTab grants nothing the extension does not already have. Chrome's restricted "on click" site-access mode is implemented by the browser withholding and re-granting host permissions on invocation, and does not depend on the activeTab permission. The Chrome Web Store requires the narrowest permission set that supports shipped functionality; a redundant entry works against review and against the store listing's permission-justification fields.
Change (targeting 0.11.0)
scripts/package-chrome.sh now strips activeTab from the staged manifest when building the Chrome zip, so the submitted Chrome package ships with storage, scripting, cookies, and host permissions only. This is the single point where the shipped Chrome manifest diverges from the repository manifest.
The repository manifest (which the Safari build mirrors) keeps activeTab for now. The previous permission-narrowing experiment broke Safari detection in unpredicted ways, so Safari-side removal is deliberately deferred to the Safari / App Store store-readiness pass, where it must be re-evaluated and tested before that submission. Until then, Safari intentionally ships the superset.
Verification
Chrome: load the packaged (trimmed) build, confirm detection, popup probe, and clear-site-data work
Chrome: set site access to "when you click the extension" and confirm on-click behavior still works without activeTab
Safari (deferred to Safari store-readiness): build with activeTab removed from the shared manifest and re-run the same checks before the App Store submission
Rationale documented in SECURITY.md's permissions section.
Status note: implementation is in flight on my local 0.11.0 store-readiness branch and lands with that release. No PR needed — this issue is the public record of the permissions change per CONTRIBUTING.md.
Chrome-side verification complete against the packaged 0.11.0 build (storage/scripting/cookies + host permissions only):
Trimmed package loads cleanly: no manifest errors, service worker running, i18n resolving
Default site access: ambient detection, toolbar icon states, and the popup (detection + version badge, logged-out actions, developer tools) all function
Site access set to "when you click": access correctly withheld (no ambient injection), a single click on the extension re-grants host permissions via Chrome's standard flow, reload-to-apply works, full function after grant — confirming the on-click mode never depended on activeTab
Shipped in v0.11.0. The remaining Safari checkbox moves to the Safari store-readiness phase (see the roadmap's new phase split); it will get its own tracking issue when that work starts. Closing.
Activity
jakemgold commentedon Jul 10, 2026
Status note: implementation is in flight on my local 0.11.0 store-readiness branch and lands with that release. No PR needed — this issue is the public record of the permissions change per CONTRIBUTING.md.
v0.11.0: Chrome Web Store readiness (#63)
jakemgold commentedon Jul 11, 2026
Chrome-side verification complete against the packaged 0.11.0 build (storage/scripting/cookies + host permissions only):
Shipped in v0.11.0. The remaining Safari checkbox moves to the Safari store-readiness phase (see the roadmap's new phase split); it will get its own tracking issue when that work starts. Closing.
Docs: launch-state README and ROADMAP, official store badges (#83)
Strip activeTab from the Chrome package at packaging time (WordPress#61)
ROADMAP: split Chrome and Safari store-readiness into separate phases
Docs: launch-state README and ROADMAP, official store badges