Users
The Users dashboard (/dashboard/users) is where tenant-scoped admins manage who can sign into the Control Plane and what they can do once in.
Requires users.read to view; users.write to invite / suspend / resend; roles.assign to change roles. A tenant context is required for non-super-admins.
Tabs
- Users — directory, invite, activate, role, suspend, disable
- Roles — role catalog with permissions
Users tab
Invite User button (RBAC-gated on users.write, disabled when the license user limit is reached) opens the invite form at /dashboard/users/invite.
Users table
| Column | Description |
|---|---|
User's email address (or user_id as fallback) | |
| Status | invited / active / suspended / disabled |
| Role | Role ID (tenant-scoped) |
| Created | UTC timestamp |
| Last Login | UTC timestamp or - |
| Actions | Role selector + Save, Status selector + Save, Resend Invite |
Per-row actions:
- Save Role →
POST /dashboard/users/{user_id}/role(requiresroles.assign) - Save Status →
POST /dashboard/users/{user_id}/status(requiresusers.write) - Resend Invite →
POST /dashboard/users/{user_id}/resend-invite(disabled whenstatus=active)
Roles tab
Lists every available role in the tenant's role catalog. Each card shows:
- Role title
- Description
- Permission badges (e.g.
audit.read,approvals.decide,policies.write,nodes.write,users.write)
Default tenant roles:
| Role | Typical permissions |
|---|---|
| Viewer | audit.read, approvals.read, agents.read, nodes.read, policies.read, users.read |
| Operator | Viewer + approvals.decide |
| Policy Admin | Operator + policies.write, agents.write, nodes.write |
| Admin | Policy Admin + users.write, roles.assign, audit.export, billing.read |
Additional internal roles (super_admin, billing_admin) exist for multi-tenant hosting and are not exposed to tenant admins.
RBAC
- View directory / roles:
users.read - Invite / suspend / resend:
users.write - Change role:
roles.assign
Related
- Account — the signed-in user's own sessions