Cookiebanner · Consent Mode v2 · verzegeld logboek

Toestemming die je kunt bewijzen

ConsentLedger blokkeert trackers tot de bezoeker kiest, stuurt Google Consent Mode v2 correct aan en schrijft elke keuze in een verzegeld, onveranderbaar logboek. Vraagt de Autoriteit Persoonsgegevens of een advocaat om bewijs, dan exporteer je het, met een controleerbaar integriteitsbewijs erbij.

Zelf gehost in de EU AVG art. 7 lid 1 gedekt WCAG 2.1 AA
Consent Mode v2 Open export (JSON/CSV)
export-2026-08-01.json keten intact
{
  "export_id": "exp_7f3a91",
  "generated_at": "2026-08-01T09:12:44Z",
  "records": 12408,
  "refusals_included": true,
  "chain": {
    "seals_verified": 1441,
    "anchor_root": "a91f…07c3",
    "chain_intact": true
  }
}
zegel #1441 · elke 5 min dagelijks anker · extern

Een banner is geen bewijs

De Autoriteit Persoonsgegevens controleert cookiebanners actief. In april 2025 verstuurde ze 50 waarschuwingsbrieven, medio 2025 stond de teller boven de 200, en inmiddels loopt er handhaving tegen zo'n vijftig organisaties. Voor tracking zonder toestemming geldt een boeteband van €300.000 tot €750.000.

Onder AVG artikel 7 lid 1 moet jij aantonen dat een bezoeker toestemming gaf. Dat is precies waar de meeste banners je in de steek laten.

50
waarschuwingsbrieven in april 2025
200+
brieven medio 2025, handhaving tegen ±50 organisaties
€300.000–€750.000
boeteband voor tracking zonder toestemming

Trackers vuren te vroeg

Veel banners registreren een keuze maar handhaven haar niet. Pixels en scripts laden al voordat de bezoeker iets heeft aangeklikt.

Het log is herschrijfbaar

Het “toestemmingslog” is een gewoon databaserecord dat de leverancier of een beheerder kan aanpassen. Een auditor hoeft dat niet te geloven.

Weigeringen ontbreken

Exports tonen vaak alleen wat is toegestaan. Juist de geweigerde categorieën, het deel dat een weigering bewijst, staan er niet in.

ConsentLedger is gebouwd vanuit de omgekeerde vraag: wat heb je in handen op het moment dat iemand om bewijs vraagt?

Gratis scan

Wat vuurt er nu al vóór toestemming?

We bezoeken je site twee keer: één keer zonder toestemming en één keer mét. Het verschil is je compliance-risico. Gratis, homepage + 5 pagina's, geen account nodig.

Resultaat in ± een minuut · rapport met initiators per pagina

Werkend in drie stappen

01

Plak één script tag

Zet één regel in de <head> van je site. De kern is kleiner dan 4 KB (brotli); de banner-UI laadt asynchroon erna.

<script src="https://…/s/jouw-sitekey.js"></script>
02

Kijk eerst mee in report-mode

Nieuwe configuratie start in report-mode. Het script logt wat het geblokkeerd zóu hebben en verandert niets aan je site. Je ziet de risico's voordat je iets aanzet.

03

Zet live en leg vast

Vanaf nu blijven trackers uit tot de bezoeker kiest, krijgt Google Consent Mode v2 de juiste signalen en landt elke keuze verzegeld in het logboek. Exporteren kan altijd, als JSON of CSV, met integriteitsbewijs.

Bekijk dit werkend op de voorbeeldpagina

Alleen toevoegen, nooit herschrijven

01

Record met eigen digest

Elke keuze wordt een record met een eigen digest (SHA-256). Records kunnen alleen worden toegevoegd; de database weigert wijzigingen op rijniveau.

02

Zegel elke vijf minuten

Elke vijf minuten verzegelt een job de nieuwe records in een Merkle-boom. Zegels zijn onderling geketend: wie één record aanpast, moet elk volgend zegel herschrijven.

03

Dagelijks anker buiten de server

Eén keer per dag gaat een ankerwortel naar een plek buiten de server. Daarmee is antedateren niet meer aannemelijk te maken.

04

Export die zichzelf controleert

Bij export rekent ConsentLedger elk zegel opnieuw uit vanaf de records zelf. Klopt een wortel niet, dan meldt het exportbestand dat. Het alarm zit in het bewijs, niet in de kleine lettertjes.

05

Dezelfde strengheid andersom: fail-closed

Een keuze die niet duurzaam is opgeslagen, wordt nooit als toestemming geclaimd: de banner blijft open, de bezoeker kan het opnieuw proberen, en trackers gaan pas aan nadat de opslag is bevestigd.

Record rec_01J9KQ7F… · sha256:4b1f…9d2c
Zegel, elke 5 minuten seal #1441 · merkle-wortel 9c2e…71aa
Dagelijks anker, buiten de server anchor 2026-08-01 · wortel a91f…07c3
Export, herberekend vanaf de records "chain_intact": true
Bekijk het voorbeeld

Alles wat erin zit

“Beschikbaar” betekent vandaag te gebruiken. “Op de planning” staat op de roadmap en verkopen we niet als belofte.

Banner en toegankelijkheid

Cookiebanner in shadow DOM

Beschikbaar

Een nette banner die de opmaak van je site niet raakt en meekleurt met licht en donker. In beide weergavemodi voldoet het contrast aan WCAG AA.

Drie lay-outs (box, cloud, bar)

Beschikbaar

Je kiest de vorm en positie die bij je site past; een weigerknop die visueel gelijkwaardig is aan accepteren wordt bij publicatie afgedwongen.

WCAG 2.1 AA-toegankelijkheid

Beschikbaar

Bezoekers met een schermlezer of alleen een toetsenbord kunnen echt kiezen. Zonder dat is hun toestemming niet geldig.

Nederlandstalig, banner en dashboard

Beschikbaar

Geen vertaalde Amerikaanse teksten maar Nederlandse copy als uitgangspunt, afgestemd op de uitleg van de AP.

Blokkeren en signalen

Google Consent Mode v2

Beschikbaar

Alle zeven signalen, met defaults vóórdat je Google-tags laden. Je Ads- en GA4-meting blijft kloppen; de volgorde is precies waar het elders misgaat.

Tracker-blokkering vóór toestemming

Beschikbaar

Scripts staan op non-actief (type="text/plain") tot de bezoeker kiest. Bij toestemming gaan ze in de oorspronkelijke volgorde alsnog aan, zonder herladen.

Iframe-placeholders

Beschikbaar

YouTube en andere embeds tonen een placeholder op exact hun eigen formaat: geen verspringende pagina, geen cookies vóór de keuze.

Late-script-detectie

Beschikbaar

Scripts die een tag manager later toevoegt, worden via een MutationObserver alsnog onderschept.

Beheer

Onveranderbare configuratieversies

Beschikbaar

Elke publicatie is een bevroren versie. Je kunt exact laten zien welke banner een bezoeker op welke dag zag; elk record verwijst ernaar.

Directe rollback

Beschikbaar

Ging een publicatie mis, dan zet je met één klik de vorige versie terug.

Report-mode vóór live-mode

Beschikbaar

Nieuwe configuratie start in report-mode: je ziet wat er geblokkeerd zóu worden zonder dat er iets aan je site verandert. Pas daarna zet je live.

Kleine embed, één script tag

Beschikbaar

De kern is kleiner dan 4 KB (brotli); de banner-UI laadt asynchroon erna. Een terugkerende bezoeker met een geldige keuze laadt de UI helemaal niet.

Zelf gehost in de EU

Beschikbaar

Je toestemmingsdata staat op EU-infrastructuur in eigen beheer, met een eigen database. Niet bij een Amerikaanse cloud-CMP.

Live operator-dashboard met registraties

Beschikbaar

Zoek elke registratie op, zie het bevroren banner-snapshot erbij en volg live wat er binnenkomt.

Publieke voorbeeldpagina (/voorbeeld)

Beschikbaar

Bekijk de banner, het blokkeren en het logboek werkend, zonder account.

Logboek en bewijs

Append-only toestemmingslogboek

Beschikbaar

Elke keuze wordt toegevoegd, nooit overschreven. Ook een intrekking blijft als gebeurtenis zichtbaar; de database weigert wijzigingen op rijniveau.

Cryptografische zegels, elke 5 minuten

Beschikbaar

Nieuwe records worden elke vijf minuten verzegeld in een geketende Merkle-boom. Wie één record aanpast, moet elk volgend zegel herschrijven.

Dagelijks anker buiten de server

Beschikbaar

Eén wortel-hash per dag verlaat de server. Daarmee valt antedateren niet meer aannemelijk te maken.

Export met kettingbewijs (JSON/CSV)

Beschikbaar

Bij export wordt elk zegel opnieuw berekend vanaf de records zelf. Het bestand vertelt zelf of het logboek intact is; een mismatch is het alarm.

Fail-closed opslaan

Beschikbaar

Een keuze die niet aantoonbaar is opgeslagen wordt nooit als toestemming geclaimd. Trackers gaan pas aan na een bevestigde opslag; mislukt die, dan blijft de banner open.

Intrekken van toestemming

Beschikbaar

Intrekken kan op elk moment. Cookies van ingetrokken categorieën worden client-side opgeruimd en de intrekking landt in het logboek.

Op de planning

Cookiescanner in twee fasen

Op de planning

Scant je site in geweigerde én toegestane staat. Alles wat vóór toestemming vuurt wordt een bevinding met pagina-URL en veroorzaker.

Automatische cookieverklaring en vendorbeheer

Op de planning

De cookietabel in je beleid, in de banner en in de blokkeerregels komt uit één bron en kan niet meer uit de pas lopen.

Getekend bewijspakket met open verifier

Op de planning

Een ondertekende export plus een los verificatiescript, zodat een derde de keten controleert zonder ons te hoeven vertrouwen.

WordPress-plugin, Next.js SDK, GTM-template, Shopify-app

Op de planning

Installeren zonder handwerk, ook op headless sites en achter page caching.

Engels en Duits

Op de planning

Dezelfde banner in meer talen; Nederlands blijft de gegarandeerde basis.

Bureau-dashboard

Op de planning

Alle klantsites in één overzicht, met sub-accounts, bulk-publicatie en één factuur.

Global Privacy Control

Op de planning

Een GPC-signaal telt als weigering voor advertentiecategorieën en wordt met die herkomst vastgelegd.

Toegankelijkheidsrapport (EN 301 549)

Op de planning

Een conformiteitsrapport per SDK-versie, met kant-en-klare tekst voor je eigen toegankelijkheidsverklaring.

Waarin dit verschilt van een gewone CMP

Een gewone CMP
ConsentLedger
Toestemmingslog
Herschrijfbaar databaserecord
Append-only keten, elke 5 minuten verzegeld, dagelijks verankerd buiten de server
Blokkeren
Vaak cosmetisch; trackers vuren toch
Scripts staan uit tot er een keuze is; embeds achter een placeholder op ware grootte
Bewijs bij een verzoek
CSV zonder integriteitsverhaal, weigeringen ontbreken
Export met volledig toestaan/weigeren-beeld en herberekend kettingbewijs
Bannerhistorie
Niet te achterhalen welke banner er destijds stond
Elke publicatie is een bevroren versie waar elk record naar verwijst
Mislukte opslag
Toestemming wordt toch geclaimd
Fail-closed: zonder bevestigde opslag geen claim en geen trackers
Hosting
Amerikaanse cloud
EU, eigen beheer, eigen database

Wat we niet beloven

  • Geen “gegarandeerd AVG-proof”. ConsentLedger levert bewijs, geen vrijwaring. Compliance hangt ook af van je teksten, grondslagen en verwerkersafspraken.
  • Geen Google-certificering. Die is alleen vereist voor AdSense-, Ad Manager- en AdMob-publishers. Wij implementeren Consent Mode v2 correct en zeggen het precies zo.
  • Geen IAB TCF. Voor merk-, e-commerce- en leadsites is TCF onnodige complexiteit en extra juridisch risico.
Start gratis

Veelgestelde vragen

Ben ik met ConsentLedger automatisch AVG-compliant?

Nee, en wantrouw iedereen die dat wel belooft. ConsentLedger zorgt dat trackers wachten op toestemming en dat je elke keuze kunt aantonen. Voor je teksten, grondslagen en verwerkersovereenkomsten blijf je zelf verantwoordelijk.

Breekt dit mijn site?

Elke publicatie start in report-mode: je ziet eerst wat er geblokkeerd zóu worden, zonder dat er iets verandert. Het blokkeren zelf is declaratief, scripts staan op non-actief in je eigen HTML, dus er is geen race met andere scripts. Elke release draait bovendien door een testset met echte tag-patronen.

Wat merkt de bezoeker ervan?

Een banner die snel laadt en de pagina niet laat verspringen. De kern is kleiner dan 4 KB; een terugkerende bezoeker met een geldige keuze ziet helemaal niets en laadt de banner-UI niet eens. Weigeren werkt altijd direct, ook als onze server even onbereikbaar is.

Werkt dit met Google Ads en GA4?

Ja. ConsentLedger stuurt alle zeven Consent Mode v2-signalen, met de juiste defaults vóórdat je Google-tags laden — de volgorde is precies waar het elders misgaat. Je conversiemeting en GA4-rapportages blijven werken binnen de keuzes van de bezoeker.

Is ConsentLedger een Google-gecertificeerde CMP?

Nee, en dat zeggen we precies zo. Certificering is alleen vereist voor AdSense-, Ad Manager- en AdMob-publishers. Voor merk-, e-commerce- en leadsites is een correcte Consent Mode v2-implementatie wat telt, en die leveren we.

Hoe verhoudt een onveranderbaar logboek zich tot het recht op vergetelheid?

Bij een verwijderverzoek wissen we de persoonsgegevens in het record (IP, user-agent, pagina); de digest en het zegel blijven staan. Zo blijft bewijsbaar dát er een keuze was en dat het logboek intact is, zonder dat er nog persoonsgegevens in staan. Precies wat art. 17 lid 3 sub e toelaat.

Begin vandaag met vastleggen

Maak een account, plak één script tag en zet report-mode aan. Binnen een dag zie je wat er op je site vuurt vóór toestemming. Vanaf dat moment bouwt elk bezoek aan je bewijspositie.

EU-gehost · gratis instapniveau · export in JSON en CSV