Roles and permissions
The six team roles, what each can do, and how protected environments change secret access.
Every team member has exactly one role. The role decides what they can do with secrets in each environment, whether they can manage the team, and whether they can handle billing. Pick the least-privileged role that covers someone’s work: most people need developer, and many need only operator or viewer.
The six roles
Who each role is for, and what it can do with secrets in non-protected and protected environments:
Owner
The one person accountable for the team
Non-protectedRead and write
ProtectedRead and write
Admin
People who manage members, tokens and production
Non-protectedRead and write
ProtectedRead and write
Developer
Engineers who change configuration
Non-protectedRead and write
ProtectedRead-only
Operator
On-call and support staff who need to see production but not change it
Non-protectedRead-only
ProtectedRead-only
Viewer
People who need to see development configuration
Non-protectedRead-only
ProtectedNo access
Billing
Finance
Non-protectedNo access
ProtectedNo access
“Write” covers creating, updating, deleting and rotating secrets, and rolling back an environment.
A viewer is also kept out of any environment whose slug is production, even if someone removes its protection. Viewers still see that protected environments exist; they cannot read the secrets in them.
Permission matrix
Team, projects and environments
Create a project
OwnerAllowed
AdminAllowed
DeveloperAllowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Rename or delete a project
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Create, edit or delete environments, and set protection
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Manage environment keys for encrypted .env files
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Manage members, invites and team settings
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Create, rotate and revoke API tokens
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Configure SSO (Team plan)
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Read the audit log
OwnerAllowed
AdminAllowed
DeveloperAllowed
OperatorAllowed
ViewerAllowed
BillingAllowed
Audit log exports and access reviews (Team plan)
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Manage billing (checkout, portal, billing email)
OwnerAllowed
AdminAllowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingAllowed
Transfer team ownership
OwnerAllowed
AdminNot allowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
Delete the team
OwnerAllowed
AdminNot allowed
DeveloperNot allowed
OperatorNot allowed
ViewerNot allowed
BillingNot allowed
AI agents
Any member can connect an AI agent over MCP and approve what it may do, up to their own role:
Read secret names and values, inject secrets into a command
OwnerCan grant
AdminCan grant
DeveloperCan grant
OperatorCan grant
ViewerCannot grant
BillingCannot grant
Change secrets
OwnerCan grant
AdminCan grant
DeveloperCan grant
OperatorCannot grant
ViewerCannot grant
BillingCannot grant
Read the audit log
OwnerCan grant
AdminCan grant
DeveloperCannot grant
OperatorCannot grant
ViewerCannot grant
BillingCannot grant
List projects
OwnerCan grant
AdminCan grant
DeveloperCan grant
OperatorCan grant
ViewerCan grant
BillingCannot grant
Viewers and billing members cannot give an agent any secret access. The agent’s access is re-checked against the member’s current role on every call, so a downgrade or removal applies to their agents at once. Each member manages only their own agent connections.
Protected environments
Any environment can be marked protected in its settings, by an owner or admin. In a new project, production is protected by default.
Protection is about who may change an environment and who may see it:
- Owner, admin: read and write, as before
- Developer: keeps read access, loses write access
- Operator: unchanged, read-only
- Viewer, billing: no access to its secrets
Use protection for any environment where an accidental change reaches users.
Assigning roles
- Owners and admins choose a role when inviting someone (the dashboard suggests developer) and can change it later from the team page.
- Owner is not assignable. A team has exactly one owner. The assignable roles are admin, developer, operator, viewer and billing.
- Changing someone’s role revokes their CLI logins for the team, their agent connections and the API tokens they created. They sign in again under the new role; rotate any pipeline token they had made first. An agent connection is revoked whole, including the other teams it covered, so they reconnect their agent to keep access to those.
Ownership transfer
The owner can hand ownership to another member from the team settings. The previous owner becomes an admin, and the audit log records team.ownership_transferred.
Deactivated members
Deactivating a member schedules it, with a 7-day grace period:
| During the 7-day grace period | After it | |
|---|---|---|
| Access | The member keeps working | They keep their role but lose all access (secrets, team management and billing) until an owner or admin reactivates them |
| API tokens they created | Keep working | Stop working |
| Seat | Still held: it counts toward your plan’s member limit and is billed | Free: it no longer counts toward the limit or the bill, and you can invite, add or admit through SSO someone new into it |
| Reactivating them | Possible even when every seat is held, because they still hold their own | Needs a free seat, counted against the seats your plan pays for, paid Developer seats included |
Both steps are recorded in the audit log. The owner cannot be deactivated. To cut someone off immediately, remove them from the team instead.
API tokens are not role-scoped
An API token carries no member role. It can:
- Read the secrets of its team, within the projects and environments it is scoped to
- With write access, change them. It changes a protected environment only when it is scoped to that environment
- List the team’s projects and environments
It cannot:
- Create projects or environments
- Manage members, keys or tokens
- Read the audit log
Only owners and admins create tokens, and a token stops working when its creator leaves the team or changes role.