Audit cookie consent
without the guesswork

Open-source CLI that scans any website for GDPR compliance — detects dark patterns, scores 4 regulatory dimensions, and generates ready-to-share HTML reports.

$ npx @slashgear/gdpr-cookie-scanner scan https://example.com
$ docker run --rm ghcr.io/slashgear/gdpr-cookie-scanner scan https://example.com

What it checks

Four compliance dimensions, each scored out of 25 — total 100 points.

🎭

Dark pattern detection

Catches pre-ticked boxes, buried reject buttons, asymmetric button sizing, misleading wording, and click asymmetry.

📊

Score 0–100

Grades A–F across consent validity, easy refusal, transparency, and cookie behaviour — with per-issue deductions.

📄

Detailed HTML report

Full compliance report with score breakdown, dark pattern evidence, cookie inventory, and IAB TCF analysis — ready to share or attach to an audit.

⚙️

CI-friendly

Exits with code 1 on grade F. Drop it into any pipeline to block non-compliant deployments automatically.

Live GDPR reports

Real scans run on Feb 2026. Click to open the full interactive HTML report.

B

radiofrance.fr

87 / 100

Scanned 24 Feb 2026

View report →
B

deezer.com

80 / 100

Scanned 22 Feb 2026

View report →
B

backmarket.fr

77 / 100

Scanned 24 Feb 2026

View report →
C

france.tv

71 / 100

Scanned 23 Feb 2026

View report →
C

netflix.com

71 / 100

Scanned 23 Feb 2026

View report →
C

20minutes.fr

68 / 100

Scanned 22 Feb 2026

View report →
C

tf1.fr

61 / 100

Scanned 23 Feb 2026

View report →
C

m6.fr

58 / 100

Scanned 28 Feb 2026

View report →
D

arte.tv

53 / 100

Scanned 24 Feb 2026

View report →

How it works

4 sequential phases using real Chromium browsers via Playwright.

1

Load without interaction

Captures all cookies and network requests fired before any user action — the baseline for tracking before consent.

2

Detect consent modal

Tries known CMP selectors, then falls back to DOM heuristics. Extracts buttons with visual properties for dark-pattern analysis.

3

Reject & capture

Clicks the reject button in the same session and records remaining cookies — checking what persists after refusal.

4

Fresh session, accept

Opens a clean browser, accepts consent, and compares the cookie delta to validate that consent actually changes behaviour.