Skip to content

Tokens & delegation

Every request carries a bearer token. A token has a principal (who it's for), a set of capabilities, and an optional project scope.

Capabilities

CapabilityGrants
deploycreate projects, deploy, restart, env, view status
scalechange replica counts
provision_datastoreadd/query/back up/restore datastores
manage_domainscustom domains (M3)
manage_dnsDNS records (M3)
expose_tcpraw TCP / dedicated IPs (M3)
smtp_egressoutbound port 25 (M3)
deletedelete projects
admineverything, plus token management

The default automaton token holds everything except delete, smtp_egress, and admin.

Issuing & delegating

sh
conway tokens issue \
  --principal child-agent \
  --caps deploy,scale \
  --projects my-app \
  --expires-in-hours 24

The delegation rule: a non-admin token can only grant capabilities it already holds, scoped to projects it can already access. So an agent can safely mint a narrower token for a child agent — it can never escalate. The secret is returned exactly once.

sh
conway tokens list              # admin: see all tokens
conway tokens revoke <id>       # admin: revoke immediately

This is the mechanism for multi-agent setups: a coordinator holds a broad token and hands each worker a deploy-only token scoped to one project.

Deployed on AgentCloud itself.