Skip to content

Audit Log

CompassDocs keeps an append-only audit log of significant actions, so admins can answer “who changed this, and when?” Find it under Settings → Audit log (admins only).

Each entry captures the actor (and their role), the action, the target, the time, and the client IP address. Logged actions include:

  • Authentication — sign-in, sign-out, failed sign-in attempts, and login lockouts from the throttle (auth.lockout).
  • User management — creating users, role changes, password resets, and enabling, disabling, or deleting accounts.
  • Content — creating, editing, publishing, and deleting documents; submitting changes for review; and approving or rejecting change requests.
  • Versioning — restoring a previous version, and creating or merging draft branches (each entry records which version or branch was involved).
  • Comments — posting a comment (with who was mentioned) and removing one (including whether it was an admin moderation).
  • Spaces — creating, editing, and deleting spaces.
  • Settings — workspace and appearance, approval mode, custom domain & HTTPS, the AI model and key, and backup destinations.
  • Backups — creating, deleting, and restoring backups.
  • Reads. Viewing or searching documents isn’t logged, to keep the log focused on changes rather than noise.
  • Secrets. API keys, connection strings, and passwords are never written to the log — only the fact that they were set or changed.

The log is newest-first and paginated. Use the category filter to narrow to a single area (auth, user, document, settings, backup, …), the From/To date pickers to scope a window (dates are UTC days), and Refresh to pull the latest events. Entries are retained for the life of the database and are included in backups, so restoring a backup restores its audit history too.

With an enterprise license, the audit screen gains Export CSV and JSON buttons that download the log with whatever category and date filters are active. Exports stream in batches, so even years of history download without straining the server — and each export is itself recorded in the log (audit.export, including the filters used).

The same export is scriptable for compliance pipelines via GET /api/admin/audit/export (admin session required):

  • formatcsv (RFC 4180-quoted) or json (a single array).
  • category — optional; the part before the first dot (e.g. auth, user).
  • from / to — optional ISO dates or timestamps; date-only values cover the whole UTC day.

Without an enterprise license the endpoint answers 402, and the buttons show as unavailable.