Skip to content

Audit Log

The Telovix Console audit log records every operator action that changes fleet state, security posture, or user identity. It covers the full lifecycle from user login through enforcement state changes, certificate renewals, and license imports. The audit log is the authoritative source for answering who changed what, when, and from where.

For security operations the audit log complements runtime event data. Runtime events describe what processes did; the audit log describes what operators did. Distinguishing the two prevents false escalations and helps responders understand whether a change in sensor behavior was intentional.


Audit log structure

Each audit record contains:

FieldDescription
created_atTimestamp of the action (RFC3339)
action_typeMachine-readable event identifier (see reference below)
outcomesuccess or failure
actor_emailEmail address of the user who performed the action (nullable for system actions)
sensor_idSensor involved, if applicable (nullable)
detailHuman-readable description of what happened
client_ipIP address of the operator's session at the time of the action (nullable)
user_agentBrowser or client user agent (nullable)

The actor_email field is null for system-initiated actions (such as auto_certificate_renewal_initiated) where no operator session is involved.


Querying the audit log

Recent audit entries

Requires operator role.

In the Console, navigate to Audit Log in the left sidebar. The list shows the most recent audit entries scoped to sensors the calling user can access. The default view shows 50 entries; you can increase the limit up to 5000.

Audit Log page showing recent entries with timestamp, action type, actor email, outcome badge, and sensor column.
Audit Log page showing recent entries with timestamp, action type, actor email, outcome badge, and sensor column. Click to enlarge

Exporting audit entries

Requires operator role. Supports JSON and CSV formats.

In the Console, navigate to Audit Log, apply any desired filters, and click Export. Choose the format (JSON or CSV) and confirm. The export reflects the active filter state.

Export filter options:

ParameterDescription
fromStart of time window (RFC3339)
untilEnd of time window (RFC3339)
actor_emailFilter by actor email address
sensor_idFilter to actions involving a specific sensor
outcomesuccess or failure
action_familyFilter by event family (see families below)
limitMaximum entries (default 200, max 1000)
formatjson or csv (default json)

The CSV export columns are: created_at, action_type, outcome, actor_email, sensor_id, detail, client_ip, user_agent.


Action families

The action_family export filter accepts these family names, each covering a logical group of action types:

FamilyAction types included
user_managementlogin, logout, bootstrap_admin_created, console_user_created, console_user_role_updated, console_user_disabled, console_user_enabled
sensor_lifecyclesensor_enrollment_token_created, sensor_enrolled, sensor_disabled, sensor_revoked
pack_assignmentsensor_pack_assigned, fleet_pack_assigned, group_pack_rollout_executed
trust_renewalsensor_manual_renewal_requested, sensor_certificate_renewed
scope_managementsensor_group_created, sensor_group_updated, sensor_group_deleted, sensor_group_member_added, sensor_group_member_removed, console_user_group_scope_assigned, console_user_group_scope_removed
license_managementlicense_import
notification_management(no action types currently mapped)

Complete action type reference

All 51 action types recorded by the Console audit log:

Authentication and user identity

Action typeMeaning
loginSuccessful or failed login attempt
logoutUser logout
password_changeUser changed their password
mfa_enabledTOTP MFA enabled for a user
mfa_disabledTOTP MFA disabled for a user
sso_loginSuccessful SSO authentication
sso_login_failedFailed SSO authentication attempt
sso_user_createdNew user account created via SSO
sso_config_updatedSSO configuration changed

User management

Action typeMeaning
console_user_createdNew Console user account created
console_user_role_updatedUser role changed
console_user_email_updatedUser email address changed
console_user_disabledUser account disabled
console_user_enabledUser account re-enabled
console_user_cluster_scope_updatedUser's cluster scope changed
console_user_group_scope_assignedUser assigned to a sensor group scope
console_user_group_scope_removedUser removed from a sensor group scope
invitation_createdUser invitation created
invitation_acceptedUser invitation accepted (new account created)
bootstrap_admin_createdFirst admin user created during Console setup

Sensor lifecycle

Action typeMeaning
sensor_enrollment_token_createdEnrollment token created for a new sensor
sensor_reenrollment_token_createdRe-enrollment token created for an existing sensor
sensor_enrolledSensor completed enrollment
sensor_disabledSensor temporarily disabled
sensor_revokedSensor identity revoked
sensor_deletedSensor record deleted
sensor_decommissionedSensor marked as decommissioned
sensor_tags_updatedSensor tags changed
sensor_containedSensor placed into containment mode
sensor_releasedSensor released from containment

Certificate trust

Action typeMeaning
sensor_certificate_renewedSensor certificate renewed (automated or manual)
sensor_manual_renewal_requestedOperator triggered a manual renewal
auto_certificate_renewal_initiatedConsole initiated automated renewal (system action, no actor)

Policy and enforcement

Action typeMeaning
sensor_pack_assignedPolicy pack assigned to a sensor
fleet_pack_assignedPolicy pack assigned to the entire fleet
group_pack_rollout_executedPolicy pack rollout executed for a sensor group
sensor_enforcement_state_changedEnforcement state changed (observe/enforce_ready/enforced)

Sensor groups

Action typeMeaning
sensor_group_createdSensor group created
sensor_group_updatedSensor group name or configuration updated
sensor_group_deletedSensor group deleted
sensor_group_member_addedSensor added to a group
sensor_group_member_removedSensor removed from a group

Sensor views

Action typeMeaning
sensor_view_createdCustom fleet view created
sensor_view_deletedCustom fleet view deleted

License

Action typeMeaning
license_importLicense bundle imported into the Console

Kubernetes

Action typeMeaning
k8s_cluster_deletedKubernetes cluster data removed
k8s_cluster_enrollment_token_createdKubernetes cluster enrollment token created

AI assistant

Action typeMeaning
ai_chatAI assistant conversation request
ai_chat_v2AI assistant v2 conversation request
chat_exported_to_investigationAI chat session exported as an investigation

Saved searches

Action typeMeaning
saved_search_settings_updatedSaved search configuration updated

Compliance control coverage

The audit log provides evidence for several compliance controls:

ControlFramework
3GPP_4_2_63GPP TS 33.117: Security audit log completeness
CIS_8_1, CIS_8_2CIS Controls v8: Audit log management

The compliance framework evaluates the completeness and retention of audit records. Export audit data before investigation deadlines or compliance review windows. The Console does not automatically archive audit records to long-term storage; configure external retention if your compliance requirements exceed what the PostgreSQL database holds.


AI assistant tool

The AI assistant get_audit_log tool queries recent audit entries. In the Console, navigate to AI Assistant and ask a question such as "show recent enforcement state changes from the audit log". The assistant queries the audit log and returns a formatted summary.


Operational guidance

Export before investigations: Audit records are stored in the Console's PostgreSQL database. For incident investigations, export the relevant time window from the Audit Log page to a durable location immediately. Use the start and end time filters to scope the export tightly.

Filter failed logins: A spike in login events with outcome=failure from a specific client_ip indicates a brute-force attempt against the Console. In the Audit Log page, filter by Outcome = failure and Action Family = user_management to isolate authentication failures.

Correlate with enforcement changes: When unexpected enforcement behavior appears on a sensor, check the audit log for sensor_enforcement_state_changed and sensor_pack_assigned events near the same timestamp. An unintended pack assignment by an operator is often the explanation.

AI chat is audited: Every AI assistant conversation is logged with ai_chat or ai_chat_v2. This includes the actor, timestamp, and outcome. If AI assistant access is a compliance concern, review these entries as part of any audit.


Further reading

Released under the Telovix Commercial License.