Policy changed — see what exactly · 2026-10-02 →
Official website of Vienna — 40 requests, 4 domains. A Truendo CMP is present, the privacy policy is detailed, Adform is in the code. But Siteimprove reaches an external server at 271 ms — before the consent banner has time to appear.
Request timeline
Declared versus actual
Transfer timings
Script loaded before consent. Cookieless tracking based on a Visitor Hash (IP + User-Agent).
Audio stream loaded before consent. Buzzsprout — USA, SCC + EU-US DPF.
Detected trackers
- Siteimprove Analytics
- Buzzsprout (audio)
Indicators of GDPR non-compliance
- GDPR Art. 6(1)(a), TKG § 165Siteimprove Analytics loads 271 ms after the page opens — before the Truendo CMP has finished initializing and displaying the consent banner. There is no consent, yet the request has already gone out.
- GDPR Art. 6(1)(a)Buzzsprout loads audio 315 ms after the page opens — also before consent. By the site's own policy, embedded media requires Art. 6(1)(a).
Context
wien.gv.at is the official portal of the City of Vienna, one of Austria’s largest municipal sites. Operator: Stadt Wien, MA 53 (Kommunikation und Medien). HAR: 40 requests, 4 domains.
Proprietary infrastructure, detailed policy
38 of 40 requests go to proprietary infrastructure: www.wien.gv.at and assets.wien.gv.at — the city’s own CDN. No Google, no Meta, no external fonts. HSTS with max-age=31536000 and preload. The server identifies itself as “Magistrat der Stadt Wien — Web Gateway.” The privacy policy is structured around GDPR Art. 13: four separate processing sections, legal bases, retention periods, DPO with contact details.
Siteimprove ahead of the banner
There is one main problem, but a specific one: Siteimprove Analytics loads 271 ms after the page opens. The Truendo CMP — the city’s consent management platform — only finishes initializing at 902 ms. There is no banner, there is no consent, and the script has already reached siteimproveanalytics.com and returned a 200. The city justifies Siteimprove via Art. 6(1)(e) — public interest — and treats it as not requiring consent. Austria’s TKG § 165 requires consent for any identifier, including a Visitor Hash. This is a disputed but real conflict.
Adform declared, absent from the HAR
Adform is listed in the CSP (track.adform.net, *.adform.net) and described in detail in the policy as a consent-based marketing tool. Not a single request to Adform appears in the HAR for the homepage. Either it’s not activated on the homepage, or it fires on other pages after consent. This is the correct architecture for an Art. 6(1)(a) tool.
Conclusion
wien.gv.at is not a case where trackers are hidden or the policy is unwritten. The policy is detailed, infrastructure is mostly proprietary, a Truendo CMP is present. The problem lies in one place: Siteimprove reaches the outside world before the consent system has time to act. 271 ms versus 902 ms — and this isn’t a technical glitch, but an architectural choice the city shields behind a disputed public-interest justification.
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.
0debe245f468d0f370a99e254af8fae974204509b280bcf7ab0240ebffa1b540Want 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) — wien.gv.at Кому: [укажите адрес компании — DPO / поддержка / юридический отдел] От: [Ваше имя], [контактный email] Прошу предоставить доступ к моим персональным данным, обрабатываемым в связи с использованием сайта wien.gv.at. 1. Категории данных и цели обработки (ст. 15(1)(a)-(c)) На основании независимого технического анализа сайта прошу подтвердить и подробно раскрыть следующие категории обработки: 1) Siteimprove Analytics загружается через 271 мс после открытия страницы — до того, как Truendo CMP успевает инициализироваться и показать баннер согласия. Согласия нет, запрос ушёл. 2) Buzzsprout загружает аудио через 315 мс после открытия — также до согласия. По собственной политике сайта встроенные медиа требуют Art. 6(1)(a). 2. Получатели, сроки хранения и передача за пределы ЕЭЗ (ст. 15(1)(c)-(d), 46) Прошу также указать полный список третьих лиц-получателей, применимые сроки хранения по каждой категории и правовые основания передачи данных за пределы ЕЭЗ, если таковая происходит. Полный технический разбор с доказательствами (сохранённый сетевой журнал, контрольная сумма SHA-256) опубликован по адресу: https://gdpru.eu/en/audits/at-wien-gv-at/ 3. Автоматизированная обработка и профилирование (ст. 15(1)(h)) Прошу сообщить, применяется ли в отношении меня автоматизированное принятие решений или профилирование, и если да — раскрыть логику такой обработки. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Data access request (GDPR Art. 15) — wien.gv.at 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 wien.gv.at. 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) Siteimprove Analytics loads 271 ms after the page opens — before the Truendo CMP has finished initializing and displaying the consent banner. There is no consent, yet the request has already gone out. 2) Buzzsprout loads audio 315 ms after the page opens — also before consent. By the site's own policy, embedded media requires Art. 6(1)(a). 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/at-wien-gv-at/ 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]
RIA DigiDoc — phone · Smart-ID / Mobile-ID
Where to file: Datenschutzbehörde (DSB) — file a complaint online →
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)
Тема: Жалоба на обработку персональных данных — wien.gv.at 1. Предмет жалобы Я подаю жалобу в отношении обработки моих персональных данных сайтом wien.gv.at. 2. Обстоятельства Я посетил сайт wien.gv.at и обнаружил признаки несоответствия обработки моих персональных данных требованиям GDPR. Технический разбор, опубликованный на gdpru.eu 26.05.2026 (открытая методология, воспроизводимые измерения), документирует следующие признаки: 1) Siteimprove Analytics загружается через 271 мс после открытия страницы — до того, как Truendo CMP успевает инициализироваться и показать баннер согласия. Согласия нет, запрос ушёл. 2) Buzzsprout загружает аудио через 315 мс после открытия — также до согласия. По собственной политике сайта встроенные медиа требуют Art. 6(1)(a). Полная техническая документация опубликована по адресу: https://gdpru.eu/en/audits/at-wien-gv-at/ 3. Положения GDPR, соблюдение которых прошу проверить GDPR Art. 6(1)(a), TKG § 165; GDPR Art. 6(1)(a) 4. Требование Прошу проверить изложенные обстоятельства и, если несоответствие подтвердится, принять меры, предусмотренные статьёй 58(2) GDPR. 5. Приложения Полная доказательная база — HAR-файл, контрольная сумма SHA-256 и цитата из политики конфиденциальности сайта, документирующая указанное противоречие — опубликована и проверяема по ссылке в пункте 2 выше. С уважением, [Ваше имя] [контактный email] [Страна] [Дата]
Subject: Complaint regarding personal data processing — wien.gv.at 1. Subject of the complaint I am filing a complaint regarding the processing of my personal data by the website wien.gv.at. 2. Circumstances I visited the website wien.gv.at and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 26 May 2026 (open methodology, reproducible measurements) documents the following indications: 1) Siteimprove Analytics loads 271 ms after the page opens — before the Truendo CMP has finished initializing and displaying the consent banner. There is no consent, yet the request has already gone out. 2) Buzzsprout loads audio 315 ms after the page opens — also before consent. By the site's own policy, embedded media requires Art. 6(1)(a). Full technical documentation is published at: https://gdpru.eu/en/audits/at-wien-gv-at/ 3. GDPR provisions I ask you to examine GDPR Art. 6(1)(a), TKG § 165; GDPR Art. 6(1)(a) 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]