Permissions
Manage Chrome permissions and host permissions from Settings → Permissions. ChromeShip validates them against Chrome Web Store policies before starting the runtime.

Chrome permissions
Type a permission and click Add. Remove any permission with one click. ChromeShip validates every permission — invalid values are rejected before the runtime starts.
Common permissions
| Permission | What it enables |
|---|---|
storage | Persist user data, settings, and state with chrome.storage |
tabs | Read tab URLs, create and close tabs, move tabs between windows |
scripting | Inject scripts and CSS into pages programmatically |
activeTab | Access the active tab when the user invokes the extension — no install-time warning |
sidePanel | Open and control the side panel surface |
identity | OAuth authentication via chrome.identity.launchWebAuthFlow |
identity.email | Read the user's Google account email (with consent) |
notifications | Push OS-level notifications from background or any surface |
alarms | Schedule periodic background tasks (replaces setInterval in MV3) |
offscreen | Run DOM-dependent APIs (clipboard, audio) from a hidden document |
Host permissions
Grant access to specific websites with URL patterns. ChromeShip adds them to host_permissions in the manifest.
https://api.example.com/* // all paths on a specific domain
https://*.example.com/* // all subdomains
<all_urls> // every site (Chrome Web Store review required)Optional permissions
Permissions in the manifest are requested at install time. For permissions users should grant on demand, use chrome.permissions.request() at runtime — ChromeShip does not manage optional permissions. Declare them manually in the manifest under optional_permissions.
Chrome Web Store review
Every permission increases review scrutiny. activeTab has no install-time warning — prefer it over broad host permissions when possible. The Chrome Web Store may reject extensions with overly broad patterns or permissions that don't match the extension's described functionality.
