Skip to content

Concepts

Keys, permissions and sign-in

The keys and tokens websites, scripts and agents use, how permissions are decided, and how sign-in is protected.

Explanation2 min read

Keys and tokens

Public delivery key
Prefix
cms_pk_
For
Published content only, so it may be used in browser code
Secret delivery key
Prefix
cms_sk_
For
Drafts too. Server only: refused when sent from a browser on another website
Management token
Prefix
cms_mt_
For
Scripts acting as a person
Agent key
Prefix
cms_ag_
For
AI agents over MCP

Each key is shown once, when it is created, and only a hash of it is kept, so a lost key cannot be looked up: create a new one and revoke the old one. Delivery keys belong to one environment.

On API keys, a key can be renamed at any time without affecting its token. Revoke stops it working straight away and cannot be undone. Only a revoked key can be deleted, which removes it from the list; the toast offers Undo for a few seconds, and the audit log keeps the record. The SDK refuses a secret key in browser code, so it cannot end up in a public bundle.

Permissions

A person has a role in the organisation, and optionally another in a space. A role is a set of permissions such as content:publish. Built-in roles can be adjusted per organisation, and organisations can add their own. A person limited to some regions can change only those. See Roles and permissions.

A management token acts with the permissions of the person who created it, can be limited to reading, and has an expiry date. It stops working when it expires, is revoked, or the person no longer has access.

Agents

AI agents act for a person through MCP, with an agent key or by signing in. Their permissions are the person's, capped to a short drafting list, and kept out of Production unless allowed. A person approves what they draft before it goes live. See Connect an AI agent over MCP.

Signing in

People sign in through Bifröst Orbit, with Microsoft, Google Workspace or a six-digit code sent by email, as their organisation allows. CMS Orbit has no passwords of its own.

  • Email codes expire after 10 minutes, work once, and a new code cancels the old one.
  • Codes are rate limited per address and per network, and a code stops working after five wrong tries.
  • The sign-in page answers the same way whether or not an address has an account.
  • Sessions are kept in a secure, HTTP-only cookie and last at most eight hours.

Was this page helpful?

Read next