Skip to main content
Every member has a role (Admin, Dev, Viewer) and a set of per-site permission keys. This page is the full inventory of the keys. Toggle keys from Team & access → Manage access on a member row. See Members and roles for the drawer and the presets.

Building

Publishing

Site shape

Changes to any of these change what the snippet does for every visitor. They all require publish because none of them go live otherwise.

Data and security

Sensitive

These prompt for confirmation each time.

Presets, again

For quick setup the drawer has:
  • Full access, every key on.
  • Standard dev, building + publish + pause + schedule; not IP block list, not danger zone.
  • View only, nothing on. For a stakeholder who reads results.
  • Clear all, every key off. Starting point for a bespoke role.

Companion enforcement

The drawer will refuse to save an invalid combination. Concretely:
  • Turning on Global JS without Publish experiments is impossible. the drawer flips Publish on with it.
  • Same for SPA, Analytics adapters, and Schedule experiments.
If someone had Global JS on without Publish before this rule was added (unlikely, but possible on old workspaces), the next save on their record promotes Publish and warns you.

Enforcement is server-side

The dashboard hides buttons a member does not have permission for. The worker also refuses the API call. A malicious client cannot bypass the UI to publish an experiment they do not have the key for.

Where the rest of this fits

  • The role is the ceiling. A Viewer cannot be granted publish, ever.
  • Site scope decides which sites the keys apply to. A member scoped to one site cannot publish on another, no matter what keys they have.
  • Admins have every key on every site by definition. Toggling keys on an Admin’s row is a no-op.