Skip to main content

Audit & compliance

Enterprise tier feature

Most audit-export functions require an Enterprise or Full licence.

Path: Admin → Audit.

What's logged

Every prompt scan, DLP action, and admin operation is recorded in three tables:

TableWhat it storesRetention
guardrail_eventsPII / DLP / moderation / unicode-smuggling violations30 / 90 / configurable per tier
admin_audit_eventsAdmin UI actions (user create/delete, role change, settings update)Same
automation_runs + automation_run_stepsEvery automation run + per-step input/outputSame

Plaintext sensitive content is never stored — only categories and the action taken.

Guardrail events

Schema:

FieldTypeNotes
idUUID
organization_idUUIDTenant.
user_idUUIDWho triggered the prompt.
agent_idUUIDWhich agent.
conversation_idUUIDWhich conversation.
violation_typeenumpii / custom_term / moderation / unicode_smuggling
violation_categoriestextComma-joined labels (email,phone,bsn).
directionenuminput (prompt) or output (model reply / tool result).
action_takenenumblock / redact / alert / stripped.
sourceenumchat / automation / unknown.
modeltextProvider + model name.
timestamptimestamptzUTC.

Querying

In the admin UI:

FilterNotes
Time rangeDefault last 7 days.
UserMulti-select.
AgentMulti-select.
Violation typepii / custom_term / moderation / unicode_smuggling.
Action takenblock / redact / alert / stripped.
CategoriesFree-text match against violation_categories.

The result table is paginated, sortable. Click a row for the (non-plaintext) detail.

CSV export

GET /api/guardrails/events.csv?from=2026-04-01&to=2026-05-01
Authorization: Bearer <admin_jwt>

Returns the same rows as the UI, in CSV. Useful for quarterly compliance reviews.

SIEM webhook

In Settings → Organisation → Audit → Webhooks:

FieldNotes
Webhook URLYour SIEM endpoint.
Shared secretHMAC-SHA256 secret for request signing.
Severity filterOnly push events at this severity or higher.
Retry policy3 attempts with exponential backoff.

Each event is POSTed as JSON with X-Beeflow-Sig: <hmac-hex>. Verify on your side.

GDPR Compliance Hub (Enterprise+)

Path: Admin → Audit → GDPR.

Features:

ToolPurpose
Subject Access RequestGenerate a ZIP archive of everything Bee Flow has on a user (conversations, memories, audit refs).
Right to ErasureHard-delete a user with cascade-anonymise. Records the deletion in the GDPR archive.
Right to PortabilitySame archive as SAR, in machine-readable JSON.
Processing recordThe standard GDPR "register of processing activities" — pre-filled with Bee Flow's data flows, exportable as PDF.
DPIA templateBoilerplate for a Data Protection Impact Assessment.

AI Act (EU)

For organisations within scope of the EU AI Act:

AssetPurpose
Model cardLists every model used + provider + region.
Risk tier classifierHelps you map each agent to AI-Act risk tier (minimal / limited / high).
Transparency obligationsPre-built prompts to surface "you are talking to an AI" disclaimers.

Admin actions audit

Every admin action in the UI is logged:

ActionLogged fields
User createwho, target user, initial role + groups
User deletewho, target user, hard vs soft
Role changewho, target user, before/after role
Group create / deletewho, group, reason
Settings updatewho, setting key, before/after value
Licence applywho, tier, expiry

Same query UI; tab labelled Admin actions.

Retention

Tierguardrail_events retentionadmin_audit_events retention
Community30 days30 days
Pro90 days90 days
Enterpriseconfigurableconfigurable
Fullconfigurableconfigurable

Configure under Org settings → Audit → Retention. Min 30 days; max 7 years.

Audit log integrity

Audit rows are append-only at the application layer (no UPDATE / DELETE endpoints). For tamper-evidence:

  • Daily log digest (SHA-256 of all that day's rows) is signed and exposed at /api/audit/digest/<date>.
  • (Roadmap) optional Postgres-extension write-once with pg_rewind-style protection.

Where to next