Docs
Referencesince cloud@2026-09-10

Roles and permissions

The 36 permissions and the 7 built-in roles, and where a grant lands.

Settings then Roles lists what each person and machine may do. A role is a named set of permissions. A grant attaches one role to one person or one identity, at the workspace or at a project or a single environment.

The 36 permissions

Every slug is resource:action. Wildcards exist in the editor as shorthand and are never stored, so adding a permission can never quietly widen a role somebody already holds.

GroupPermissions
Secretssecret:read, secret:reveal, secret:write, secret:delete
Projectsproject:read, project:create
Environmentsenvironment:read, environment:create
Machine Identitiesmachine:read, machine:create, machine:issue, machine:revoke
Membersmember:read, member:invite, member:remove, member:role_assign
Rolesrole:read, role:manage
Single sign-onsso:read, sso:manage
Integrationsintegration:read, integration:connect, integration:configure, integration:run, integration:delete
Dynamic Secretsdynamic:read, dynamic:configure, dynamic:generate, dynamic:revoke
Audit Logaudit:read, audit:export
Billingbilling:read, billing:manage
Organizationorg:read, org:update, org:delete

The 7 built-in roles

They are seeded into every workspace and cannot be edited. A custom role is made by cloning one.

RoleGiven toWhat it holds
OwnerA personAll 36
AdminA personAll except org:delete
DeveloperA personDay-to-day work on values, projects, environments and identities, plus member:read, role:read, integration:read, integration:run, dynamic:read, dynamic:generate, audit:read and org:read
ViewerA personEvery :read permission
Billing AdminA personbilling:read, billing:manage, org:read
Secrets ReaderA machinesecret:read, secret:reveal, dynamic:generate
Secrets WriterA machineThose, plus secret:write and secret:delete

Viewer is derived from the catalog rather than listed by hand. secret:reveal is not a read permission, so it can never fall into Viewer by accident.

The first person in a new workspace gets Owner rather than Admin, so every workspace has somebody who can delete it.

Some actions carry no permission slug at all. These ask whether you are the workspace owner instead:

  • connecting your own encryption key
  • connecting a destination for the record
  • changing the two-factor requirement
  • deleting the workspace

Custom roles

/settings/roles/new clones a built-in role and lets you uncheck what you do not want. Only permissions you hold yourself are selectable. /settings/roles/[roleId] edits the name and the description afterward, along with the matrix. A built-in role answers 404 there.

Free allows 0 custom roles, so the page is unreachable on that plan. Pro and Enterprise allow as many as you like.

Nobody can grant more than they hold. The picker hides a role carrying a permission you lack at that scope, and the server checks again, because a form post goes around the picker.

Where a grant lands

ScopeWhere you grant itWhat it reaches
WorkspaceSettings then MembersEverything in the workspace
ProjectThe project's Access pageThat project and every environment in it
EnvironmentThe project's Access pageThat one environment

An environment's parent project is derived rather than taken from the form, so a grant on one project cannot authorize an environment in another. A check naming only an environment still finds a grant held on its parent.

There is no separate production unlock. Reading production is a role scoped to that project or that environment.

What each action needs

ActionNeedsConfirm it is youRecorded as
Open the roles listrole:readNonot recorded
Create a custom rolerole:manageNorole.created
Edit a custom rolerole:manageNorole.updated
Delete a custom rolerole:manageNorole.deleted
Grant a role at any scopemember:role_assign at that scopeNorole.assigned
Revoke a grantmember:role_assign at that scopeNorole.unassigned

None of the role.* entries appears in the action picker on the Audit Log page, and role has no family of its own there. Narrow by actor and date, then export. See browsing the record.

Next: sign in with your company login.