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.

  1. 01

    Did this person consent?

    One lookup on the number returns the state as it stood on any date you name, not only today.

  2. 02

    Where did the consent come from?

    The source field names the capture mechanism, and the evidence reference points at the artefact you hold.

  3. 03

    What did they consent to?

    The basis and scope fields say which brands and which message classes were covered at that moment.

  4. 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.