Skip to content

Roles and permissions

NovaVMS has five roles. This page lists every capability each role has.

The five roles

  • Owner — one per org. Billing, transfer-ownership, org deletion, NovaVMS Support toggle.
  • Admin — org-wide governance. Users, roles, audit log, LLM model, secrets.
  • Operator — org-wide operations. Cameras, gateways, alert rules, prompt packs.
  • Viewer — site-scoped read. Live streams and events at assigned sites only.
  • Platform admin — cross-org via 30-minute scoped impersonation. Novalien staff only.

Capability matrix

CapabilityOwnerAdminOperatorViewerPlatform admin
Governance — identity, secrets, compliance
Create / edit / disable usersyesyesnonoyes (impersonated)
Change a user’s roleyesyes¹nonoyes¹ (impersonated)
Reset another user’s passwordyesyesnonoyes (impersonated)
Manage user’s site accessyesyesnonoyes (impersonated)
View / revoke sessionsyesyesnonoyes (impersonated)
View the org audit logyesyesnonoyes (impersonated)
Sites CRUDyesyesnonoyes (impersonated)
Organization settings (name, password policy)yesyesnonoyes (impersonated)
LLM model selection (provider, API key, cost caps)yesyesnonoyes (impersonated)
Webhook secret view / rotationyesyesnonoyes (impersonated)
Create / revoke service account API keysyesyesnonoyes (impersonated)
Operations — devices, rules, tuning
Gateways: pair / rename / deleteyesyesyesnoyes (impersonated)
Cameras CRUD + stream configyesyesyesnoyes (impersonated)
Manual record clip (trigger button)yesyesyesnoyes (impersonated)
Alert rules CRUDyesyesyesnoyes (impersonated)
Webhook definition CRUD (URL, events, name)yesyesyesnoyes (impersonated)
Prompt packs (content + per-camera assignment)yesyesyesnoyes (impersonated)
Grids CRUDyesyesyes²noyes (impersonated)
Event acknowledge / star / notes / chatyesyesyesnoyes (impersonated)
Read / self-service
View live streams and eventsorg-wideorg-wideorg-widesite-scopedorg-wide (impersonated)
View dashboardorg-wideorg-wideorg-widesite-scopedorg-wide (impersonated)
Edit own profile and notificationsyesyesyesyesn/a
Change own passwordyesyesyesyesn/a
Owner-only
Transfer ownershipyesnononono³
View billing / invoicesyesnononono³
Delete the organizationyesnononono³ (uses platform-tier endpoint instead)
Toggle “Allow NovaVMS Support Access”yesnononono³
Platform-only
Provision a new customer orgnonononoyes
Start scoped impersonation into an orgnonononoyes
View platform audit lognonononoyes

¹ Admin role-changes limited to viewer <-> operator <-> admin. Cannot promote to owner. Cannot demote the current owner. Last admin cannot be demoted. ² Operators can edit and delete only grids they created. Admins and owners can edit any grid. ³ Platform impersonation always mints an admin role token. Owner-only endpoints reject any request carrying an impersonation_id.

Role containment

owner ⊃ admin ⊃ operator ⊃ viewer. Each role has every capability of every role below it, plus its own. Platform admin is cross-org via scoped impersonation — see Five-role RBAC.

Where each role’s UI lives

Sidebar sectionRoute prefixRoles that see it
Live, Events, Dashboard/, /live, /eventsAll roles (viewers site-scoped)
Cameras, Gateways, Alert Rules, Prompt Packs, Grids, Webhook Definitions/cameras, /gateways, /alerts/rules, /settings/prompt-packs, /grids, /settings/webhooksOperator, Admin, Owner
Users, Sites, Audit Log, Org Settings, AI Model, Webhook Secrets, API Keys/admin/*, /settings/ai/model, /admin/service-accountsAdmin, Owner
Billing, Transfer Ownership, Danger Zone/owner/*, /settings (billing tab)Owner only
Platform console, Impersonation, Platform audit/platform/*Platform admin only

Frontend hides sections the user cannot access. The backend independently rejects with 403 on direct URL access.