Audit Logs
Every compliance-relevant action in Privacy Labs is written to an immutable audit log. Each entry is SHA-256 hashed, making any after-the-fact modification detectable. The log cannot be edited or selectively deleted through the dashboard.
Navigate to: Admin Dashboard > Data & Audit
Log Categories
Every entry belongs to one of five categories. You can filter by category from the dashboard.
| Category | Events covered |
|---|---|
| AUTHENTICATION | User login, logout, failed login attempts, password changes, session creation and revocation. |
| DATA_ACCESS | Every read or write to consent records, DSR requests, grievances, and data discovery scan results. |
| SECURITY | Security alerts triggered, sessions revoked, suspicious IP activity, threat and violation events. |
| SYSTEM | Banner settings updated, cookie categories modified, integration changes, scan triggered, webhook configured. |
| COMPLIANCE | DSR status changes, escalations, privacy policy published, breach incident created or progressed, RoPA changes. |
Severity Levels
Routine events with no risk. Example: user logs in successfully.
Notable events worth monitoring. Example: banner settings changed.
Events requiring attention. Example: failed login attempts, SLA-breached DSR.
Immediate action required. Example: breach incident detected, critical unencrypted PII found.
Log Entry Format
| Field | Description |
|---|---|
| timestamp | ISO 8601 timestamp. |
| action | Event type string. Example: CONSENT_GIVEN, DSR_CREATED, BANNER_UPDATED. |
| userId | Internal ID of the user or system actor that performed the action. |
| userEmail | Email of the actor. |
| category | AUTHENTICATION, DATA_ACCESS, SECURITY, SYSTEM, or COMPLIANCE. |
| severity | LOW, MEDIUM, HIGH, or CRITICAL. |
| success | Boolean. Whether the action succeeded or failed. |
| details | Additional context as a key-value map. Example: old/new values for config changes, request type for DSR events. |
| userAgent | Browser or SDK user-agent string, when available. |
Filtering Logs
The audit log viewer auto-refreshes every 10 seconds. Filter to narrow down entries:
Default view shows the last 7 days. Use a custom date range for historical audits.
Exporting Logs
Export from the audit log viewer with your active filters applied. Two formats:
CSV
Spreadsheet-compatible. Useful for sharing with legal counsel, auditors, or loading into external tools. File is named audit-export-YYYY-MM-DD.csv.
JSON
Machine-readable. Suitable for SIEM ingestion or programmatic processing. File is named audit-export-YYYY-MM-DD.json.
Export is available to ADMIN and DPO roles only. AUDITOR role can view logs in the dashboard but cannot export.
Log Retention
Tamper-proof, configurable retention
Each entry is SHA-256 hashed at write time. The hash makes any modification to a log record detectable. Entries cannot be edited or deleted individually through the dashboard. The overall retention window (how long logs are kept before being purged) is configured in your organisation settings.
Sharing with Auditors
Grant external auditors read-only access via the AUDITOR role:
- Invite the auditor from Admin Dashboard > Team & Settings > Team Management
- Assign them the AUDITOR role
- AUDITOR sees a read-only view of logs, compliance reports, and DSR history
- Remove the user or change their role to revoke access