Glossary

Definition

scope (manifest field)

Short definition

scope is a manifest field, for example "scope": "/app/", that defines the URL prefix the browser considers part of the installed app. Navigating within scope keeps the app in standalone mode; navigating outside it (such as to an external payment page) typically opens a normal browser tab or an in-app browser bar.

Reviewed July 21, 2026

A narrow scope like "/app/" prevents marketing pages at the site root from being folded into the installed app's window, which matters if those pages carry cookie banners or ads you do not want inside the app chrome.

If scope is omitted, it defaults to the directory of start_url, so a manifest at the site root with no scope field effectively scopes the whole origin.

start_url must fall within scope or the manifest is considered invalid for install purposes — Chromium checks this as part of its installability criteria.

On Android, leaving scope during a session shows a mini "Return to [App Name]" bar rather than fully exiting standalone mode, per Chrome's documented behaviour for out-of-scope navigation.

Related terms
start_url (manifest field)
start_url is the manifest field that sets the exact URL loaded when a user taps the installed app icon. It is resolved relative to the manifest URL, so "start_url": "/?source=pwa" launches the origin root with a query string you can use to distinguish installed-app sessions from browser-tab sessions in analytics.
Standalone display mode
Standalone is a value of the display field in a Web App Manifest. It tells the browser to launch the PWA in its own window with no address bar or tabs, so it looks and behaves like a native app. It is the most common display mode for installable PWAs.
Web App Manifest
A Web App Manifest is a JSON file (usually manifest.webmanifest) that declares your app's name, icons, start URL, theme colour and display mode. The browser reads it to render the install prompt and the home-screen icon.
display (manifest field)
display is the manifest field that chooses the browser chrome level for the installed app. Accepted values are fullscreen, standalone, minimal-ui and browser. "display": "standalone" is the most common choice because it hides the address bar and tab strip while keeping the OS status bar visible.
display_override (manifest field)
display_override is a manifest array, for example "display_override": ["window-controls-overlay", "standalone"], that lets a site opt into newer or experimental display modes such as window-controls-overlay on desktop, while still declaring a safe fallback. The browser walks the list in order and uses the first mode it understands.
theme_color (manifest field)
theme_color is a manifest field, e.g. "theme_color": "#0f172a", that tints the Android status bar, the task-switcher card header and, on some platforms, the browser toolbar while the site is open. It accepts any valid CSS colour value.