Proof of every choice,
ready before anyone asks.

Velo writes an anonymised, time stamped record of every accept, reject and preference at the edge. When a regulator or a client asks how consent was captured, the answer is already there, exportable, and tied to nothing that identifies a person.

velo.app/audit-log
EventWhen & regionState
Accept all2026-06-25 09:41:12 · EEA
✓ logged
Analytics only2026-06-25 09:39:54 · UK
✓ logged
Reject all2026-06-25 09:38:31 · US-CA
✓ logged
Preferences saved2026-06-25 09:36:08 · EEA
✓ logged

The record of consent behind 100+ marketing teams

Anonymised by designWritten at the edgeExport to CSV or JSONLive in 72h

The answer to one hard question

When someone asks how a visitor's consent was captured, you should not have to go looking. The audit log keeps the record ready three ways.

Anonymised by design

A choice, a time, a coarse region. No name, no email, no precise location, nothing that points back to a person. The record proves what happened without holding who.

Written at the edge

The moment a visitor accepts, rejects or saves a preference, the event lands in the log. No queue, no nightly batch, no gap between the choice and the proof of it.

Yours to export

Pull the whole trail to CSV or JSON whenever you need it, filtered by date or region. Hand it to a regulator, a client or your own legal team in seconds.

Enough to prove it, nothing that identifies anyone

Each row in the log carries the choice that was made, the four Consent Mode v2 signals it set, the moment it happened down to the second, and the coarse region the visitor was in. That is all a regulator needs and all you should ever hold. There is no name attached, no email, no precise location, and no way to walk a row back to a real person.

How the four signals work
velo.app/audit-log · event
eventpreferences saved
acc_4f8a
timestampUTC, to the second
09:36:08
regioncountry level only
EEA
signalsthe four v2 flags
1·0·0·0
identitynothing stored
none

Ready to export the moment it is asked for

Filter the log by date range or region, then pull it straight to CSV or JSON from the dashboard. The export is the same anonymised record you see on screen, formatted to drop into a spreadsheet, a ticket or a legal review without a clean up pass. No support request, no waiting on a data team, no scramble when the question lands.

See the audit log
velo.app/audit-log · export
Date rangelast 90 days
14,228 events
Regionall regions
EEA · UK · US
CSVJSON
Export the record
How the record is made

From a click to a clean entry

We value your privacy

We use cookies to measure traffic and improve your experience.

RejectAccept all
Step 1

The visitor decides

They accept, reject or open preferences and pick categories. Velo applies the choice to your tags at once, exactly as the law requires, before anything fires.

analytics_storagegranted
ad_storagedenied
regioncountry level
Step 2

Velo strips it down

The event keeps the choice, the four signal states, the timestamp and a coarse region. Everything that could identify the visitor is left out before the row is ever written.

1 row
written at the edge
stored exportable
Step 3

It lands in the log

The clean entry is appended to your audit log on Cloudflare's edge, in milliseconds. It is there to filter and export from that second on, with nothing left to reconcile later.

Four fields, and not one more

Every entry holds exactly what proves the choice, and deliberately nothing that could identify the person who made it.

The choiceaccept, reject or preferences
The timestampUTC, down to the second
Coarse regioncountry level, no precise spot
The four signalseach v2 flag, granted or denied
72h

and the record of consent is running.

From the day you add Velo, every accept, reject and preference is logged at the edge, anonymised and ready to export. There is no separate tool to wire up and nothing to backfill.

The audit log records the consent choice, its timestamp, the four Consent Mode v2 signal states and a coarse region only. It does not store names, emails, precise location or any identifier that points to an individual. It is built to support GDPR and CCPA accountability, not to replace your own legal advice.

The audit log, answered

What does the audit log actually store?

One row per consent event, holding the choice that was made, the four Consent Mode v2 signal states it set, the timestamp to the second and a coarse, country level region. That is the whole record. It does not store names, emails, precise location or any identifier that could be traced to a person.

How is it anonymised?

Velo never writes anything that points back to an individual. There is no name, no email and no precise location in the log, and the region is kept at country level. You are left with proof that a choice was made and when, without holding the person who made it.

Can I export it?

Yes. Filter the log by date range or region in the dashboard, then export the result to CSV or JSON. The file matches what you see on screen, so it drops straight into a spreadsheet, a ticket or a legal review with no clean up.

When is a row written?

The moment a visitor accepts, rejects or saves a preference. The event is written at the edge in milliseconds, so the record is ready to filter and export from that second on, with no nightly batch and no gap.

Does this help with a GDPR or CCPA request?

It gives you the accountability record those frameworks expect: a clear, time stamped trail of how consent was captured for every visitor. When a regulator or a client asks, you have the proof ready. It supports your compliance work rather than replacing your own legal advice.

Where does the log live?

On Cloudflare's edge, alongside the rest of Velo. The same layer that shows your banner and wires Consent Mode v2 also writes the record, so there is no separate system to set up, secure or keep in sync.

Have the proof before the question.

Add Velo once and every consent choice is logged at the edge, anonymised and ready to export, live in 72 hours.

Consent saved