Airglow SDKOpen SDK beta docs
Extension-owned runtimeOpen SDK beta
BoundariesDeveloper guide

Security And Permissions

What app code can access, which APIs require permissions, and where secrets should live.

Sandbox Model

BoundaryRule
Browser APIsApps cannot call chrome.* directly. All privileged work routes through airglow.*.
App identitySDK messages include app id; the handler validates sender URL or userScript world id.
StorageApp data is namespaced by app id. Apps cannot list another app's storage keys.
UserscriptsRun in USER_SCRIPT world with DOM access and isolated JS globals.
UI/startupRun in sandbox iframes with no direct extension API access.

Permissioned Capabilities

CapabilityPermission sourceRisk
Cookie fetchhost_permissions in manifestCan act as the logged-in user on matching origins.
OAuthExtension identity redirect URLMust validate returned state and exchange codes server-side.
Iframe allowairglow.platform.allowIframesRelaxes framing protections for selected domains.
Redirectsairglow.platform.registerRedirectsCan change user navigation for matching domains.
RPCApp server endpointCan hit paid APIs or process sensitive payloads.

Use server-side controls

If an RPC endpoint can spend money or process sensitive data, route it through server-side identity and rate limits. Do not put provider keys paid by Airglow in client settings.

Secret Placement

  • Use CLIENT_ settings only for values that may be visible to the extension/browser runtime.
  • Provider keys paid by Airglow belong on the server, never in CLIENT_ values.
  • Browser OAuth codes should be exchanged in server RPC functions.
  • Log redaction protects common sensitive keys, but app code should still avoid logging secret-bearing payloads.