Settings — Roles

The Roles settings page manages the permission-based roles that can be assigned to user accounts. Each role has a display name, a system name, a description, and a set of granular permissions. The built-in admin role cannot be modified or deleted.


Page Layout

┌─────────────────────────────┬──────────────────────────────────────┐
│  Roles list                 │  Role Detail panel                   │
│  [🔍 search]  [+ Add]       │  (opens at /settings/roles/:id)      │
│  ─────────────────────────  │                                       │
│  Role Display Name          │                                       │
│  Role Display Name          │                                       │
└─────────────────────────────┴──────────────────────────────────────┘

Add New Role

Clicking + (requires role:create) opens the Add New Role dialog with four fields:

Field Description
Display Name Human-readable name shown in the UI
System Name Internal identifier (e.g. deck-officer)
Description Free-text description of the role’s purpose
Permissions Full permissions picker (see below)

Role Detail Panel

Property Editable Permission
Display Name Yes role:update
System Name Yes role:update
Description Yes role:update
Permissions Yes role:update

All edit controls are hidden for the built-in admin role.

Action Buttons

Button Permission Description
Duplicate Role role:create Opens a pre-filled Add New Role dialog with the current role’s permissions copied; name, system name, and description must be filled in
Delete Role role:delete Requires confirmation; permanently removes the role

Both buttons are hidden for the admin role.


Permissions Picker

The permissions field uses a full-width, filterable, grouped picker:

  • Permissions are grouped by area (the part before : in the permission ID) and displayed in a 3-column responsive grid.
  • Within each area, the read permission is always listed first; other permissions are indented beneath it.
  • An All toggle at the top of each group selects/deselects all permissions in that group.
  • Unchecking a read permission automatically removes all other permissions in the same group.
  • A filter text box narrows the visible permissions by description.
  • Only permissions that the current operator themselves holds appear in the picker — operators cannot grant permissions above their own level.

← Back to Settings