Skip to main content

RBAC permissions

ThreatLens authorization is permission-based. Each API and admin action is guarded by a named permission key. Roles are simply named bundles of those keys — so you can build custom roles without any code change. For the how-to, see roles & access.

Permission catalog

CategoryPermissionWhat it grants
Usersmanage_usersInvite, enable, disable, and remove users
manage_rolesCreate roles and assign them to users
Tenantmanage_ssoConfigure SSO and group→role mappings
manage_billingManage billing and subscription
Providersmanage_provider_connectionsAdd, edit, and remove model-provider connections
edit_provider_trustSet the trust tier of a provider/destination
Policyedit_enforcement_matrixEdit the policy matrix (class → action)
edit_policy_modeSwitch monitor ↔ enforce
edit_classification_rulesEdit classification / custom detection rules
edit_redaction_rulesEdit redaction behavior
view_policy_auditView policy-change history
Exceptionsview_exception_requestsSee pending approval requests
approve_exceptionsApprove held requests
deny_exceptionsDeny held requests
request_exceptionsSubmit an exception/approval request
Incidentsreview_incidentsReview flagged incidents
Auditview_all_audit_logsView every user's audit records
view_own_audit_logsView one's own audit records
export_audit_logsExport audit/event data (e.g. to SIEM)
Generalview_dashboardView dashboards and reporting
use_gatewaySend requests through the governed gateway

Default roles

Six roles ship by default. The Tenant Owner holds every permission and cannot be locked out (last-owner protection). New users are assigned User by default.

RolePurposePermissions
Tenant OwnerFull control of the tenantAll permissions
Security AdminOperates providers, policy, and incidentsProvider, policy, incident, exception, audit, and dashboard permissions
Policy ManagerOwns the policy matrix and rulesPolicy + classification/redaction editing, policy audit, dashboard
ApproverHandles exception requestsView / approve / deny exceptions, dashboard
AuditorRead-only oversightView all audit logs, export, policy audit, dashboard
UserEveryday governed AI useuse_gateway, view_own_audit_logs, request_exceptions
Custom roles need no code

Because guards check permission keys, you can compose any subset into a new role from the Roles page — the gateway and admin APIs enforce it immediately.

Audit

Every change to users, roles, and access is recorded as a control-plane audit event — see audit events and the RBAC audit log.