A state institution managing Estonia's mandatory health insurance. Medical service payments, benefits, dentistry, pregnancy and child health, an electronic health portal. The site itself classifies its data as a special category under GDPR Art. 9.
Request timeline
Declared versus actual
Transfer timings
Cloudflare USA — before the banner appears
The user's IP address transmitted to Google, USA
Before consent
Google, USA, before consent
Detected trackers
- Google reCAPTCHA (in 'necessary')
- Google Fonts
- Cloudflare (hosting + NEL + Insights)
- Google Analytics (G-0FEP5VSTYR, consentMode:false)
Indicators of GDPR non-compliance
- GDPR Art. 7(4)Google reCAPTCHA is included in the 'necessary' category, marked 'always active' — declining it is technically blocked. Consent is not freely given.
- GDPR Art. 6(1), Art. 5(1)(a)cdn.jsdelivr.net (+214 ms), fonts.googleapis.com (+229 ms), and fonts.gstatic.com (+282 ms) fire before any interaction with the banner. An actual transfer, status 200.
- GDPR Art. 13(1)(e)Actual data recipients are not declared: Google Fonts, cdn.jsdelivr.net, Cloudflare (hosting + NEL + Insights), AWS, Tableau, TEHIK as a separate recipient, unpkg.com, cdnjs.cloudflare.com, npmcdn.com.
- GDPR Art. 13(1)(f)No transfer mechanism to the USA (SCC, adequacy decision, or otherwise) is stated for Google, Cloudflare, or AWS.
- GDPR Chapter VData transfer to the USA via Cloudflare hosting, Google Fonts, and NEL, with no legal mechanism stated.
- GDPR Art. 9On the site of an organization whose core activity is processing health data, undeclared processors run before consent. This occurs within a session that may involve eID authentication for access to the Terviseportaal — with no separate legal basis.
Getting to the substance
Tervisekassa handles data that its own policy classifies as a special category: health data, financial data, special categories of personal data under GDPR Art. 9. I opened the site, recorded the traffic, and analyzed the HAR file. 300 requests per session, 6 unique domains. And on this health-related site, undeclared American processors run before the user can click anything at all.
The banner: almost correct, but with a hole
The consent banner here is better than the ones at mil.ee, transpordiamet.ee, or valitsus.ee. Three buttons: settings, “reject all,” and “accept all.” A reject option exists. The category structure is correct — non-essential categories are off by default, as GDPR Art. 7 requires.
But there’s a detail. The “necessary cookies” category includes _grecaptcha — Google reCAPTCHA with a 180-day lifespan. The category is marked “always active” and cannot be turned off. This is the same dark pattern recorded at mil.ee. Google reCAPTCHA is not an Estonian service — it’s an American corporation, and technical alternatives exist. Placing Google in “necessary” with rejection blocked indicates non-compliance with Art. 7(4): consent is not freely given if it cannot be withdrawn without consequence.
What happens before consent
The page start is logged. From there — by the timings.
At +214 ms, cdn.jsdelivr.net loads — the script of the consent-banner plugin itself, hosted on a Cloudflare server in the USA. The load happens before the banner has even appeared on screen. Status 200, an actual transfer. cdn.jsdelivr.net is not declared in the policy.
At +229 ms — fonts.googleapis.com. Google Fonts requests the Open Sans and Noto Sans typefaces. Each such request transmits the user’s IP address to Google LLC, USA. Status 200. Google Fonts is not mentioned in the policy.
At +282 ms — fonts.gstatic.com, Google’s CDN for font files, a server in the USA. Status 200.
All of this happened before the user clicked any button. With no consent. On a site that calls itself a health-data processor.
Hosting architecture
The tervisekassa.ee server — IP 172.67.183.114 — is Cloudflare, USA. Every HTTP request to the Estonian Health Insurance Fund’s website passes through the American company’s infrastructure. Cloudflare sees the user’s IP address, User-Agent, visited URLs, and visit time. In the response headers, the server returns server: cloudflare, a cf-ray request identifier, and report-to pointing to a.nel.cloudflare.com — network error reports go to the USA. Cloudflare, as a data processor, is not mentioned in the policy, and no legal transfer mechanism to the USA is stated.
What the site permits itself
In the Content-Security-Policy header, the site lists which external resources it permits itself to load. Among them: Meta (*.facebook.net, *.facebook.com), Google Analytics, Google Tag Manager, Cloudflare Insights, Siteimprove (Denmark), AWS eu-north-1, Tableau (Salesforce), US CDNs (unpkg.com, cdnjs.cloudflare.com, npmcdn.com), as well as Estonia’s own TEHIK and the crossword site ristsonad.ee. The CSP is applied in enforce mode — block-all-mixed-content is present, and there is no Report-Only suffix. In other words, this is not a theoretical possibility, but active permission to load everything listed at any moment.
The homepage’s HTML, via the cookiesjsr configuration, discloses a Google Analytics identifier, G-0FEP5VSTYR, with the parameter consentMode:false — GA activates only after consent. In the captured session, no consent was given, so no transfers to Google Analytics appear in the HAR. This is correct behavior — but only on the condition that the declared list of recipients matches reality. Here, it doesn’t.
Discrepancy between policy and reality
The policy (last updated 06.03.2026) declares SSESS, cookiesjsr, hc, _grecaptcha under necessary cookies; Siteimprove/nmstat under analytics, with a Danish address stated; Google Tag Manager and Facebook Pixel under marketing; YouTube under video; and Power BI is mentioned in passing, with no note that data may go to Microsoft.
Not declared are actually running or permitted recipients: Google Fonts, cdn.jsdelivr.net, Cloudflare as hosting and NEL, AWS eu-north-1, Tableau, TEHIK as a separate recipient, Insights in the CSP, unpkg.com, cdnjs.cloudflare.com, npmcdn.com. This indicates non-compliance with Art. 13(1)(e): the data subject must know all recipients of their data.
reCAPTCHA leads to Google
At the bottom of the policy page and beneath the contact form is a note that the site is protected by reCAPTCHA, and that Google’s privacy policy and terms of service apply. The words “privacy policy” and “terms” are clickable links leading directly to google.com. This is the same pattern recorded at inforegister.ee: a user trying to learn how their own data is processed is redirected to Google. The browser sends a Referer header carrying the address of Tervisekassa’s policy page — Google learns who came, from where, when, and what they were reading.
Context that changes everything
Tervisekassa is not an online store. It is an organization that processes data on every insured person’s medical cases, prescribed medications, dental treatment, pregnancy and child health, medical services received abroad, sick leave, and insurance payments. In its own policy, it explicitly classifies this as a special category of personal data under GDPR Art. 9 — the highest level of protection provided by law.
The homepage has a section titled “My Data: Health Portal” — a direct link to a citizen’s personal medical data. In a session where a citizen authenticates via ID card or Mobile-ID, undeclared American processors are running: Cloudflare as hosting, Google Fonts, AWS in the CSP. This requires separate legal justification under Art. 9 — which does not exist.
Conclusion
On the banner, Tervisekassa is making an effort: there’s a reject option, categories are off by default, Google Analytics doesn’t fire without consent. But all of this is undone by what happens before any click. Google fonts, the consent-banner plugin from a US CDN, and the Cloudflare hosting itself all transmit visitor data to the USA before consent — on a site that, by its own definition, processes a special category of health data.
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.
b3ee5068eb1858f4953f68c2b1b9d906a3b518b5963c68a75a678de0c254a9bcWant a response from the company about this audit? → Open the tool
Fill in once — it will be inserted into every letter below:
All fields are required to print the document — this is a formal requirement of the letter itself (the particulars of an official submission), not data collection: nothing is sent or saved anywhere, it all stays in your browser and disappears when you close the page. See the methodology for details.
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Send this letter directly to the company first — before contacting the regulator it has the right to respond (GDPR Art. 12(3) — 30 days).
Тема: Запрос доступа к персональным данным (ст. 15 GDPR) — tervisekassa.ee Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта tervisekassa.ee. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 1) Google reCAPTCHA включён в категорию «обязательные» с пометкой «всегда активна» — отказ технически заблокирован. Согласие не является свободным. 2) cdn.jsdelivr.net (+214 мс), fonts.googleapis.com (+229 мс), fonts.gstatic.com (+282 мс) запускаются до любого взаимодействия с баннером. Реальная передача, статус 200. 3) Не задекларированы реальные получатели данных: Google Fonts, cdn.jsdelivr.net, Cloudflare (хостинг + NEL + Insights), AWS, Tableau, TEHIK как отдельный получатель, unpkg.com, cdnjs.cloudflare.com, npmcdn.com. 4) Механизм передачи данных в США (SCC, adequacy decision, иное) не указан ни для Google, ни для Cloudflare, ни для AWS. 5) Передача данных в США через хостинг Cloudflare, Google Fonts и NEL без указания правового механизма. 6) На сайте организации, обрабатывающей данные о здоровье как основную деятельность, незадекларированные процессоры работают до согласия. В сессии с возможной аутентификацией eID для доступа к Terviseportaal — без отдельного правового основания. 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — tervisekassa.ee To: [insert the company's address — DPO / support / legal department] From: [Your name], [contact email] I request access to my personal data processed in connection with the website tervisekassa.ee. 1. Categories of data and purposes of processing (Art. 15(1)(a)-(c)) Based on an independent technical analysis of the site, I request confirmation and detailed disclosure of the following categories of processing: 1) Google reCAPTCHA is included in the 'necessary' category, marked 'always active' — declining it is technically blocked. Consent is not freely given. 2) cdn.jsdelivr.net (+214 ms), fonts.googleapis.com (+229 ms), and fonts.gstatic.com (+282 ms) fire before any interaction with the banner. An actual transfer, status 200. 3) Actual data recipients are not declared: Google Fonts, cdn.jsdelivr.net, Cloudflare (hosting + NEL + Insights), AWS, Tableau, TEHIK as a separate recipient, unpkg.com, cdnjs.cloudflare.com, npmcdn.com. 4) No transfer mechanism to the USA (SCC, adequacy decision, or otherwise) is stated for Google, Cloudflare, or AWS. 5) Data transfer to the USA via Cloudflare hosting, Google Fonts, and NEL, with no legal mechanism stated. 6) On the site of an organization whose core activity is processing health data, undeclared processors run before consent. This occurs within a session that may involve eID authentication for access to the Terviseportaal — with no separate legal basis. 2. Recipients, retention periods, and transfers outside the EEA (Art. 15(1)(c)-(d), 46) I also request the full list of third-party recipients, the applicable retention period for each category, and the legal basis for any transfer of data outside the EEA. The full technical audit with evidence (saved network log, SHA-256 checksum) is published at: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. Automated processing and profiling (Art. 15(1)(h)) Please state whether I am subject to automated decision-making or profiling, and if so, disclose the logic involved. Sincerely, [Your name] [contact email] [Country] [Date]
Teema: Isikuandmetele juurdepääsu taotlus (IKÜM art 15) — tervisekassa.ee Kellele: [märkige ettevõtte aadress — DPO / tugi / juriidiline osakond] Kellelt: [Teie nimi], [kontakt-e-post] Palun anda mulle juurdepääs minu isikuandmetele, mida töödeldakse seoses veebisaidi tervisekassa.ee kasutamisega. 1. Andmekategooriad ja töötlemise eesmärgid (IKÜM art 15(1)(a)-(c)) Sõltumatu tehnilise analüüsi põhjal palun kinnitada ja üksikasjalikult avaldada järgmised töötlemiskategooriad: 1) Google reCAPTCHA kuulub kategooriasse „kohustuslik” märkega „alati aktiivne” – keeldumine on tehniliselt blokeeritud. Nõusolek ei ole tasuta. 2) cdn. jsdelivr.net (+214 ms), fondid. googleapis.com (+229 ms), kirjad. gstatic.com (+282 ms) kulgeb enne mis tahes interaktsiooni bänneriga. Reaalne ülekanne, staatus 200. 3) Tegelikke andmesaajaid ei ole deklareeritud: Google Fonts, cdn. jsdelivr.net, Cloudflare (hosting + NEL + Insights), AWS, Tableau, TEHIK eraldi saajana, unpkg.com, cdnjs. cloudflare.com, npmcdn.com. 4) USA andmeedastusmehhanism (SCC, adekvaatsuse otsus, muul juhul) ei ole Google'i, Cloudflare'i või AWS-i jaoks täpsustatud. 5) Andmete edastamine Ameerika Ühendriikidesse Cloudflare'i, Google'i fondi ja NEL-i hostimise kaudu ilma õiguslikku mehhanismi täpsustamata. 6) Organisatsiooni veebisaidil, mis töötleb terviseandmeid oma põhitegevusena, tegutsevad deklareerimata töötlejad kuni nõusoleku saamiseni. Sessioonis, kus on võimalik eID autentimine Terviseportaali kasutamiseks – ilma eraldi õigusliku aluseta. 2. Vastuvõtjad, säilitustähtajad ja edastamine väljapoole EMP-d (IKÜM art 15(1)(c)-(d), 46) Palun samuti esitada täielik loetelu kolmandatest isikutest vastuvõtjatest, iga kategooria puhul kohaldatavad säilitustähtajad ning andmete EMP-välisele edastamisele kohaldatav õiguslik alus, kui selline edastamine toimub. Täielik tehniline analüüs koos tõenditega (salvestatud võrgulogi, SHA-256 kontrollsumma) on avaldatud aadressil: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. Automatiseeritud töötlemine ja profiilianalüüs (IKÜM art 15(1)(h)) Palun teatada, kas minu suhtes kohaldatakse automatiseeritud otsuste tegemist või profiilianalüüsi, ning kui jah, siis avaldada selle loogika. Lugupidamisega, [Teie nimi] [kontakt-e-post] [Riik] [Kuupäev]
RIA DigiDoc — phone · Smart-ID / Mobile-ID
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.
The regulator reviews complaints in its national language. There is an officially translated template from the European Data Protection Board (EDPB) — you can use it instead of or alongside this letter: Official EDPB complaint form (PDF, your language)
Тема: Жалоба на обработку персональных данных — tervisekassa.ee 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом tervisekassa.ee. 2. Обстоятельства Я посетил сайт tervisekassa.ee и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 14.05.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) Google reCAPTCHA включён в категорию «обязательные» с пометкой «всегда активна» — отказ технически заблокирован. Согласие не является свободным. 2) cdn.jsdelivr.net (+214 мс), fonts.googleapis.com (+229 мс), fonts.gstatic.com (+282 мс) запускаются до любого взаимодействия с баннером. Реальная передача, статус 200. 3) Не задекларированы реальные получатели данных: Google Fonts, cdn.jsdelivr.net, Cloudflare (хостинг + NEL + Insights), AWS, Tableau, TEHIK как отдельный получатель, unpkg.com, cdnjs.cloudflare.com, npmcdn.com. 4) Механизм передачи данных в США (SCC, adequacy decision, иное) не указан ни для Google, ни для Cloudflare, ни для AWS. 5) Передача данных в США через хостинг Cloudflare, Google Fonts и NEL без указания правового механизма. 6) На сайте организации, обрабатывающей данные о здоровье как основную деятельность, незадекларированные процессоры работают до согласия. В сессии с возможной аутентификацией eID для доступа к Terviseportaal — без отдельного правового основания. Полная техническая документация опубликована по адресу: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. Положения GDPR, соблюдение которых прошу проверить GDPR Art. 7(4); GDPR Art. 6(1), Art. 5(1)(a); GDPR Art. 13(1)(e); GDPR Art. 13(1)(f); GDPR Chapter V; GDPR Art. 9 4. Требование Прошу проверить изложенные обстоятельства и, если несоответствие подтвердится, принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — tervisekassa.ee 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website tervisekassa.ee. 2. Circumstances I visited the website tervisekassa.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 14 May 2026 (open methodology, reproducible measurements) documents the following indications: 1) Google reCAPTCHA is included in the 'necessary' category, marked 'always active' — declining it is technically blocked. Consent is not freely given. 2) cdn.jsdelivr.net (+214 ms), fonts.googleapis.com (+229 ms), and fonts.gstatic.com (+282 ms) fire before any interaction with the banner. An actual transfer, status 200. 3) Actual data recipients are not declared: Google Fonts, cdn.jsdelivr.net, Cloudflare (hosting + NEL + Insights), AWS, Tableau, TEHIK as a separate recipient, unpkg.com, cdnjs.cloudflare.com, npmcdn.com. 4) No transfer mechanism to the USA (SCC, adequacy decision, or otherwise) is stated for Google, Cloudflare, or AWS. 5) Data transfer to the USA via Cloudflare hosting, Google Fonts, and NEL, with no legal mechanism stated. 6) On the site of an organization whose core activity is processing health data, undeclared processors run before consent. This occurs within a session that may involve eID authentication for access to the Terviseportaal — with no separate legal basis. Full technical documentation is published at: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. GDPR provisions I ask you to examine GDPR Art. 7(4); GDPR Art. 6(1), Art. 5(1)(a); GDPR Art. 13(1)(e); GDPR Art. 13(1)(f); GDPR Chapter V; GDPR Art. 9 4. Request I request that you examine the circumstances described and, if non-compliance is confirmed, 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. Sincerely, [Your name] [contact email] [Country] [Date]
1. Kaebuse ese Esitan kaebuse seoses minu isikuandmete töötlemisega veebisaidil tervisekassa.ee. 2. Asjaolud Külastasin veebisaiti tervisekassa.ee ja tuvastasin märke sellest, et minu isikuandmete töötlemine ei vasta isikuandmete kaitse üldmääruse (IKÜM) nõuetele. Tehniline analüüs, mis on avaldatud aadressil gdpru.eu 14.05.2026 (avatud metoodika, korratavad mõõtmised), dokumenteerib järgmist: 1) Google reCAPTCHA kuulub kategooriasse „kohustuslik” märkega „alati aktiivne” – keeldumine on tehniliselt blokeeritud. Nõusolek ei ole tasuta. 2) cdn. jsdelivr.net (+214 ms), fondid. googleapis.com (+229 ms), kirjad. gstatic.com (+282 ms) kulgeb enne mis tahes interaktsiooni bänneriga. Reaalne ülekanne, staatus 200. 3) Tegelikke andmesaajaid ei ole deklareeritud: Google Fonts, cdn. jsdelivr.net, Cloudflare (hosting + NEL + Insights), AWS, Tableau, TEHIK eraldi saajana, unpkg.com, cdnjs. cloudflare.com, npmcdn.com. 4) USA andmeedastusmehhanism (SCC, adekvaatsuse otsus, muul juhul) ei ole Google'i, Cloudflare'i või AWS-i jaoks täpsustatud. 5) Andmete edastamine Ameerika Ühendriikidesse Cloudflare'i, Google'i fondi ja NEL-i hostimise kaudu ilma õiguslikku mehhanismi täpsustamata. 6) Organisatsiooni veebisaidil, mis töötleb terviseandmeid oma põhitegevusena, tegutsevad deklareerimata töötlejad kuni nõusoleku saamiseni. Sessioonis, kus on võimalik eID autentimine Terviseportaali kasutamiseks – ilma eraldi õigusliku aluseta. Täielik tehniline dokumentatsioon on avaldatud aadressil: https://gdpru.eu/en/audits/ee-tervisekassa-ee/ 3. Sätted, mille järgimist palun kontrollida GDPR artikli 7 lõige 4; GDPR artikli 6 lõige 1, artikli 5 lõike 1 punkt a; GDPR artikli 13 lõike 1 punkt e; GDPR artikli 13 lõike 1 punkt f; GDPRi V peatükk; GDPR artikkel 9. 4. Nõue Palun kontrollida kirjeldatud asjaolusid ja mittevastavuse kinnitamisel kohaldada IKÜM artikli 58 lõikes 2 ette nähtud meetmeid. 5. Lisad Täielik tõendusmaterjal — HAR-fail, kontrollsumma SHA-256 ning veebisaidi privaatsuspoliitika tsitaat, mis dokumenteerib nimetatud vastuolu — on avaldatud ja kontrollitav punktis 2 viidatud lingil. Lugupidamisega, [Teie nimi] [kontakt-e-post] [Riik] [Kuupäev]