Technical audit · 09.05.2026

president.ee

Office of the President of Estonia

One of the cleanest sites in this series: 38 requests, zero analytics and advertising. The only external element is Google reCAPTCHA on the contact form to the President — and it's precisely this one the policy stays silent about.

Request timeline

Homepage load
Zero external trackers. No Google Analytics, Tag Manager, DoubleClick, Cloudflare Insights, or Google Fonts. Social media icons — local.
Consent banner
Completely absent. Zero consent requests, zero Set-Cookie.
+251330 ms · the contact form
reCAPTCHA v2 activates when navigating to the contact form: 7 requests to recaptcha.net, 10 to gstatic.com. The IP address, User-Agent, cookie _GRECAPTCHA, mouse movements, and fingerprint go to Google.

Declared versus actual

✓ Hotjar (absent from the HAR) — declared
✓ Google Analytics (absent from the HAR) — declared
✓ Google Maps (absent from the HAR) — declared
✓ Facebook (absent from the HAR) — declared
✓ Twitter (absent from the HAR) — declared
+ Google reCAPTCHA v2 — genuinely running, transmitting data, not mentioned once — not declared

Detected trackers

Indicators of GDPR non-compliance

Context

The country’s highest state institution. The head of state signs laws, ratifies international treaties, and appoints senior officials. Through the contact form, citizens write petitions and personal appeals to the President — often on sensitive matters.

What is done correctly

The most compact HAR in this series after eesti.ee — only 38 requests. No Google Tag Manager, no Google Analytics, no DoubleClick, no Cloudflare Insights, no browser-update.org, no Google Fonts. Zero advertising networks, social media icons are local, and no external scripts load on the homepage. One of the cleanest sites in this series.

The one external element — reCAPTCHA

reCAPTCHA v2 (Google) appears only when navigating to the contact form to the President — at +251330 ms from the start, not on homepage load. A public Site Key is visible in the HTML. In total: 7 requests to recaptcha.net and 10 to gstatic.com.

Every time it runs, reCAPTCHA transmits to Google: the IP address, User-Agent, the _GRECAPTCHA cookie (a unique session identifier), behavioral patterns (mouse movements, click timings), a browser fingerprint, and interaction history with other Google services, if the user is logged into them.

Declaration versus fact

The privacy policy states that Hotjar and Google Analytics collect cookies, and that Google Maps, Facebook, and Twitter receive data. Not a single request to any of these services appears in the HAR. Meanwhile, reCAPTCHA — which genuinely runs and genuinely transmits data — is never mentioned in the policy.

This mirrors the situation at sotsiaalkindlustusamet.ee: there, the policy declared a dead service (AddThis); here, it declares services that don’t exist and says nothing about the one that does.

Separately, the policy states: “IP addresses are not linked to identifying information.” But reCAPTCHA transmits the IP address to Google, and Google links IP addresses to user profiles as a matter of course. What the President’s Office doesn’t link does not mean Google doesn’t link it. The same wording appears at oiguskantsler.ee and sotsiaalkindlustusamet.ee — a state-wide template.

reCAPTCHA versus alternatives

reCAPTCHA is not the only way to protect forms from spam. hCaptcha (European, GDPR-compliant), Friendly Captcha (German, data stays in the EU), and a simple honeypot (a hidden field, zero external requests — used on eesti.ee) all exist. Choosing Google reCAPTCHA specifically for the form used to write to the head of state is a deliberate decision to transmit citizens’ data to an American corporation at the moment they reach out.

Conclusion

Technically, the site is nearly exemplary — which makes the one problem all the more noticeable. A citizen writing a petition or personal appeal to the President transmits their behavioral data and fingerprint to Google at the moment of submission. The policy says nothing about it, despite listing in detail services that aren’t even on the site.

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: ee/president-ee-2026-05-09.har
SHA-256: 7b2fd437ab9cb43cf3781447540a8c3720c5eee330328f381860aed25ff8f9a0
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.