ExtensionTools
Explainers5 min read

Browser Extension Permissions Explained: What Each One Actually Does

Plain-language explanations of common Chrome extension permissions — activeTab, scripting, storage, tabCapture and host access — and what to check before installing.

By The ExtensionTools Team

The permissions dialog is the one moment when a browser extension tells you what it will be allowed to do — and the wording is often the least helpful part of the experience. "Read and change all your data on the websites you visit" describes a dozen wildly different tools, from a password manager to a screenshot utility.

This guide translates the common permissions into what they actually let an extension do, and what questions to ask before clicking "Add." We build browser extensions ourselves (here is everything we ship), so we also state plainly why our own tools ask for what they ask for.

Table of contents#

How the permission model works#

Chrome extensions declare the capabilities they need in a manifest file. Broadly, three kinds of things get declared:

  1. API permissions — access to specific browser features: storage, downloads, the clipboard, capturing tabs, and so on.
  2. Host permissions — which websites' content the extension may read or modify. This is the one with the largest blast radius.
  3. Optional vs. required — some permissions are requested up front; others can be requested later, at the moment a feature needs them, and you can decline those.

The store listing shows the required permissions before install, and Chrome shows a warning if an update requests new ones. Reading that list takes twenty seconds and is the single highest-value habit in extension hygiene.

The common permissions, translated#

activeTab — temporary access to the tab you just interacted with (for example, the tab where you clicked the extension's button). The access ends when the tab is closed or navigated. This is the narrow way to touch page content, and a good sign: it means the extension is not asking to read every page you ever visit.

scripting — the ability to run code inside pages. Paired with activeTab, it means "when you invoke me, I can act on this page." Screenshot and annotation tools need it to read the page's layout; without it they cannot know where elements are.

storage / unlimitedStorage — a key-value store for the extension's own settings and state (your preferences, recording history metadata). This is local to your browser. It does not by itself mean your data goes anywhere.

downloads — the ability to save files through the browser's download flow. Recorders and exporters need it to hand you the output file.

tabCapture — capture the audio/video stream of a tab. This is the permission behind tab recording. It is powerful and specific: an extension with it can record what a tab plays, and the browser mediates the capture prompt.

audioCapture / microphone — access to your microphone, requested through the normal browser media prompt. A recorder mixing your voice into a capture needs this.

contextMenus — adds items to the right-click menu. Cosmetic in terms of privacy; it just means the extension wires into that menu.

The big one: host access#

Host permissions are where the real risk gradient lives:

  • A specific site ("on example.com") — the extension can only touch that domain.
  • A pattern ("on *.example.com") — a bounded family of sites.
  • All sites ("on all websites") — the extension can read and modify page content anywhere. Some tools legitimately need this — a screen-recording helper that tracks the cursor across any page, for instance — but it is the permission to scrutinize hardest.

When you see "all sites," ask: does this tool's stated function happen on arbitrary pages, or could it work with narrower access? A coupon extension needs shopping sites; it does not need your bank.

A checklist before you install#

  • Match permissions to the job description. A screenshot tool asking for activeTab + scripting is coherent. The same tool asking for your browsing history is not.
  • Prefer extensions that ask narrowly and later. activeTab plus optional, on-demand permission requests beats broad up-front access.
  • Check who maintains it. A named developer, a support site, recent updates. Abandoned extensions with broad permissions are a standing risk.
  • Read what updates change. Chrome warns when an update adds permissions. Treat that warning as the real install dialog.
  • Remove what you no longer use. Old extensions keep their permissions forever. An annual sweep is cheap insurance.

Why our extensions ask for what they ask for#

Full disclosure, since we are the ones writing this guide:

  • Screenshot Annotation asks for activeTab, scripting, storage and contextMenus: it needs to read the layout of the page you are capturing (activeTab + scripting), remember your preferences (storage), and appear in the right-click menu. It does not ask for host access to all sites.
  • Web Video Recorder asks for tabCapture, offscreen, downloads, audioCapture and storage: each maps directly to a recording feature — capturing the tab stream, converting it locally, saving the result, mixing in your microphone.
  • Poindeo asks for activeTab, scripting, tabs, storage — and host access to all sites, because cursor tracking must work on whatever page you record. That is the broad permission in our lineup, and it exists for that reason alone.

Every one of these tools processes its data locally; none uploads your captures or recordings.

FAQ#

Does a permission mean the extension is always using it?#

No. A permission is a capability, granted continuously, but exercised only when the extension's code runs. activeTab in particular expires per interaction. The risk is what a hostile or compromised extension could do with the grant — which is why matching scope to purpose matters.

Can I revoke a permission later?#

Some — notably site access — can be managed per-extension in chrome://extensions. API permissions granted at install generally stay until you remove the extension.

Why do screenshot tools need to "run code on pages"?#

To capture an element accurately, the tool must read the page's layout — where an element starts and ends. That requires executing code inside the page, which is exactly what the scripting permission describes.

Editorial disclosure

We are the developers of the extensions documented on this site. This page describes the shipped version as we built and tested it — including its limitations — and was fact-checked on . Claims are based on our own testing of released builds; where third-party tools are named, their capabilities are described as documented by their publishers.

Tutorials

How to Take Annotated Screenshots in Chrome

Capture a page, snap the frame to the exact element, and annotate with arrows, boxes, zoom callouts and mosaic — without leaving the browser tab.

4 min read · by The ExtensionTools Team

Tutorials

How to Record a Browser Tab as Video or GIF

Record the video and audio playing in any browser tab, frame the exact region you need, and download an MP4 or GIF — all converted locally in the browser.

4 min read · by The ExtensionTools Team

Extensions mentioned in this article

Every tool we build is documented with its limits stated plainly.