The project's own site — 72 requests, nine pages viewed across two language versions in 66 seconds. Every request goes to gdpru.eu: fonts, the charting library, the flow map and all scripts sit on its own server. Zero Set-Cookie headers for the entire session. The content security policy allows only the site's own origin; framing is denied. No violations recorded.
Request timeline
Declared versus actual
Context
gdpru.eu is a public archive of technical audits of websites against data protection requirements. It publishes analyses accompanied by network-traffic captures and their checksums, the texts of the policies audited, correspondence with companies and regulators, the methodology and country statistics. The controller is the gdpru.eu project, Estonia; contact — contact@gdpru.eu. The site is static, served by the hosting provider statichost.eu.
The measurement: 72 requests, one domain. The capture lasted 66 seconds, during which nine pages were opened across two language versions: the home page, the countries, changes and articles sections in Russian, then the English home page, the audits and countries sections in English, and a return.
Auditing your own site by the method you use on others is a thankless exercise: if anything turns up, you have to explain yourself in public. But otherwise the whole project would rest on nothing but its word. The processing is described by the privacy policy in its version of 12 July 2026; below it is checked against the capture line by line.
Who the data goes to directly
No one. There are no external recipients in the capture.
Declared versus actual
The policy opens with the claim easiest to disprove by measurement: not a single request to a third-party domain when the page loads. In the same place the reader is directly invited to check this themselves by opening the developer tools. The capture confirms the claim on every count.
Not a single external call across nine pages in two languages. The walkthrough deliberately covered the sections with interactive elements — the data flow map, the country chart, the policy change calendar, the filters in the archive. That is usually where external dependencies surface: developers most often pull charting and map libraries from public CDNs, because it is two lines shorter. Here the charting library sits in /js/chart.umd.js on the site’s own server — all 205 kilobytes, downloaded and placed alongside. The flow map and its data are its own too.
The language versions pull nothing extra. When switching to English, separate data files are loaded — site-search.en.js, flowmap-data.en.js, countries-chart-data.en.js — but all from the site’s own domain. Shared libraries come from cache.
Fonts are local. Two IBM Plex Sans weights are served from the /fonts directory. There are no calls to Google’s servers.
Cookies are not set. Zero Set-Cookie headers across all 72 responses.
Hosting matches what was declared. Every response carries the server header statichost.eu — the very processor named in the policy by name, with its country and the existence of an Art. 28 agreement stated. There are no signs of a CDN in the capture, which is consistent with the note about the unused sub-processor.
A consent mechanism is absent — and here that is correct. There is nothing to manage: no optional scripts were found. The policy states this outright — the rule on consent for access to a device does not apply, because there is nothing to apply it to.
Protective headers
The content security policy is drawn up strictly: by default only the site’s own origin is allowed, and the same restriction is duplicated in separate directives for scripts, styles, fonts, images, network connections, the base URL and form submission. Framing is denied entirely, insecure connections are upgraded to secure ones. The only relaxation is allowing inline styles — a common necessity for a static build.
The value here lies not so much in protection as in demonstrability. The project’s main claim — the absence of third-party calls — is now declared by the server itself in machine-readable form. It can be checked with a single command, without opening developer tools and without taking anyone’s word for it. At the same time the header works as insurance against one’s own carelessness: if tomorrow an external script accidentally slips into the template, the browser simply will not execute it.
Alongside are set: a referrer policy with the value strict-origin-when-cross-origin — when following an external link from an audit, the audited organisation receives only the domain name, not the address of the specific page the visitor was reading; a frame-embedding ban in a separate header with the value DENY, duplicated by a directive in the content security policy; strict transport with a one-year term, subdomain inclusion and the preload flag; a ban on content-type sniffing.
Among the technical details that have no bearing on data processing but speak to the care of the build: 67 of 72 requests went over HTTP/3; twenty-four unique addresses served seventy-two requests — thirty-two responses came back with a 304 code, meaning the cache works and no redundant traffic is generated; the names of the stylesheet and map script contain a content hash, so a file cannot be swapped without changing its name.
Consent: what is proven and what is not
Proven: there are no external transfers across nine pages. All requests are addressed to the site’s own domain.
Proven: cookies were not set in this session. None of the responses carry a Set-Cookie header.
Proven: protective headers are set and drawn up strictly. Verifiable directly from the main document’s response.
Confirmed by the hosting operator: the content and retention of the logs. The policy states that the logs record neither the IP address nor the user-agent string, and that retention does not exceed seven days. This is not verifiable by a browser measurement; a written confirmation was obtained from the operator statichost.eu.
Not proven and not claimed: the data route on the hosting side. The server header shows who serves the response, but not the infrastructure it passed through. The absence of CDN signs is consistent with the statement about the unused sub-processor, but does not constitute confirmation of it.
Limits of observation
The measurement covers nine pages across two language versions, in one state — ordinary browsing without interacting with forms.
The observation captures the browser’s behaviour. Server-side processing and the actual geography of storage are not verifiable by a browser measurement. The second processing operation described in the policy — personal data within the published archive materials — has no bearing on the operation of the site and is not reflected in the capture.
The file is published stripped of personal data by the same rules applied to others’ captures: request cookie headers, response bodies and tab headers are removed. All the analysis’s claims rest on the request addresses, their composition and the response headers visible in the file.
The audit of the site’s own site was conducted by the same methodology and with the same limitations as the rest. A reader wishing to verify it independently need only repeat the measurement: the tool and procedure are described in the methodology section, and the checksum of the capture is given in this card’s header.
Conclusion
Across nine pages opened in two language versions the site sent not a single request outward. Fonts, the charting library, the flow map, the filters, the change calendar — everything sits on its own server, including the separate language data files. Not a single cookie for the entire session. The hosting in the response headers matches the processor named in the policy; there are no signs in the capture of the approved but not engaged sub-processor.
The technical side is tightened to the same requirement: the content security policy allows only the site’s own origin and denies framing, and the referrer policy does not let audited organisations learn which specific page a visitor who followed a link was reading. The promise the policy opens with is now not only checked by measurement but declared by the server itself — and it can no longer be broken silently.
No violations recorded.
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.
245c0eeb18e7107fd6977a9e1c8092dbc81677fc26829f4bb810b44fb44ee8ceWant 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) — gdpru.eu Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта gdpru.eu. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) Прошу предоставить информацию по всем категориям, целям и получателям обработки моих данных на этом сайте — независимо от того, выявлены ли на сегодняшний день какие-либо несоответствия. 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/ee-gdpru-eu/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — gdpru.eu 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 gdpru.eu. 1. Categories of data and purposes of processing (Art. 15(1)(a)-(c)) I request information on all categories, purposes, and recipients of my data processed on this site — regardless of whether any non-compliance has been identified to date. 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-gdpru-eu/ 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) — gdpru.eu 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 gdpru.eu kasutamisega. 1. Andmekategooriad ja töötlemise eesmärgid (IKÜM art 15(1)(a)-(c)) Palun esitada teave kõigi minu andmete töötlemise kategooriate, eesmärkide ja vastuvõtjate kohta sellel veebisaidil — sõltumata sellest, kas praeguseks on tuvastatud mingeid mittevastavusi. 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-gdpru-eu/ 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]