Access control

Updated

Two mechanisms compose: roles, which are organization-wide, and grants, which are per project and per environment.

Roles

RoleCan
OwnerEverything, including billing, organization settings, key rotation, and deleting the organization
AdminManage members, projects, groups and machine identities; export secrets; read the audit log
DeveloperWork with the projects they are granted; request access to others
ViewerRead-only within granted projects

Roles alone do not grant access to a project's secrets - a Developer with no grant sees no projects at all.

Grants

Project access tab

A grant ties a user or a group to a project, with a level chosen per environment. The common shape:

EnvironmentEveryoneSenior engineersRelease managers
developmentreadread/writeread/write
staging-readread/write
production-readread/write

Effective access resolves in order: role -> direct grant -> group grant. The dashboard has an effective-access preview so an administrator can answer "what can this person actually see?" before it becomes an incident.

Groups

Granting access to a group instead of a person is what makes access survive staff changes. Add someone to "Backend Team" and they inherit every grant that group holds; remove them and the access disappears immediately.

Groups can also be populated automatically from your identity provider - see SCIM provisioning and Entra directory import.

Access requests

Developers and Viewers can request access to a project they cannot see, choosing environments, level and a reason. Administrators approve or deny from the dashboard; approving creates the grant and notifies the requester.

This keeps the default posture tight without turning every onboarding into a support ticket.

Organization isolation

Sessions and revocation

ControlEffect
Deactivate a memberImmediately revokes their browser and daemon sessions; login refused
Revoke all sessionsSame, without deactivating the account
Revoke one daemonThat machine stops receiving secrets
Session expiry policyCaps the absolute age of any login, regardless of refreshes
SCIM deprovisioningDeactivates and revokes everything, driven by your IdP