Every sensitive action in NovaVMS writes an audit log entry. This page lists every action name you might see, grouped by area.
Auth actions
| Action | Actor | Target | Notes |
|---|
user.login | user | self | Successful login. |
user.login_failed | user | self | Wrong password or disabled account. |
user.lockout | system | user | Emitted when failed-login threshold triggers a lockout. |
user.logout | user | self | Explicit logout or session revoke. |
user.password_changed | user | self | User changed their own password. |
user.password_reset_requested | admin or owner | user | Admin initiated a reset for another user. |
user.password_reset_completed | user | self | User completed a reset link flow. |
User actions
| Action | Actor | Target | Notes |
|---|
user.created | admin or owner | user | Invite or direct create. |
user.updated | admin or owner | user | Profile, role, or site access edit. Role changes write a diff in changes. |
user.disabled | admin or owner | user | User cannot log in after this. Sessions revoked. |
Site actions
| Action | Actor | Target | Notes |
|---|
site.created | admin or owner | site | New site in the org. |
site.updated | admin or owner | site | Name, timezone, retention, or other settings changed. |
site.deleted | admin or owner | site | Soft-deleted. |
site.user_access_granted | admin or owner | user | Viewer granted read access to a site. |
site.user_access_revoked | admin or owner | user | Viewer lost access to a site. |
site.user_access_noop | admin or owner | user | No-op edit, logged for completeness. |
Camera and gateway actions
| Action | Actor | Target | Notes |
|---|
camera.created | operator or above | camera | Camera added via ONVIF discovery or manual config. |
camera.updated | operator or above | camera | Stream config, AI settings, or name change. |
camera.disabled | operator or above | camera | Camera toggled off without deletion. |
camera.deleted | operator or above | camera | Soft-deleted. Events preserved. |
gateway.updated | operator or above | gateway | Gateway renamed or reconfigured. |
gateway.disabled | operator or above | gateway | Gateway toggled off. |
gateway.enabled | operator or above | gateway | Gateway re-enabled. |
gateway.deleted | operator or above | gateway | Gateway unpaired and removed. |
Alert and integration actions
| Action | Actor | Target | Notes |
|---|
alert_rule.created | operator or above | alert_rule | New rule. |
alert_rule.updated | operator or above | alert_rule or alert_recipient | Rule edit or recipient list change. |
alert_rule.deleted | operator or above | alert_rule | Rule removed. |
webhook.created | operator or above | webhook | Webhook definition created. Secret visible only to admins and owners. |
webhook.updated | operator or above | webhook | Definition changed. Secret rotation logged separately. |
webhook.deleted | operator or above | webhook | Webhook removed. |
prompt_pack.created | operator or above | prompt_pack | AI prompt pack defined. |
prompt_pack.updated | operator or above | prompt_pack | Content or assignment changed. |
prompt_pack.deleted | operator or above | prompt_pack | Pack removed. |
Service account actions
| Action | Actor | Target | Notes |
|---|
service_account.created | admin or owner | service_account | New service account and key. Key material shown once. |
service_account.key_rotated | admin or owner | service_account | Old key invalidated immediately. |
service_account.site_access_updated | admin or owner | service_account | Site scope changed. |
service_account.disabled | admin or owner | service_account | All future API calls rejected. |
Owner-only actions
| Action | Actor | Target | Notes |
|---|
org.ownership_transfer_initiated | owner | user | Ownership transfer nominated. Target user has 7 days to accept. |
org.ownership_transferred | system | organization | Target accepted. Atomic promote + demote. |
org.ownership_transfer_rejected | user | organization | Target declined the nomination. |
org.ownership_transfer_expired | system | organization | 7-day window elapsed without acceptance. |
org.deletion_initiated | owner | organization | 7-day grace period starts. |
org.deletion_cancelled | owner | organization | Deletion aborted during grace period. |
org.impersonation_toggled | owner | organization | ”Allow NovaVMS Support Access” flipped. Revokes active sessions on disable. |
These entries appear in both the platform audit log and, where an org is targeted, the target org’s audit log with a “Platform Support” badge.
| Action | Actor | Target | Notes |
|---|
platform.login | platform_admin | self | Platform console login. |
platform.logout | platform_admin | self | Explicit logout. |
platform.org_created | platform_admin | organization | New customer org provisioned. |
platform.org_disabled | platform_admin | organization | Org suspended without deletion. |
platform.org_enabled | platform_admin | organization | Org re-enabled. |
platform.org_delete_scheduled | platform_admin | organization | 7-day grace scheduled. |
platform.impersonation_started | platform_admin | organization | 30-minute scoped token minted. Reason is required and logged. |
platform.impersonation_action | platform_admin | any | Fired per-action inside an impersonation session, in addition to the org-side action entry. |
platform.impersonation_ended | platform_admin or system | organization | Session closed or timer expired. |
Retention
90 days, per D11. Older entries are purged daily by the accounts retention job. Platform audit entries are kept 365 days.