Chrome Permission Audit

Manifest V3 'offscreen' permission explained: DOM parsing vs hidden activity.

Why did Chrome introduce the 'offscreen' permission in Manifest V3? Learn how extensions use offscreen documents for Readability parsing, audio, or clipboard tasks.

Best fit

Best for technical users and developers auditing Manifest V3 extensions that declare the 'offscreen' permission.

Technical Manifest Audit

Permission specification & risk profile.

Review how Chrome enforces offscreen in Manifest V3 and how to tell legitimate user-triggered extensions apart from intrusive tools.

Risk level: Loweroffscreen
Chrome install-time warning
None (displays no install-time warning in Chrome)
Manifest V3 declaration
{
  "manifest_version": 3,
  "permissions": ["offscreen"]
}
Legitimate uses vs. red flags
What to verify before granting this permission to an AI browser tool.

Legitimate AI reading uses

  • Parsing HTML with `DOMParser` or Mozilla Readability when a service worker (which lacks a `window`/`document` object) needs to clean article markup
  • Playing audio TTS in an extension since Manifest V3 service workers cannot play `Audio` directly

Red flags to watch for

  • Loading hidden third-party iframes inside an offscreen document to run background tracking scripts
Step-by-step workflow

How to run this workflow in place.

1

Understand why Manifest V3 added offscreen

Manifest V2 had persistent background HTML pages (`background.html`). Manifest V3 replaced them with Service Workers, which don't have access to `document` or `DOMParser`.

2

Check the stated `reasons` in `chrome.offscreen.createDocument`

Chrome requires developers to declare an explicit reason enum (such as `DOM_PARSER` or `AUDIO_PLAYBACK`) when creating an offscreen document.

Key details

Why this approach works better than switching tabs.

How Vezz me extracts clean article context without offscreen documents
When you enable `Detailed` page context in Vezz me and press `Ctrl+Shift+X`, Vezz me runs Mozilla's open-source Readability library locally inside the current tab to strip out navbars, ads, and footers before sending clean article context.
  • 100% local open-source `readability.js` bundled inside the extension
  • Executes only at the moment you trigger a question
  • Can be turned down to `Basic` or `Minimal` context in settings at any time
Frequently asked questions

Common questions about chrome permission audit.

Does the offscreen permission give an extension access to websites?

No. An offscreen document can only load a local HTML file packaged inside the extension itself, and its JavaScript access is limited to the `chrome.runtime` messaging API.

Related workflows & guides

Explore connected pages.

Available for Chrome and Firefox

Ready to try this workflow on your own reading?

Install Vezz me free, highlight text on any webpage, and press your customizable shortcut (default: Ctrl+Shift+X or Cmd+Shift+X on Mac) to get an answer right beside the source.