Technical audit · 2026-08-19

www.eesti.ee

Estonian state portal

The Estonian state portal — 1240 requests, 9 nodes, an 8-minute recording, with a login to the personal account and work in the medical sections. The architecture of the authenticated zone is set up strictly: all infrastructure is state-owned, authentication is via TARA and GovSSO, the content-security-policy is restricted to the domains of Estonian agencies, the fonts are the own ones. The Matomo counter is state-owned and fired late, transmitting only the URL of a service page — the medical sections did not reach the analytics. The only recipient outside the state infrastructure is the third-party Cloudflare Insights analytics, which the policy does not disclose in its list of recipients.

Timeline of the leak

+0 ms · browser telemetry (not the portal)
At the very start of the recording there is one request to browser.events.data.msn.com with the origin ntp.msn.com — telemetry of the start page of the Microsoft Edge browser. It has nothing to do with the eesti.ee portal and does not enter the analysis of its behaviour.
+7224 ms · loading the portal
The home page www.eesti.ee is opened. Served through Cloudflare (server: cloudflare). Set: strict transport, the content-type-sniffing ban, the referrer policy strict-origin-when-cross-origin, a permissions policy, and a strict content-security-policy restricting sources to the domains of Estonian state agencies. The browser was sending the DNT: 1 header.
+7545 ms · third-party performance analytics
static.cloudflareinsights.com/beacon.min.js — the only node external to the state infrastructure, initiated by the page itself.
+65911…+199442 ms · work in sensitive sections
Navigation across the personal-account sections: incapacity-for-work certificates, prescriptions, dentistry, health insurance, the European health insurance card, accounts, health data, social insurance, authorisations. All content is served from the state infrastructure.
+373472 ms · Matomo on the data-tracking page
On the andmejälgija page ('Data tracking') matomo.ria.ee/matomo.js is loaded and a matomo.php request goes out: idsite 73, the andmejälgija page URL and the title 'Data tracking'. The URL transmitted is only that of this service page; the URLs of the medical sections viewed earlier did not reach the request.

Declared versus actual

Controller — the State Information System Authority (RIA), registry code 70006317, Pärnu mnt. 139a, Tallinn; data-protection specialist — andmekaitse@ria.ee — заявлен
RIA is the controller for the recording of user behaviour and route across the whole portal, as well as for the analytics and development of the portal (clause 3.5.1 g, h) — заявлен
Collected: technical information, IP address, browser identifier, movement across the portal — logs; on login — full name, personal code, authentication data — заявлен
Authorised processors may be advertising and marketing partners (information from cookies), consultants, the cloud service provider RIT (clause 12.2) — заявлен
Cloudflare (under CERT management) is used to protect traffic from cyberattacks (clause 13) — заявлен
Pseudonymisation: the cookie value is stored in the logs without a unique identifier (clause 13) — заявлен
Data is processed within the EEA; it may go beyond it only when forwarding messages from the mailbox to an external provider (clause 12.4) — заявлен
Supervisory authority — the Data Protection Inspectorate (Andmekaitse Inspektsioon) — заявлен
+ Cloudflare Insights — third-party performance analytics, not disclosed in the list of recipients (Cloudflare is named only as protection against attacks) — не заявлен
+ Matomo on matomo.ria.ee — the visit counter is not named individually — не заявлен
+ The transmission of the IP address and referrer to Cloudflare on loading the analytics — не заявлен

Transfer timings

+7545 ms static.cloudflareinsights.com

Performance analytics, the referrer and IP address go to Cloudflare, 7 requests.

+39214 ms tara.ria.ee

TARA — Estonia's login system, own infrastructure.

+38935 ms govsso.ria.ee

GovSSO — single sign-on, own infrastructure.

+373472 ms matomo.ria.ee

Matomo on RIA; only the andmejälgija page URL was transmitted, idsite 73.

+0 ms browser.events.data.msn.com

Origin ntp.msn.com — the Microsoft Edge start page, outside eesti.ee behaviour.

Detected trackers

Indicators of GDPR non-compliance

Context

www.eesti.ee is the Estonian state portal, the single point of access for citizens to the state’s electronic services. The controller is the State Information System Authority (RIA), registry code 70006317, Pärnu mnt. 139a, Tallinn; the data-protection specialist is andmekaitse@ria.ee. The site is served through Cloudflare (server: cloudflare); the content is in Estonian and Russian.

The recording: 1240 requests, 9 nodes, a recording length of 484 seconds (about eight minutes), taken on 19 August 2026. The recording was made with a login to the personal account: authentication via the state systems TARA and GovSSO, then work in sections containing health and social-security data. Of the nine nodes, the overwhelming majority are Estonian state infrastructure: the portal itself, the *.ria.ee subdomains (authentication and Matomo), buerokratt.eesti.ee (the chatbot). Outside the state infrastructure — static.cloudflareinsights.com (third-party analytics, 7 requests) and one request to Microsoft browser telemetry not related to the portal.

The processing is described by the privacy policy of the eesti.ee state portal (RIA), version of 9 April 2025: eighteen sections, a separate processing table for each service, an analysis of the roles of controller and processor.

Who receives data directly

Beyond the Estonian state infrastructure — only Cloudflare Insights.

Declared versus actual

For an authenticated zone with medical data, the architecture is set up strictly. This should be said directly, since the case is atypical. Login is carried out via the state authentication systems TARA and GovSSO. The content-security-policy restricts sources to the domains of Estonian state agencies (*.ria.ee, *.eesti.ee, *.rik.ee, *.sotsiaalkindlustusamet.ee), the fonts are loaded from the own and state infrastructure, and a referrer policy and a permissions policy are set. All content of the medical and social sections is served from state nodes.

Analytics is disclosed in the policy as an activity. Unlike the typical story of an undisclosed counter, here the document names RIA directly as the controller for the recording of user behaviour and route across the whole portal and for the analytics and development of the portal (clause 3.5.1). That is, the very fact of analytics collection is declared. Only the specific tool — Matomo — is not named, but it is hosted on matomo.ria.ee, the infrastructure of the same controller agency.

The Matomo counter is state-owned, and the medical data did not reach it. Matomo fired late, on the “Data tracking” page (andmejälgija), and transmitted only the URL of this service page and its title. The URLs of the sections viewed earlier — incapacity certificates, prescriptions, health data — did not reach the request to Matomo. That is, the sensitive URLs did not leak into the analytics.

The only recipient outside the state infrastructure is Cloudflare Insights. The static.cloudflareinsights.com/beacon.min.js script is loaded on opening the portal and transmits the visitor’s IP address and referrer to an external performance-analytics node. This is the only transmission of data beyond the Estonian and pan-European state perimeter (the Microsoft browser telemetry does not relate to the portal). Here a subtlety matters: the policy in the security-measures section names Cloudflare directly — but only as a means of protection against cyberattacks under CERT management. The performance analytics cloudflareinsights.com is a different function, and it is not disclosed in the list of recipients of web data.

The policy reserves advertising partners — while the portal processes health data. Clause 12.2, among the authorised processors, names advertising and marketing partners (information from cookies). No advertising requests were recorded — advertising did not fire. But the very presence of such a category in the policy of a state portal through which health and social-security data pass is a wording that calls for caution: it permits what is not expected of such a portal.

A minimisation measure is declared. The policy states that pseudonymisation is applied: the cookie value is stored in the logs without a unique identifier (clause 13). This is noted in the operator’s favour.

Proven: all the main infrastructure is state-owned. Authentication, the content of the sections, the chatbot and Matomo are hosted on the domains of Estonian state agencies. The content-security-policy restricts loading to these domains.

Proven: the medical URLs were not transmitted to the analytics. The single request to Matomo carries the URL of the andmejälgija service page; the URLs of the medical and social sections visited earlier did not enter it.

Proven: Cloudflare Insights is loaded outside the state infrastructure and before the user’s choice. The request to static.cloudflareinsights.com is initiated by the markup at +7545 ms, with the portal referrer transmitted.

Not proven and not required: the content of the medical sections. What exactly of the health information was displayed to the user is immaterial to the conclusion and is not used in the analysis; response bodies were removed from the published file during sanitisation. What matters is that these URLs did not go to the third-party analytics.

Not proven and not asserted: the state of cookies on the device. Cookie headers and response bodies were removed from the published file during sanitisation.

Separately: the browser was sending the DNT: 1 header during capture.

Boundaries of observation

The recording covers the login to the personal account and work in the health, social-security and authorisations sections. The observation records the browser’s behaviour, not the services’ internal workings: server-side processing, contractual relationships with recipients and settings on their side are not verified by a browser recording. The legal assessment is made by the competent authority — Andmekaitse Inspektsioon.

The request to browser.events.data.msn.com relates to the telemetry of the start page of the Microsoft Edge browser (origin ntp.msn.com), not to the eesti.ee portal, and does not enter the analysis of the portal’s behaviour; it is listed only for the completeness of the recording. The TARA, GovSSO, Bürokratt and Matomo systems are hosted on the infrastructure of Estonian state agencies and are not treated as third-party commercial recipients.

The file is published sanitised of personal data: cookie headers in requests and response bodies were removed. The conclusion that the medical URLs did not reach the analytics rests on the network level — the composition of the parameters transmitted to Matomo is read from the recording, and the URL in the single request relates to the service page. Full identifiers are not reproduced in the analysis.

The identification of services rests on domains and address patterns: Cloudflare Insights — by cloudflareinsights.com; Matomo — by matomo.ria.ee and the files matomo.js, matomo.php; TARA and GovSSO — by tara.ria.ee and govsso.ria.ee; Bürokratt — by buerokratt.eesti.ee; the serving provider — by the server: cloudflare header.

Conclusion

The Estonian state portal, in the authenticated zone, behaves almost exemplarily for a portal of this level of sensitivity: login via state authentication systems, all infrastructure state-owned, the content-security-policy restricted to the domains of Estonian agencies, the fonts the own ones, behavioural analytics disclosed in the policy itself, and the Matomo counter, hosted on the infrastructure of the same controller agency, fired in such a way that the URLs of the medical sections did not reach the analytics.

There is essentially one discrepancy: the third-party performance analytics Cloudflare Insights — the only recipient outside the state infrastructure, transmitting the visitor’s IP address and referrer to an external node. The policy names Cloudflare only as a means of protection against attacks, but does not disclose the cloudflareinsights.com analytics in the list of recipients; Matomo, too, is not named individually. Separately, the wording of clause 12.2, which reserves advertising and marketing partners for the portal, draws attention — while health data passes through the portal; in the recording this category did not activate.

Remediation: abandon the third-party Cloudflare Insights performance analytics in favour of measurement by means of the state infrastructure or, if retained, disclose the Cloudflare analytics as a processor separately from the protection against attacks, with the fields transmitted and the legal basis indicated; name the recipients of web data in the cookie policy individually, including Matomo, with the purposes indicated; review the wording of clause 12.2 on advertising and marketing partners as applied to a portal processing special categories of data.

Evidence
Original (audit)
HAR file: ee/eesti-ee-2026-08-19.har
SHA-256: dcfcf7576c42827fcd2406a40e57254d75cf805c348b151dd87f08404715fdd8
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.
IMPORTANT: before filing a complaint with the regulator, first contact the company directly and give it 30 days to respond. Without this step the regulator may reject the complaint. Details and a template letter to the company are in the Methodology.
Ready-to-send complaint letter

Where to file: Estonian Data Protection Inspectorate (AKI) — write to info@aki.ee

Important: AKI only handles submissions in Estonian. Translate the letter before sending.

To: Estonian Data Protection Inspectorate (AKI)
From: [Your name], [contact email]

1. Subject of the complaint
I am filing a complaint regarding the processing of my personal data by the website www.eesti.ee.

2. Circumstances
I visited the website www.eesti.ee and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 19 August 2026 (open methodology, reproducible measurements) documents the following indications:

1) The site loads the third-party performance analytics Cloudflare Insights (static.cloudflareinsights.com) — the only recipient outside the state infrastructure of Estonia and the EU. The policy names Cloudflare directly as a means of protection against cyberattacks (clause 13), but does not separately disclose the performance analytics cloudflareinsights.com itself and does not include it among the recipients of web data. The Matomo counter on matomo.ria.ee is also not named individually in the policy, although the very fact of analytics of user behaviour is disclosed (clause 3.5.1).

2) Cloudflare Insights is loaded on a portal processing special categories of data and transmits the visitor's IP address and referrer to a node external to the state infrastructure. For a state portal of this level of sensitivity, third-party performance analytics is excessive: measurement can be carried out by means of the own or state infrastructure, as is already done with Matomo on RIA.

Full technical documentation is published at: https://gdpru.eu/en/audits/ee-eesti-ee/

3. Provisions violated
GDPR Art. 13(1)(e) — disclosure of recipients; GDPR Art. 5(1)(c) — data minimisation

4. Request
I request that you investigate the violations described and apply the measures provided for in Article 58(2) GDPR.

5. Attachments
The full evidence base — the HAR file, its SHA-256 checksum and the quotation from the site's privacy policy documenting the stated contradiction — is published and verifiable at the link in point 2 above.

[Date]                                    [Signature / name]