Preview draft. Copy and visuals are pending review and may change before launch.

Practice

Authorization for browser extension permissions

The moment a permission request happens changes how informed the decision behind it actually is — and install time is the least informed moment of all.

← Back to the library

Product and Everyday Surfaces · Published 2026-09-06

A decision made before there's anything concrete to judge

An install-time permission bundles every capability an extension might ever use into a single request, approved once, before the extension has done anything the user can actually observe or evaluate. This is simple for both the developer and the user to get through quickly, and it's exactly this simplicity that makes broad over-requesting easy to get away with — a user facing one bundled prompt has little practical way to approve only what they actually care about while declining a capability buried in the same request that they'd rather not grant.

The timing compounds the problem: approving broad access to something not yet used at all is a considerably less informed decision than approving one specific capability at the concrete moment its purpose becomes apparent through actual use.

Shifting some of the request to the moment of actual need

A runtime permission request asks for a specific, narrow capability only when it's genuinely needed, rather than bundling it into an install-time grant covering everything the extension could conceivably use. This gives users a much more informed choice at each individual request, at the real cost of more frequent, smaller interruptions — a cost that itself needs careful design, since a user facing constant small prompts can become just as prone to reflexive approval as one facing a single large bundled one, if prompts aren't reserved deliberately for genuinely consequential moments.