Citadel Docs
Reference

Permissions

Understand Citadel Roles, resource permissions, specific permissions, and overrides.

Citadel evaluates access through the current actor, assigned Roles and Teams, resource-level access, and explicit overrides. A visible UI control is not the authorization boundary; the API evaluates permissions again.

Use Access > Roles to view the permission matrix for the running instance. It is the authoritative list because Citadel adds resource types and specific operations as features are implemented.

Levels and capabilities

LevelWhat it grants
NoneNo grant from this entry. Other assignments can still grant access.
ReadRead operations, subject to any additional capability required.
WriteRead plus configuration operations.
ExecuteRead and Write plus execution operations, which can include deletion.

Capabilities such as Logs, Terminal, Apply, and Restore are additional checks. A higher level does not automatically select every capability. Requirements differ by resource; for example, applying a Deployment and applying a Stack use different base levels.

OperationRequirement on the named resource
Read Stack or Deployment logsRead + Logs
Open a Stack or Deployment terminalRead + Terminal
Edit Stack or Deployment bindingsWrite + Resource Bindings
Deploy a DeploymentRead + Apply
Deploy or roll back a StackExecute + Apply
View Stack releasesRead + Releases
Delete a Stack or DeploymentExecute
Restore a Backup Policy snapshotExecute + Restore

Dependent-resource access, resource state, and license capabilities can impose further requirements. Use the running instance's matrix and action explanation when diagnosing a denial.

Permission scope

Role permissions apply to a resource type and are granted directly or through an enabled Team. Resource overrides apply only to the existing resource selected in the grant.

Creating a resource requires global Write permission for its type. Write access granted only through an override permits editing that resource, but does not permit creating others. For example, a Backup Repository override does not grant permission to create repositories or policies; creating a policy requires global Backup Policy Write permission and access to its dependencies.

Backup API capabilities

The /api/v1/backupPolicies and /api/v1/backupRepositories list responses report permissions at two scopes:

  • Top-level capabilities describe global permissions for that resource type. The UI uses canWrite here to enable Add Policy or Add Repository, respectively.
  • Each resource's capabilities describe effective permissions for that resource, including applicable overrides.

A response can therefore have top-level canWrite: false while an individual resource has canWrite: true. This means the user can edit that resource but cannot create a new one. Top-level capabilities are not a summary of permissions on the returned resources.

Updating S3 repository credentials requires Write and Execute on the repository, plus Read on Bindings to select stored secrets. Validation through a Platform also requires Execute on that Platform. Name and description edits continue to require only repository Write.

Additive access

Citadel combines direct Roles, enabled Team grants, and resource-specific access. An override grants access; it cannot deny access inherited elsewhere. Reducing one entry to None does not remove another Role's grant. To restrict a person, review all sources of access, including Admin assignments.

Follow the single-resource access example and test using the affected account, including an unrelated resource that should remain inaccessible.

Service Accounts use the same authorization model as users but cannot use an interactive browser session. Avoid the built-in Admin Role for integrations; create a dedicated Role containing only the required resource and operation permissions.

On this page