// wiki / rbac

The right access for every person

Role-based access control protects your organization’s flags by separating administration, day-to-day flag work, and read-only oversight.

Account roles

Three roles, clearly separated

Every member receives a role inside the organization. Assign the lowest level that lets them do their job; access can be raised later without sharing credentials or creating a separate flag workspace.

Admin
Full org control

Runs the account

Manages members, roles, billing, approvals, credentials, webhooks, streaming keys, kill switches, and other organization-wide administration.

Best for account owners, platform leads, and trusted operations staff.

Editor
Build & operate

Manages flags

Creates and edits flags, targeting rules, variants, rollouts, dependencies, notes, groups, and environment configurations. Editors can archive flags, but permanent deletion remains admin-only.

No billing, member management, approvals, credential issuance, kill-switch control, or webhook and streaming-key administration.

Viewer
Read only

Keeps everyone informed

Views the organization dashboard, flags, configurations, audit information, and evaluation results without changing live behavior.

Best for project managers, executives, support teams, and stakeholders who need a reliable overall view.


The Viewer role uses viewer in application API role values. Management API keys separately use the key scope management-reader.

Access at a glance

What each role can manage

CapabilityViewerEditorAdmin
View dashboard, flags & organization dataYesYesYes
Flags
Create flags flags.createGrantYesYes
Edit and toggle flags, targeting, variants & rollout flags.editGrantYesYes
Permanently delete flags flags.deleteGrantGrantYes
Manage flag groups flags.manage_groupsGrantYesYes
Manage reusable flag templates flags.manage_templatesGrantGrantYes
Manage user groups & per-flag security flags.securityGrantGrantYes
Automation & rollout safety
View flag automation automation.viewGrantYesYes
Create, edit, run, suspend & delete automation automation.manageGrantYesYes
View approval requests approvals.viewGrantGrantYes
Approve or reject protected changes approvals.decideGrantGrantYes
View kill-switch status killswitch.viewGrantGrantYes
Engage or clear the kill switch killswitch.manageGrantGrantYes
Insights
View flag analytics analytics.viewGrantYesYes
View evaluation performance performance.viewGrantYesYes
View change log changelog.viewGrantYesYes
View client integration error logs errorlogs.viewGrantYesYes
Configuration
Add, rename, disable & remove environments manage_environmentsGrantYesYes
Add, rename & remove applications manage_applicationsGrantYesYes
View cache state cache.viewGrantYesYes
Purge evaluation cache cache.purgeGrantYesYes
Developer tools
Use Feature, HTTP & GraphQL testers tester.useGrantYesYes
View SDK setup sdk.viewGrantYesYes
View API reference apidocs.viewGrantYesYes
Integrations & keys
Manage webhooks webhooks.manageGrantGrantYes
Create, rotate & revoke management keys managementkeys.manageGrantGrantYes
Create, rotate & revoke streaming keys streaming.manageGrantGrantYes
People & account
View and manage eligible users users.viewGrantYesYes
View subscription & billing billing.viewGrantGrantYes
Yes — included by the base roleGrant — available through an enabled Custom Access level

Custom Access can also remove a normally included Editor capability. Admin access is fixed and is never narrowed by a custom level.

Automation follows the same split as other protected changes: Editors and Admins can create, validate, and manage a plan's lifecycle; approval decisions default to Admin. Viewers can see organization planned events, while opening a flag’s Automation workspace requires automation.view. See Flag automation for the full guide.

Custom access settings

Build a role around the job

Admins can create named access levels from Settings → Custom Access, choose a Viewer or Editor base, and make the checked capability list the member’s complete effective access. This supports both elevation and restriction without inventing another global role.

Grant above the base role

Give a Viewer selected delivery tools, or give an Editor a normally admin-only action such as approvals, flag deletion, per-flag security, webhooks, or key management.

Take access away

Unticking a capability the base role normally owns removes its navigation item, blocks direct route access, and is enforced again by the server endpoint.

Assign once, update everyone

Assign a named level from Settings → Users. Editing the level changes every assigned member on their next request; the expanded level shows exactly who is affected.

Draft, enable, or suspend

Levels have names, descriptions, base roles, grouped select-all controls, and an on/off switch. Turning one off keeps assignments but returns members to plain base-role access until it is enabled again.

Resource-level access works alongside capabilities

The flags.security capability opens Settings → User Groups and each flag’s Security tab. Assigning groups to a flag hides that flag from everyone outside those groups, while administrators retain access. Authorized group members see the restricted flag throughout the UI and tester dropdowns; unauthorized users cannot discover it through lists or direct routes.

Protection model

How organization flags stay protected

A role is only one part of the decision. Every request is authenticated, tied to an organization, checked against the requested action, and then checked again against the resource being accessed.

01 / IDENTITY

Authenticated membership

The signed session identifies the member, their effective organization role, and the organization they are working in.

02 / TENANT SCOPE

Organization isolation

Data queries are scoped by organization. Ownership checks also prevent a flag or configuration identifier from reaching another organization’s records.

03 / AUTHORIZATION

Action-level enforcement

The server enforces role rules on every protected endpoint. Hiding a button in the interface is a convenience, never the security boundary.

04 / CHANGE CONTROL

Approvals and audit history

Protected environments can require admin approval for editor changes, while audit records preserve who changed what and when.

Recommended setup

Match access to responsibility

Few admins

Keep account, billing, credentials, and production safety controls with a small trusted group.

Editors for delivery teams

Give engineers and product operators the tools to ship without opening administration access.

Viewers for visibility

Let leadership and project teams follow status and outcomes without risking an accidental change.

Service credentials

Human access and machine access stay separate

Dashboard members use authenticated sessions. Applications and automation use purpose-built keys with narrower scopes, so a service receives only the access it needs.

Management keys

Admins issue keys with explicit evaluate, read, or write permissions and can restrict them to specific applications and environments.

Streaming keys

Admins issue keys pinned to a flag and environment for real-time updates. They do not grant access to management endpoints.

Key secrets are shown once when created or rotated and are not stored in a form that can be displayed later.