Core Concepts
Consent (Accord)
Draft configuration, publish, versions, SDK, receipts, and withdraw.
Consent (Accord)
What it is
Accord is Erasure’s consent product for a project: categories, purposes, notice appearance, publish lifecycle, browser SDK, receipts, and optional project webhooks.
Why it exists
Regulators and customers ask what people agreed to and when. A banner alone is not enough if you cannot reconstruct the surface they saw or react in backend systems.
How it works
Draft configuration
categories · purposes · notice appearance
│
▼ Publish
Immutable Consent Version (snapshot + content hash)
│
▼ SDK loads published config (publishable key)
Subject chooses → Receipt (choices + versionId + consentHash)
│
▼ Optional
Preference update / withdraw optional → new Receipt
Webhook consent.updated → your backend| Piece | Behaviour |
|---|---|
| Draft | Editable in console; not served to SDK |
| Publish | Snapshot frozen; version number increments |
| Receipt | Append-only; never updated in place |
| consentHash | Hash of published surface; receipt must match |
| Withdraw | Optional purposes off (required stay on); new receipt |
| Allowed origins | Host allowlist under Develop; on by default for new projects |
| Webhook | Optional consent.updated (HMAC signed) |
Console surfaces
Typical routes (HashRouter): project Consent, Versions, Receipts, Develop, Settings.
Integration summary
- Configure purposes (required + optional) and notice.
- Publish.
- Create a publishable key (
pk_live_…, shown once). - Add allowed origins for production hosts.
- Install
@erasurehq/accordand callAccord.initin the browser only.
See SDK and Publish consent.
Withdrawal (v1)
Users can change or withdraw optional purposes on the same browser:
- Banner → Manage preferences → withdraw optional
- Hosted preference center (
/preferences?key=pk_live_…) - SDK:
client.withdrawOptional()/client.showPreferences() - Optional re-entry:
Accord.init({ privacyControl: true, … })
Device/browser-scoped, not multi-device subject identity.
Related
- Receipts · Publishable keys
- Evidence · Webhooks
- DPDP: Consent · Notice · Withdrawal