The Port of Tallinn's website — a single capture of the homepage, 75 requests, 10 nodes, about twenty seconds. The WPConsent consent management platform is in place, and it holds Google analytics correctly: the GA4 pings go out with the status 'denied', cookieless, and the consent record contains statistics:false. But the Leadfeeder (Dealfront) B2B visitor-identification service bypasses this refusal: it loads its tracker, sends a beacon to tr.lfeeder.com and writes a persistent _lfa cookie with an identifier to the device — under a refused statistics state. The service is disclosed in the policy as a web-analysis tool that reports which companies visit the site. The security headers are set strictly.
Request timeline
Declared versus actual
Transfer timings
GA4 page_view, G-DWDWJ7YNQ6, gcs=G100. The analytics honours the denial.
Leadfeeder lftracker (Dealfront).
Leadfeeder beacon, response 200. A persistent _lfa cookie is written to the device.
Analytics beacon from the markup.
Detected trackers
- WPConsent Premium (first-party WordPress consent plugin) — consent management platform; the recording captures a wpconsent_preferences state with statistics:false. It holds Google analytics, but not Leadfeeder
- Google Analytics 4 (region1.google-analytics.com, G-DWDWJ7YNQ6) — analytics; page_view, first_visit and a conversions request go out with the status gcs=G100 (both storages denied), the pings cookieless
- Leadfeeder / Dealfront (sc.lfeeder.com, tr.lfeeder.com; provider Liidio Oy) — B2B visitor identification (which companies visit the site); loads the lftracker at +3758 ms, sends a beacon to tr.lfeeder.com (+4670 ms, response 200) and writes a persistent _lfa cookie — under a refused statistics state. Disclosed in the policy
- Google Tag Manager (www.googletagmanager.com) — the container from which the analytics and conversions start
- Cloudflare Web Analytics (static.cloudflareinsights.com) — an analytics beacon from the page markup
- Google Maps (maps.googleapis.com) — map, functional
- FontAwesome (ka-p.fontawesome.com, kit.fontawesome.com), jsDelivr (cdn.jsdelivr.net) — icons and libraries, functional
Indicators of GDPR non-compliance
- ePrivacy — Directive 2002/58/EC, Art. 5(3) (in conjunction with GDPR Art. 6(1)(a)) — storing an identifier and tracking under a refused statistics stateThe site has the WPConsent consent management platform installed, and it holds Google analytics correctly: the GA4 events (G-DWDWJ7YNQ6) go out with the status gcs=G100 — both storages denied, the pings cookieless. The consent state is unambiguous: the WPConsent record wpconsent_preferences contains statistics:false, meaning consent for statistics is not given. Nevertheless, the Leadfeeder B2B visitor-identification service (Dealfront, provider Liidio Oy) bypasses this refusal: at +3758 ms its lftracker (sc.lfeeder.com) loads, at +4670 ms a beacon is sent to tr.lfeeder.com (response 200), and a persistent _lfa cookie with a visitor identifier is written to the device. That is, under a refused statistics state Leadfeeder both stores an identifier on the device and transmits visit data — whereas the service itself is described in the policy precisely as a web-analysis tool that reports which companies visit the site. That is, WPConsent gates Google analytics, but Leadfeeder is not conditioned on the actual consent state.
Context
ts.ee is the website of AS Tallinna Sadam (Port of Tallinn), registry code 10137319, Sadama 25, Tallinn; the data-protection officer’s contact is andmekaitse@ts.ee. The site is built on WordPress, served via Cloudflare, and keeps a strict header posture: Content-Security-Policy (default-src 'self' with a narrow allowlist, frame-ancestors 'self'), HSTS, Referrer-Policy same-origin, Permissions-Policy, X-Content-Type-Options nosniff, X-Frame-Options SAMEORIGIN. Consent is managed by the WPConsent plugin.
The capture is a single recording of the homepage: 75 requests, 10 nodes, about twenty seconds, recorded on 8 September 2026. Processing is described by the ‘Policy and cookies’ document.
Who receives data directly
Leadfeeder / Dealfront (B2B visitor identification — under a refused statistics state). Google analytics — cookieless, honouring the denial. Functionally — Google Maps, FontAwesome, Cloudflare.
Declared vs. actual
The discrepancy here is selective: the consent platform holds one part of the stack, but not the other.
First — Google analytics honours the denial. WPConsent is configured for Google’s consent mode, and the GA4 events (G-DWDWJ7YNQ6) go out with the status gcs=G100 — both storages denied, the pings cookieless. The consent state is meanwhile unambiguous: the WPConsent record wpconsent_preferences contains statistics:false — consent for statistics is not given. GA4’s behaviour matches this state, and that is worth recording to the site’s credit.
Second — but Leadfeeder bypasses the refusal. The Leadfeeder B2B visitor-identification service (in the document — Dealfront, provider Liidio Oy) runs at full strength under the same consent state: at +3758 ms its lftracker (sc.lfeeder.com) loads, at +4670 ms a beacon goes to tr.lfeeder.com (response 200), and a persistent _lfa cookie with a visitor identifier is written to the device. That is, under a refused statistics state Leadfeeder both stores an identifier on the device and transmits visit data. WPConsent gates Google analytics, but Leadfeeder is not conditioned on this state.
Third — what exactly Leadfeeder does. The policy describes Dealfront plainly: it is a web-analysis service that ‘reports which companies visit the site’ and ‘provides potential leads based on this information’. That is, it is not a strictly necessary function but marketing analytics of visitor identification — precisely the category for which consent is required. The disclosure of the recipient here is honest (Dealfront is named, a link to its policy is given), but disclosure does not replace respecting the choice: under statistics:false this service should not run.
Consent: what is proven and what is not
Proven: consent for statistics is not given. The WPConsent record wpconsent_preferences contains statistics:false; the gcs=G100 status of GA4 confirms it — both Google storages are denied.
Proven: Google analytics honours the denial. The GA4 pings are cookieless, with the status gcs=G100.
Proven: Leadfeeder writes an identifier and transmits data in this state. The lftracker loads at +3758 ms, the beacon to tr.lfeeder.com is delivered at +4670 ms (response 200), and a persistent _lfa cookie with a visitor identifier is present on the device.
Not proven, and not required: the content of the Leadfeeder transfer. Which fields exactly the Leadfeeder beacon carries is not reproduced in the audit; the conclusion rests on the fact of the tracker loading, the beacon being delivered and the persistent cookie being written under a refused statistics state.
Observation boundaries
The capture covers the homepage and records browser behaviour, not the services’ internal workings: server-side processing, the configuration of the tag container and contracts with recipients are not verified by a browser-level capture. The consent state is established from the WPConsent record wpconsent_preferences (statistics:false) and confirmed by the gcs=G100 status of GA4; the presence of the persistent _lfa cookie is established from the session’s storage, since cookie values in the published file were removed during redaction. The full _lfa identifier is not reproduced in the audit. Google Maps, FontAwesome and jsDelivr are classified as the functional part.
The file is published redacted of personal data. Response headers, statuses, the load order and initiators are preserved, so the gcs=G100 status of the analytics, the loading of the Leadfeeder tracker and the delivery of its beacon are verified directly against the published file.
The legal assessment is made by the competent authority — Andmekaitse Inspektsioon.
Conclusion
The Port of Tallinn’s website keeps the WPConsent consent management platform, and it holds Google analytics correctly: the GA4 pings go out with the status ‘denied’, cookieless, and the consent record contains statistics:false. But under the same consent state the Leadfeeder (Dealfront) B2B visitor-identification service bypasses the refusal: it loads its tracker, sends a beacon to tr.lfeeder.com and writes a persistent _lfa cookie with an identifier to the device. That is, one component of the stack is honestly conditioned on consent, and the other is not.
The service itself is disclosed in the policy plainly: Dealfront is named as a web-analysis tool that reports which companies visit the site, with a link to its privacy policy. But this is precisely marketing analytics of visitor identification, for which consent is required — and under a refused statistics state it nonetheless writes an identifier and transmits data. Honest disclosure of the recipient does not replace respecting the user’s choice.
Remediation: condition the loading and firing of Leadfeeder (Dealfront) on the consent state so that under a refused statistics state (statistics:false) its tracker does not load, no beacon goes out and no _lfa cookie is written to the device; verify that all components classified as statistics and marketing are wired to the WPConsent platform at the blocking level, not only to Google’s consent mode.
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.
1167e1cd537e8d985045d1ac7b53b7e25258aa8002e8ae30024f33b7c37305d8Want 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) — ts.ee Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта ts.ee. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 1) На сайте установлена платформа управления согласием WPConsent, и аналитику Google она удерживает корректно: события GA4 (G-DWDWJ7YNQ6) уходят со статусом gcs=G100 — оба хранилища запрещены, пинги бескуковые. Состояние согласия однозначно: запись WPConsent wpconsent_preferences содержит statistics:false, то есть согласие на статистику не дано. Тем не менее сервис B2B-идентификации посетителей Leadfeeder (Dealfront, поставщик Liidio Oy) этот запрет обходит: на +3758 мс загружается его трекер lftracker (sc.lfeeder.com), на +4670 мс отправляется маяк на tr.lfeeder.com (ответ 200), и на устройство записывается устойчивая кука _lfa с идентификатором посетителя. То есть при отклонённой статистике Leadfeeder и хранит идентификатор на устройстве, и передаёт данные о посещении — тогда как сам сервис в политике описан именно как средство веб-анализа, сообщающее, какие компании посещают сайт. Cookiebot... то есть WPConsent гейтит аналитику Google, но Leadfeeder фактическим состоянием согласия не обусловлен. 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/ee-ts-ee/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — ts.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 ts.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) The site has the WPConsent consent management platform installed, and it holds Google analytics correctly: the GA4 events (G-DWDWJ7YNQ6) go out with the status gcs=G100 — both storages denied, the pings cookieless. The consent state is unambiguous: the WPConsent record wpconsent_preferences contains statistics:false, meaning consent for statistics is not given. Nevertheless, the Leadfeeder B2B visitor-identification service (Dealfront, provider Liidio Oy) bypasses this refusal: at +3758 ms its lftracker (sc.lfeeder.com) loads, at +4670 ms a beacon is sent to tr.lfeeder.com (response 200), and a persistent _lfa cookie with a visitor identifier is written to the device. That is, under a refused statistics state Leadfeeder both stores an identifier on the device and transmits visit data — whereas the service itself is described in the policy precisely as a web-analysis tool that reports which companies visit the site. That is, WPConsent gates Google analytics, but Leadfeeder is not conditioned on the actual consent state. 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-ts-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) — ts.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 ts.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) Saidil on nõusoleku haldamise platvorm WPConsent ja Google Analytics, mida see õigesti hoiab: GA4 sündmused (G-DWDWJ7YNQ6) lahkuvad staatusega gcs=G100 - mõlemad salvestused on keelatud, küpsistevabad pingid. Nõusoleku seisund on üheselt mõistetav: WPConsent wpconsent-eelistuste kirje sisaldab statistikat: vale, st nõusolekut statistikale ei anta. Kuid B2B külastajate tuvastamise teenus Leadfeeder (Dealfront, pakkuja Liidio Oy) läheb sellest keelust mööda: selle lftracker (sc. lfeeder.com) laaditakse alla lfeeder.com-s, majakas saadetakse +4670 ms-le aadressil tr. lfeeder.com (vastus 200) ja seadmesse salvestatakse püsiv lfa-küpsis koos külastaja ID-ga. See tähendab, et tagasilükatud statistikaga salvestab Leadfeeder seadmesse identifikaatori ja edastab külastuse andmed - samas kui teenust ennast kirjeldatakse poliitikas veebianalüüsi vahendina, mis ütleb, millised ettevõtted saidi külastavad. Cookiebot... See tähendab, et WPConsent kasutab Google'i analüüsi, kuid Leadfeeder ei sõltu tegelikust nõusolekust. 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-ts-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)
Тема: Жалоба на обработку персональных данных — ts.ee 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом ts.ee. 2. Обстоятельства Я посетил сайт ts.ee и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 08.09.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) На сайте установлена платформа управления согласием WPConsent, и аналитику Google она удерживает корректно: события GA4 (G-DWDWJ7YNQ6) уходят со статусом gcs=G100 — оба хранилища запрещены, пинги бескуковые. Состояние согласия однозначно: запись WPConsent wpconsent_preferences содержит statistics:false, то есть согласие на статистику не дано. Тем не менее сервис B2B-идентификации посетителей Leadfeeder (Dealfront, поставщик Liidio Oy) этот запрет обходит: на +3758 мс загружается его трекер lftracker (sc.lfeeder.com), на +4670 мс отправляется маяк на tr.lfeeder.com (ответ 200), и на устройство записывается устойчивая кука _lfa с идентификатором посетителя. То есть при отклонённой статистике Leadfeeder и хранит идентификатор на устройстве, и передаёт данные о посещении — тогда как сам сервис в политике описан именно как средство веб-анализа, сообщающее, какие компании посещают сайт. Cookiebot... то есть WPConsent гейтит аналитику Google, но Leadfeeder фактическим состоянием согласия не обусловлен. Полная техническая документация опубликована по адресу: https://gdpru.eu/en/audits/ee-ts-ee/ 3. Положения GDPR, соблюдение которых прошу проверить ePrivacy — Директива 2002/58/EC, ст. 5(3) (в связке с GDPR Art. 6(1)(a)) — запись идентификатора и трекинг при отклонённой статистике 4. Требование Прошу проверить изложенные обстоятельства и, если несоответствие подтвердится, принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — ts.ee 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website ts.ee. 2. Circumstances I visited the website ts.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 8 September 2026 (open methodology, reproducible measurements) documents the following indications: 1) The site has the WPConsent consent management platform installed, and it holds Google analytics correctly: the GA4 events (G-DWDWJ7YNQ6) go out with the status gcs=G100 — both storages denied, the pings cookieless. The consent state is unambiguous: the WPConsent record wpconsent_preferences contains statistics:false, meaning consent for statistics is not given. Nevertheless, the Leadfeeder B2B visitor-identification service (Dealfront, provider Liidio Oy) bypasses this refusal: at +3758 ms its lftracker (sc.lfeeder.com) loads, at +4670 ms a beacon is sent to tr.lfeeder.com (response 200), and a persistent _lfa cookie with a visitor identifier is written to the device. That is, under a refused statistics state Leadfeeder both stores an identifier on the device and transmits visit data — whereas the service itself is described in the policy precisely as a web-analysis tool that reports which companies visit the site. That is, WPConsent gates Google analytics, but Leadfeeder is not conditioned on the actual consent state. Full technical documentation is published at: https://gdpru.eu/en/audits/ee-ts-ee/ 3. GDPR provisions I ask you to examine ePrivacy — Directive 2002/58/EC, Art. 5(3) (in conjunction with GDPR Art. 6(1)(a)) — storing an identifier and tracking under a refused statistics state 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 ts.ee. 2. Asjaolud Külastasin veebisaiti ts.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 08.09.2026 (avatud metoodika, korratavad mõõtmised), dokumenteerib järgmist: 1) Saidil on nõusoleku haldamise platvorm WPConsent ja Google Analytics, mida see õigesti hoiab: GA4 sündmused (G-DWDWJ7YNQ6) lahkuvad staatusega gcs=G100 - mõlemad salvestused on keelatud, küpsistevabad pingid. Nõusoleku seisund on üheselt mõistetav: WPConsent wpconsent-eelistuste kirje sisaldab statistikat: vale, st nõusolekut statistikale ei anta. Kuid B2B külastajate tuvastamise teenus Leadfeeder (Dealfront, pakkuja Liidio Oy) läheb sellest keelust mööda: selle lftracker (sc. lfeeder.com) laaditakse alla lfeeder.com-s, majakas saadetakse +4670 ms-le aadressil tr. lfeeder.com (vastus 200) ja seadmesse salvestatakse püsiv lfa-küpsis koos külastaja ID-ga. See tähendab, et tagasilükatud statistikaga salvestab Leadfeeder seadmesse identifikaatori ja edastab külastuse andmed - samas kui teenust ennast kirjeldatakse poliitikas veebianalüüsi vahendina, mis ütleb, millised ettevõtted saidi külastavad. Cookiebot... See tähendab, et WPConsent kasutab Google'i analüüsi, kuid Leadfeeder ei sõltu tegelikust nõusolekust. Täielik tehniline dokumentatsioon on avaldatud aadressil: https://gdpru.eu/en/audits/ee-ts-ee/ 3. Sätted, mille järgimist palun kontrollida e-privaatsus - direktiiv 2002/58/EÜ, artikli 5 lõige 3 (koosmõjus GDPRi artikli 6 lõike 1 punktiga a) - tunnuste salvestamine ja jälgimine tagasilükatud statistika korral 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]