Audit Log

Track all user and system actions across your Velnoro team with an immutable, searchable audit trail.

The Audit Log records every significant action taken in your Velnoro team: scans triggered, connections created, policies changed, people imported, and more. It provides an immutable audit trail for compliance, security reviews, and change tracking.

Prerequisites

  • Account role: Owner or Admin (requires the "Manage" permission)
  • At least one completed action (scan, connection creation, etc.) to see entries

Getting Started

Navigate to Audit Log in the Admin section of the sidebar. You'll see a chronological table of all recorded events, newest first.

Key Concepts

  • Immutable records: Audit log entries cannot be edited or deleted. Once an event is recorded, it is permanent. This is enforced at the database level.
  • Non-blocking writes: If an audit write fails for any reason, it logs a warning but never blocks the parent operation. Your workflows are never interrupted by audit system issues.
  • Actor types: Each entry records who performed the action: user (a team member), system (automated processes like scheduled scans), or api (API-triggered actions).
  • Details payload: Each entry includes a JSON details field with action-specific data such as old/new values, reasons, counts, or configuration changes.

What Gets Tracked

CategoryEvents
ScansScan triggered, scan completed
ConnectionsConnection created, connection tested, connection deleted
PeoplePeople imported (with row counts), person status changed, maker tier assigned
PoliciesConnector policy created, updated, deleted (with old/new values)
SchedulingScan schedule updated (cadence changes)
Admin OperationsScan cancelled, connection paused, connection resumed

Reading the Audit Log

The audit log table shows five columns:

ColumnDescription
TimestampWhen the event occurred (date and 24-hour time)
ActionWhat happened, shown as a color-coded badge. Green for created/triggered events, red for deleted events, gray for completed events.
EntityWhat was affected: the entity type (scan, connection, policy, etc.) and a truncated entity ID
ActorWho performed the action. Shows actor type badge (purple for system, blue for API, default for user) and actor ID
DetailsKey-value pairs from the event payload. Shows up to three pairs with a "+N more" indicator if there are additional fields.

Use the filter bar above the table to narrow results:

  1. Action dropdown - Filter by specific action type (e.g., "scan.triggered", "policy.created")
  2. Entity Type dropdown - Filter by entity category (e.g., "scan", "connector_policy", "connection")
  3. Search box - Free-text search across action and entity type fields
  4. Date range - Set a From and To date to view events within a specific time window
  5. Clear button - Reset all filters and return to the full unfiltered view

Filters can be combined. For example, filter by "policy.deleted" action within the last 7 days to review recent policy removals.

The table displays 50 entries per page. Use the Previous/Next buttons to navigate through results. The entry count shows your current position (e.g., "1-50 of 142 entries").

Exporting

Click the Export CSV button to download the current audit log as a CSV file. The export includes all entries matching your current filters.

The CSV file contains: Timestamp, Action, Entity Type, Entity ID, Actor Type, Actor ID, and Details (as JSON). The filename includes the current date (e.g., audit-log-2026-03-08.csv).

Common Tasks

Investigating a Specific Change

  1. Navigate to Audit Log
  2. Use the Entity Type dropdown to filter by the type of resource (e.g., "connector_policy")
  3. Optionally narrow the date range
  4. Review the Details column for old/new values and reasons

Reviewing Scan History

  1. Filter by Action: "scan.triggered" or "scan.completed"
  2. The Details column shows scan metadata (asset counts, duration, connection info)
  3. Cross-reference with the Scans page for full scan status and results

Preparing a Compliance Report

  1. Set the Date range to the reporting period
  2. Review all entries for the period
  3. Click Export CSV to download the data
  4. Use the CSV in your compliance reporting tools or attach to audit documentation

Tracking Policy Changes

  1. Filter Entity Type to "connector_policy"
  2. Review created, updated, and deleted policy events
  3. The Details field shows what changed (old status vs. new status, reason text)
  4. See the Governance guide for more on managing connector policies

Troubleshooting

SymptomCauseFix
Audit log page shows upgrade promptAccount is on Discovery (free) tierAudit Log requires a Pro Trial or Business subscription
No entries visibleNo actions have been recorded yetRun a scan or create a connection. Audit entries appear automatically.
Missing entries for a known actionAudit write failed silentlyAudit writes are non-blocking and log warnings on failure. Check server logs if entries are consistently missing.
Search returns no resultsSearch terms don't match action or entity type textSearch matches against the action name (e.g., "scan.triggered") and entity type (e.g., "connection"). Try shorter terms.
Export CSV is emptyFilters are too restrictiveClear all filters and try the export again

FAQ

Q: Can audit log entries be deleted? No. The audit log is append-only by design. Entries cannot be edited or deleted, even by team owners. This ensures the integrity of your audit trail.

Q: How long are audit log entries retained? For the lifetime of your account. There is no automatic purge or retention limit.

Q: Who can view the audit log? Team Owners and Admins (anyone with the "Manage" permission). Members with read-only access cannot view the audit log.

Q: Does the audit log capture who made changes? Yes. Every entry records the actor: either a specific user (by ID), "system" for automated actions like scheduled scans, or "api" for API-triggered operations.

Q: What happens to audit entries when a team member is removed? Nothing. All audit log entries created by that user are permanently preserved. The actor ID remains in the record for historical attribution even after the user is no longer a team member. This is enforced at the database level: the audit log only supports INSERT and SELECT, never DELETE or UPDATE.

Q: Are failed operations logged? Scan completions and failures are both logged. For other operations, only successful actions generate audit entries. If a policy creation fails due to a validation error, no audit entry is created.