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 readiness, resources, tunnels, log drains, operation history, and operation logs
server:writeRegister, update, remove, cleanup, patch-plan servers, manage tunnels, or manage log drains

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, server, and log access. A user or token that can deploy, inspect services, read logs, or run server cleanup is still denied interactive service and host shell access unless terminal:open is explicitly granted. CLI terminal access follows the same rule and only opens interactive sessions, not one-shot command execution.

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.