Skip to main content
ThreatLab controls access through a capability-based permission model rather than a flat role hierarchy. Permission roles grant specific capabilities, and a user’s effective access is the union of all capabilities across every permission role they hold. Title roles are purely cosmetic — they affect how your name appears in the UI but grant no permissions whatsoever. This separation keeps authorization decisions explicit and auditable.

Role Types

Permission Roles

Grant one or more capabilities. Every authorization decision in ThreatLab — server actions, API routes, and UI elements — is gated on a specific capability drawn from a permission role. A user can hold multiple permission roles; their effective capabilities are the combined set.

Title Roles

Display-only labels such as SOC Lead, Instructor, or Engineer. Title roles appear next to your name in the platform but carry no permissions and are never checked during authorization.

System Roles

Two roles are built into ThreatLab and cannot be modified or deleted:
RoleKindCapabilities
adminPermissionAll capabilities. Grants unrestricted access to every gated feature.
analystPermissionNone by default. Assigned automatically to every new user on sign-up.
Additional title roles — such as Engineer and Instructor — are pre-configured on every ThreatLab instance for cosmetic use.

Capabilities Reference

The table below lists every capability in ThreatLab, its display label, and what it authorises you to do:
CapabilityLabelWhat it lets you do
manage_usersManage usersEdit user profiles, ban or unban accounts, and assign roles to other users.
manage_exercisesAuthor exercisesCreate new exercises and edit existing ones, including archive sections and steps.
curate_pathsCurate learning pathsPromote learning paths to curated or onboarding status on the dashboard.
manage_rolesManage rolesCreate custom roles and assign capabilities to them.
view_statusView platform statusAccess the Icinga-backed health dashboard at /admin/status.
review_notebooksReview notebooksRead analysts’ private investigation notes for coaching and assessment.
view_user_historyView user historySee any user’s exercise progress, completions, and notebook history from user management.
manage_noise_logsManage noise logsCreate and schedule background noise log dispatch jobs that ship events to one or more SIEMs.
force_siem_pushForce SIEM pushBypass the exercise SIEM upload cooldown and force a fresh archive shipment on start or redo.

Checking Your Own Capabilities

You do not need to memorise which roles you hold. ThreatLab surfaces your permissions in two practical ways:
Contact your ThreatLab administrator to have roles assigned to your account. Administrators manage role assignments under Admin > Users.