Compliance Radar™ · Public methodology
How the radar works
12 technical checks on the main European regulations 2025–2027. No extrapolation, no 100% score. What is not measurable is marked "unverifiable".
Timeline and scope
AI Act: transparency on 2 August 2026; Annex III high-risk systems on 2 December 2027; Annex I products on 2 August 2028. The DSA generally applies from 17 February 2024, depending on the service. CSRD does not create a universal obligation for every small business or website.
Technical score out of 100 — 100/100 is achievable
The score is calculated out of exactly 100 points, distributed across the 12 technical checks detailed below. Each criterion contributes its full weight if the proof is detected. A site that is flawless on the front-end can therefore reach 100/100.
Scope of the score: this score describes only observed technical elements, without legal certification. It does not replace human review covering:
- GDPR processor contracts (art. 28),
- the record of processing (art. 30),
- actual retention durations,
- staff training,
- internal governance and DPIAs.
The result depends on the elements accessible at scan time and technical limitations; human review remains necessary.
Source: GDPR art. 24 (controller's accountability) + EDPB 4/2019 accountability guidelines.
The 4 possible statuses
Technical evidence detected — the criterion is verified.
Incomplete or ambiguous evidence — human review recommended.
No evidence detected — regulatory risk identified.
The criterion cannot be assessed automatically (manual audit required).
The 12 checks
Total weighting: 100 points. Each check is tied to a specific European regulation.
GDPR — Regulation (EU) 2016/679
In force since 25/05/2018
Secure HTTPS connection
10 ptsWhat we measure: The site is served over HTTPS with a valid TLS certificate.
How: We check that the final URL after redirects starts with https://.
Thresholds: 🟢 COMPLIANT if HTTPS · 🔴 NON COMPLIANT otherwise.
Ref.: RGPD — Regulation UE 2016/679 art. 32
Cookie banner (Accept / Reject / Customise)
12 ptsWhat we measure: A consent mechanism with free choice is present.
How: Keyword detection (cookies, consent, accept, reject, settings) in the HTML.
Thresholds: 🟢 banner + reject button · 🟠 banner only · 🔴 nothing · ⚪ JS-loaded dynamically.
Ref.: RGPD art. 7 + ePrivacy + recommandation CNIL 2020-091
Third-party trackers vs consent
12 ptsWhat we measure: No tracker (GA, Meta Pixel, Hotjar...) fires before consent.
How: Scan the HTML for known third-party scripts + correlate with banner presence.
Thresholds: 🟢 no tracker detected · 🟠 trackers + banner · 🔴 trackers without banner · ⚪ static analysis limited.
Ref.: RGPD art. 7 + ePrivacy art. 5(3)
Legal notice / privacy page
10 ptsWhat we measure: Existence of a Legal Notice or Privacy Policy page.
How: Search for links containing /legal, /privacy, /imprint.
Thresholds: 🟢 page found + GDPR content · 🟠 link without verifiable content · 🔴 missing.
Ref.: RGPD art. 13-14
eIDAS 2 — Regulation (EU) 2024/1183
In force
Publisher identification
8 ptsWhat we measure: Identification elements present (company number/VAT, legal name, address).
How: Detection of BE0xxx patterns, VAT, company number, postal address.
Thresholds: 🟢 complete · 🟠 partial · 🔴 missing.
Ref.: eIDAS 2 — Regulation UE 2024/1183 art. 26
Digital Services Act — Regulation (EU) 2022/2065
General application 17/02/2024
Notice & action mechanism
7 ptsWhat we measure: Ability to report illegal content (form, email, dedicated link).
How: Search for links "report", "flag", "notice", or a DSA page.
Thresholds: 🟢 dedicated mechanism · 🟠 generic contact · 🔴 missing.
Ref.: DSA — Regulation UE 2022/2065 art. 16
European Accessibility Act — Directive (EU) 2019/882
Deadline 28/06/2025
Declared language (<html lang>)
6 ptsWhat we measure: The lang attribute is set on the <html> tag.
How: Direct parsing of the lang attribute in the served HTML.
Thresholds: 🟢 lang present · 🔴 missing.
Ref.: EAA — Directive UE 2019/882 + WCAG 2.1 criterion 3.1.1
Images with alt attribute
9 ptsWhat we measure: At least 80% of <img> tags have a non-empty alt attribute.
How: Count <img> tags and ratio with/without alt.
Thresholds: 🟢 ≥ 80% · 🟠 50–79% · 🔴 < 50% · ⚪ no image detected.
Ref.: EAA + WCAG 2.1 criterion 1.1.1
Accessibility statement
7 ptsWhat we measure: Public "Accessibility" page following the European template.
How: Search for /accessibility links or dedicated content.
Thresholds: 🟢 dedicated page · 🔴 missing.
Ref.: EAA — Directive UE 2019/882 (applicable 28/06/2025)
AI Act — Regulation (EU) 2024/1689
Transparency 02/08/2026 · Annexes III 02/12/2027 and I 02/08/2028
AI transparency
7 ptsWhat we measure: Mention of generative AI or chatbot usage, if present.
How: Detect chatbots, AI widgets + search for "AI", "generated by" mentions.
Thresholds: 🟢 mention present or no AI · 🟠 AI detected without mention · ⚪ limited analysis.
Ref.: AI Act — Regulation UE 2024/1689 art. 50 (applicable 02/08/2026)
CO₂ footprint — W3C indicative benchmark
Sector reference
HTML weight
7 ptsWhat we measure: Size of the main HTML document (images excluded).
How: Measure the size of the HTML returned by the initial request.
Thresholds: 🟢 < 200 KB · 🟠 200–500 KB · 🔴 > 500 KB.
Ref.: Indicative reference — Web Sustainability Guidelines W3C
HTTP compression
5 ptsWhat we measure: HTTP response served with gzip or brotli compression.
How: Read the Content-Encoding header of the response.
Thresholds: 🟢 gzip/br · 🔴 no compression.
Ref.: Indicative reference environmental
Limits & accountability
This report is generated on the basis of an automated analysis of visible technical elements. It does not replace a full legal audit by a qualified professional. References to EU regulations are indicative and must be confirmed by qualified counsel before any litigation or declaration.