Skip to main content
Audit Logs

Audit Logs provide a straightforward way to track user actions and automated interactions within the system.

Javier Rodríguez avatar
Written by Javier Rodríguez
Updated over a month ago

Audit logs are structured records that chronologically document events and activities within a system, application, or network. They capture and store details of actions performed by users, system components, or external entities, ensuring transparency, security, and regulatory compliance.

In Chainloop, the Audit Log tracks multiple system entities, though not all are currently registered. This is an ongoing effort, and additional entities will be added in future updates.

Who can view this section?

Only users with owner or admin roles can see the Audit Logs page.

Key Concepts

Audit logs in Chainloop revolve around two main concepts: Actor Type and Target Type.

Actor Type

The Actor Type represents the entity responsible for triggering an event.

API Token – Events initiated by an API Token, such as updating a Workflow Contract.

System – Events triggered by the system itself or the Chainloop Team. Currently, these events occur when modifications are made to built-in resources such as Policies, Requirements, or Frameworks. These changes are logged across all organizations for transparency.

User – Events initiated by users within your organization.

Target Type

The Target Type represents the entity affected by an action performed by an Actor.

Audit Log Forwarders

This feature is only available for on-premise installations of Chainloop.

The Audit Log Forwarder allows platform operators to send event logs to external services. Currently, this is supported via a Webhook.

To configure an Audit Log Forwarder, the following configuration can be modified from the Platform's Helm Chart values.yaml.

backend:
## @param backend.auditLogForwarders Audit log forwarders configuration. Configure forwarders
## to send audit logs to external services
## @extra backend.auditLogForwarders[].kind The kind of forwarder, currently only webhook is supported
## @extra backend.auditLogForwarders[].uri The URL of the webhook
## @extra backend.auditLogForwarders[].token The bearer token to authenticate with the webhook
## @extra backend.auditLogForwarders[].method The HTTP method to use when sending the audit logs
auditLogForwarders: []

You can configure multiple Audit Log Forwarders as needed. The available options are:

  • kind: Currently, only webhook` is supported.

  • uri: The fully qualified domain name (FQDN) URL of the Webhook endpoint.

  • token: The Bearer token for authentication, if required by the Webhook endpoint.

  • method: The HTTP method used for requests. Allowed values are POST, PUT, and PATCH. If not specified, POST it is used by default.

Requests are configured with a set of properties to ensure optimal system performance while allowing end users to easily filter them.

  • User-Agent: Chainloop-Audit-Logger/1.0

  • Content-Type: application/json

  • Default Timeout: 5 seconds

Example of Webhook configuration

backend:
auditLogForwarders:
- kind: webhook
uri: https://webhook.site
token: THE-SECRET-TOKEN
method: POST

Did this answer your question?