Technical audit · 13.05.2026

efta.int

EFTA — an Intergovernmental Trade Organization

The trade association of Norway, Iceland, Liechtenstein, and Switzerland. Datawrapper instead of Flourish — a German, GDPR-compliant alternative. But Matomo Cloud with HeatmapSessionRecording fires with no consent, and Google CSE brings in advertising infrastructure.

Request timeline

+242 ms · banner
Cookiesjsr (a Drupal module) — the CMP begins loading from the proprietary server.
+276 ms · before the banner
Google CSE (cse.google.com) — site search via Google. Data goes to Google, USA.
+301 ms · before the banner
Matomo Cloud (eftaint.matomo.cloud) — analytics. New Zealand/USA.
+421 ms · without consent
Matomo HeatmapSessionRecording — heatmap recording. Before any interaction with the banner.
+461 ms · without consent
Datawrapper (datawrapper.dwcdn.net) — interactive maps and charts. Germany.
+1918 ms · without consent
Google Ad Traffic Quality (ep1.adtrafficquality.google) — advertising infrastructure via CSE.
+2802 ms · without consent
Google Ads (pagead2.googlesyndication.com) — an advertising script via CSE.

Declared versus actual

+ Matomo Cloud HeatmapSessionRecording — not declared
+ Google Custom Search Engine — not declared
+ Google Ad Traffic Quality — not declared
+ Google Ads (via CSE) — not declared

Transfer timings

+276 ms cse.google.com

Google CSE search. USA

+301 ms eftaint.matomo.cloud

Matomo Cloud + HeatmapSessionRecording

+1918 ms ep1.adtrafficquality.google

Google advertising infrastructure via CSE

Detected trackers

Indicators of GDPR non-compliance

Context

The European Free Trade Association (EFTA) is an intergovernmental organization bringing together Iceland, Liechtenstein, Norway, and Switzerland. It administers a free-trade area and the EEA Agreement. Not an EU institution, but closely tied to European law. Falls under GDPR as an organization processing EU citizens’ data. The site runs on Drupal. HAR: 267 requests, 11 domains.

Datawrapper — the right choice for visualizations

datawrapper.dwcdn.net is Datawrapper, a German platform for interactive charts and maps (Datawrapper GmbH, Berlin). Unlike Flourish (American), Datawrapper operates within the EU and complies with GDPR. 20 requests per session: two interactive maps — the Roboto font served from Datawrapper’s own CDN (static.dwcdn.net), with data in CSV format. This is a deliberate choice of a European alternative — the same principle as ENISA’s use of PeerTube.

Matomo Cloud + HeatmapSessionRecording

eftaint.matomo.cloud (+301 ms) — cloud-hosted Matomo (InnoCraft, New Zealand), the same as the Court of Justice of the EU. But EFTA goes further: at +421 ms, HeatmapSessionRecording/configs.php loads — a module for recording heatmaps and sessions. This means the site does not simply count visits — it records every visitor’s mouse movements and clicks. Heatmap & Session Recording requires explicit consent under GDPR. It activates before the banner even appears.

Google CSE — search bundled with advertising

Google Custom Search Engine (+276 ms) is embedded for site search. But CSE in ad-supported mode brings along Google Ad Traffic Quality (adtrafficquality.google) and Google Ads (pagead2.googlesyndication.com). EFTA is a nonprofit trade organization, yet Google advertising appears as a side effect of the free CSE tier. Fix: a paid, ad-free Google CSE tier, or a proprietary search solution (Typesense, Meilisearch).

Cookiesjsr — a CMP that doesn’t block

The Drupal Cookies/CookiesJSR module (cookiesjsr) is a good-faith attempt at implementing a CMP. But it loads at +242 ms, while Google CSE loads at +276 ms and Matomo at +301 ms — all before the banner is ready. The configuration does not block trackers until consent.

Conclusion

EFTA made the right choice on visualizations — Datawrapper instead of Flourish. But Matomo Cloud with HeatmapSessionRecording firing with no consent, Google CSE bringing in advertising infrastructure, and Cookiesjsr not blocking trackers are three specific points to fix. Self-hosted Matomo without HeatmapSessionRecording, a paid CSE tier, and correctly configuring the CMP would resolve all three.

Evidence

How to verify: download the file and compute its checksum — sha256sum file.har (Linux, macOS) or certutil -hashfile file.har SHA256 (Windows); it must match the one shown. The conclusions apply to the scope of this measurement — see the limitations of the method.

Original (audit)
HAR file: eu/efta-int-2026-05-13.har
SHA-256: d9286a8df3e2d862cbd555bce350ff785b71b9de77b8eb617003bb293b614dcc
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.