We requested the smallest possible set. Here is exactly what each one does and what would break without it.
| Permission | Why we need it | Without it |
|---|---|---|
| activeTab | Lets the side panel read the page you are currently looking at, only after you click the toolbar icon or press Alt+L. | The audit panel could not read titles, meta tags, schema, or links from the active page. |
| storage | Saves your dark-mode choice and the cached SERP-selector file across browser restarts. | You would have to re-set your theme on every load, and SERP overlays would re-fetch selectors each time. |
| sidePanel | Renders the audit UI as a Chrome side panel instead of stealing screen space with a popup. | The panel would have to be a small popup that closes whenever you click away. |
| scripting | Injects the page-extractor script into the active tab when you open the panel — runs locally, returns one structured object. | The panel could not pull data from the page you are auditing. |
| alarms | Schedules the once-a-day refresh of the SERP-selector file. | Selector updates would require an extension reinstall. |
Hosts are scoped tightly. The extension cannot read or modify pages outside this list.