One consent record per player
Consent evidence usually lives in four places and agrees in none of them. The register is one place, append only, and the send path reads it rather than trusting the list you uploaded.
- Records held41.6m
- Opt-out applied within4s
- Export formatCSV and JSON
What a record holds
- subject
- The destination number in its international form, and nothing else identifying
- state
- Granted, withdrawn or never held, evaluated at the moment of the send
- basis
- The lawful basis claimed, matched against what the destination market allows
- source
- Where the opt-in was captured: a form, a call recording, an import, a keyword reply
- captured_at
- The original timestamp, preserved through migration rather than rewritten
- evidence_ref
- A pointer to the artefact you hold, so the chain does not end with our word
- history
- Every change since, append only, with the actor and the channel that caused it
- scope
- Which of your brands the consent covers, because one group is rarely one brand
Getting your history in without spoiling it
The common mistake in a consent migration is stamping every imported row with the day of the import. It looks tidy and it destroys the only thing that made the record useful. We import the dates you have and mark the ones you do not.
- Rows arrive with their original capture date, source and basis preserved
- Rows with no evidence are loaded in an unevidenced state rather than as granted
- Duplicates across brands are merged to one subject with a scope per brand
- A reconciliation report shows what came in, what merged and what was refused
- Nothing sends against an unevidenced row until you decide what to do with it
A history, as exported
- 2023-11-04GrantedRegistration form, marketing checkbox, unticked by default
- 2024-06-19Scope addedSecond brand added to the same account, consent re-collected
- 2025-02-27Evidence attachedForm submission archive linked, reference retained
- 2026-01-12WithdrawnSTOP received on the inbound number, applied across both brands
The row is append only. A withdrawal does not erase the grant that preceded it, which is exactly what a regulator wants to see.
Answering a request for proof
A supervisory authority asks the same four questions in roughly the same order. This is how each one is answered from the register.
- 01
Did this person consent?
One lookup on the number returns the state as it stood on any date you name, not only today.
- 02
Where did the consent come from?
The source field names the capture mechanism, and the evidence reference points at the artefact you hold.
- 03
What did they consent to?
The basis and scope fields say which brands and which message classes were covered at that moment.
- 04
What happened when they objected?
The history shows the withdrawal, the second it was applied, and that no message went out afterwards.
Bring us the messiest list you have
Four spreadsheets and a CRM export is a normal starting point. We will tell you what can be evidenced and what has to be re-collected before it sends.