Skip to Content
Edit on GitHub

Audit Logs

Audit logs record all actions taken on the platform, so administrators can see who did what and when. They are useful for compliance, security monitoring, and troubleshooting.

Audit logs require an Enterprise plan.

What’s Captured

Every mutation (create, update, delete) on the platform is recorded with the following details:

FieldDescription
UserWho performed the action (username and ID).
ActionThe HTTP method (POST, PUT, DELETE, PATCH).
ResourceWhat was affected (e.g., /courses, /users).
Resource IDThe specific item that was modified.
Status codeThe HTTP response status.
IP addressThe origin of the request.
TimestampWhen the action occurred.
PayloadThe request body (with sensitive data scrubbed).

Sensitive Data Handling

Audit logs automatically scrub sensitive fields from request payloads before storing them. Fields like password, token, secret, and similar keys are redacted to prevent sensitive data from appearing in logs.

You can filter audit logs by:

  • User (ID, username, or full name)
  • Action type
  • Resource type and ID
  • HTTP status code
  • IP address
  • Date range

CSV Export

Audit logs can be exported as CSV files for offline analysis, compliance reporting, or integration with external SIEM tools.

Performance

Audit log entries are buffered in Redis and flushed to the database in batches every 60 seconds. Logging therefore does not slow the platform down, even under heavy usage.