Skip to main content

Scopes

DaoFlow uses 26 colon-delimited scopes to control access to every operation.

Scope Format

Scopes follow the pattern resource:action:

  • server:read — read server data
  • deploy:start — start a deployment
  • backup:restore — restore from backup

Complete Scope Reference

Infrastructure

ScopeDescription
server:readList servers, view connectivity status
server:writeRegister, update, or remove servers

Deployment

ScopeDescription
deploy:readView deployment history, steps, and status
deploy:startQueue a new deployment
deploy:cancelCancel an in-progress deployment
deploy:rollbackRoll back to a previous deployment
service:readList services, view service config
service:updateUpdate service configuration

Data and Secrets

ScopeDescription
env:readList environment variable keys (values masked)
env:writeCreate, update, or delete environment variables
secrets:readRead unmasked secret values (highly restricted)
secrets:writeCreate or rotate secrets
volumes:readList persistent volumes and mount status
volumes:writeRegister or remove volumes
backup:readView backup policies and run history
backup:runTrigger a backup
backup:restoreRestore from a backup artifact

Observability

ScopeDescription
logs:readStream and search deployment and container logs
events:readView structured event timeline
diagnostics:readView agent-generated failure analysis

Administration

ScopeDescription
members:manageInvite, remove, and change roles
tokens:manageCreate and revoke API tokens
approvals:createRequest approval for a gated action
approvals:decideApprove or reject pending approval requests
terminal:openOpen an interactive terminal session (exceptional)
policy:overrideOverride policy-enforced guardrails

terminal:open stays intentionally separate from deployment and log access. A user or token that can deploy, inspect services, or read logs is still denied interactive shell access unless terminal:open is explicitly granted.

Scope Enforcement

Scopes are checked at two levels:

  1. Role capabilities — what the principal's role allows
  2. Token scopes — what the API token explicitly grants

The effective permissions are the intersection of role capabilities and token scopes. A token can never exceed the capabilities of its principal's role.