GDPR Consent Proof requirements — check your consent records free

Lints stored consent-record JSON against the GDPR Article 7(1) proof-of-consent fields a supervisory authority asks for. Offline, no telemetry. Runs entirely in your browser — nothing is uploaded.

Get the full version — $29 · $29 once · one licence key per person or team seat · A GDPR consultant reviewing a consent log bills $150 to $250 an hour.

Same engine as the VS Code extension, byte for byte.

Install free

Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.

VS Code MarketplaceOpen VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hub
ext install ReadyStack.consent-proof-record-lint
npx @readystack/consent-proof-record-lint <file>
npx @readystack/consent-proof-record-lint --mcp

Team? One key for every ReadyStack linter, 5 seats, $149 once

Get the full rule table as a PDF
All 14 rules Consent Proof Record Lint (GDPR Art.7) checks, each with its source and date, on printable pages you can hand to your team or auditor. We email it now, and once more only if a rule changes. No newsletter.

Get the full version $29

Runs every consent-record file in the workspace in one pass instead of the one file you have open, and writes a dated evidence report you keep and hand to the auditor. Same 14 rules; the axis is scope and ownership, not a crippled free tier.

One payment, one licence key for this tool. The key is shown right after payment.

A GDPR consultant reviewing a consent log bills $150 to $250 an hour.

Buy the full version — $29
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

Consent Proof Record Lint (GDPR Art.7)

Four consent records, fifteen findings, and not one of them provable — that is what a Berlin retailer's own consent log returned the first time it was read as evidence instead of as a table.

The team had done the visible part right. The banner rendered, reject-all sat next to accept-all, nothing fired before the click. What nobody had read was the row the code wrote afterwards. GDPR Article 7(1) is blunt about which of the two matters: "the controller shall be able to demonstrate that the data subject has consented." A banner that renders is not a demonstration. The stored record is.

Most consent logs are a user id, a timestamp and a boolean. That is also, almost exactly, what an AI assistant produces when you ask it to store the consent — and it is the shape that passes code review, because as a database row there is nothing wrong with it. It fails as evidence, for four separate reasons, and a complaint surfaces all four at once.

It cannot say which wording the person read. Without a hash of the exact text, a later rewrite quietly inherits the old version label. It cannot say whether anything was already switched on before the person acted — Recital 32 rules out pre-ticked boxes and silence, so a record that does not distinguish granted-by-default from granted-by-click is not recording consent at all. It cannot say how the person could take it back, which Article 7(3) requires to be as easy as giving. And it usually has no end date, so a consent given in 2024 is still being relied on today, against Article 5(1)(e) and against the six-to-thirteen-month refresh window supervisory authorities work to.

Consent Proof Record Lint reads that file directly. The VS Code extension carries 14 rules, each tied to a named source: Articles 4(11), 5(1)(e), 6(1)(a), 7(1), 7(3) and 13(1)(a), Recital 32, EDPB guidelines 05/2020, and IAB TCF v2.2 for the case where a tc_string is stored without the cmp_id that produced it. Open the JSON, run one command, and every finding lands in the Problems panel on the line of the record that caused it.

The numbers in the first sentence are reproducible. Two fixtures ship inside the extension. _fixtures/clean.json holds three well-formed records and returns 0 findings. _fixtures/dirty.json holds four records from a homegrown logger and returns 15 findings — 10 errors and 5 warnings — and trips all 14 rules between them. Run both before you point the linter at anything of your own.

Free cookie scanners do not cover this. A scanner loads the page and reports which trackers fire before consent; that is the front of the house. Article 7(1) asks about the back, and no scanner opens the log you stored.

The clock is the part teams underestimate. Article 12(3) gives one month to answer a data subject's request, and Article 83(5) puts consent breaches in the top fine tier — up to 20 million euro or 4% of worldwide annual turnover. A GDPR consultant reviewing a consent log bills 150 to 250 dollars an hour,.

Checking the file you have open is free and complete: all 14 rules, every finding on its line, running entirely on your machine with no network call and no telemetry — which matters, because the file being linted is a log of other people's decisions. A free web page runs the same engine with nothing installed. When the audit is not one file but the whole log, the full version runs every consent-record file in the workspace in one pass and writes a dated evidence report you keep and hand to the auditor.

15 seconds — what it actually does

Questions people ask

What does Consent Proof Record Lint actually do?

It reads a consent-record JSON file in your editor and checks it against 14 rules drawn from GDPR Articles 4(11), 5(1)(e), 6(1)(a), 7(1), 7(3) and 13(1)(a), Recital 32, EDPB guidelines 05/2020 and IAB TCF v2.2. Every finding lands in the Problems panel on the line of the record that caused it, with the article named.

Who is this for?

EU web and platform engineers who own the consent log rather than the banner: the person a DPO forwards a complaint to. If your consent table is a user id, a timestamp and a boolean — the shape an AI assistant writes when asked to store the consent — this reads that table and tells you what a supervisory authority will find absent.

Cookie scanners are free. Why not use those?

A scanner loads your page and reports which trackers fire before consent. That is the front of the house. Article 7(1) asks about the back: the stored record. No scanner opens your consent log, and a chatbot asked to review it will not reliably count pre-checked defaults or a missing notice version record by record. This reads the file you actually stored.

What is free and what is paid?

Free is complete for one file: all 14 rules on the consent-record JSON open in your editor, every finding on its line with its article. The free web page does the same with no install. The full version, $29 once, runs every consent-record file in the workspace in one pass and writes a dated evidence report you keep and hand to the auditor.

What would this cost done by a person?

A GDPR consultant reviewing a consent log bills $150 to $250 an hour, and the review has to be redone every time the record shape changes. Article 12(3) gives you one month to answer a data subject's request, which is not enough time to book that hour. The extension is $29 once,.

Why not just ask ChatGPT or another AI chat?

A general AI chat answers from training data with a cutoff date, cannot read your repository and names no rule version. Consent Proof Record Lint (GDPR Art.7) checks the file you open against 14 rules, each naming its legal or official basis, from a rule set dated 2026-09-20, and points at the exact line. For a filing, an audit or a client you need that dated result on your own files.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.

Embed this tool on your site (free)

Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.

 All embeddable tools

For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. See Pro →