Technical audit · 26.05.2026

wien.gv.at

Official Website of the City of Vienna

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

+271 ms · before consent
Siteimprove Analytics loads its script from siteimproveanalytics.com. The Truendo CMP has not yet initialized at this point — app_api.pid.js only loads at +902 ms.
+315 ms · before consent
audio.buzzsprout.com delivers an audio file (206 Partial Content). Under the site's own policy, embedded media content requires consent — there is none.
+902 ms · Truendo
The Truendo CMP finishes initializing. Self-hosted: both scripts (truendo_cmp.pid.js, app_api.pid.js) load from www.wien.gv.at, with no external requests to prod-origin.truendo.com.
Session total
Adform is absent from the HAR — not activated on the homepage, or blocked. YouTube, Vimeo, and X are listed in the CSP but did not appear in the HAR. Of 40 requests, 38 go to proprietary infrastructure (wien.gv.at + assets.wien.gv.at).

Declared versus actual

✓ Siteimprove — described in the policy, Art. 6(1)(e), cookieless — declared
✓ Adform — described in the policy, Art. 6(1)(a), marketing — declared
✓ Buzzsprout — described in the policy, Art. 6(1)(a), embedded content — declared
✓ Vimeo — described in the policy, Art. 6(1)(a), embedded content — declared

Transfer timings

+271 ms siteimproveanalytics.com

Script loaded before consent. Cookieless tracking based on a Visitor Hash (IP + User-Agent).

+315 ms audio.buzzsprout.com

Audio stream loaded before consent. Buzzsprout — USA, SCC + EU-US DPF.

Detected trackers

Indicators of GDPR non-compliance

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.

Evidence

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.

Original (audit)
HAR file: at/wien-gv-at-2026-05-26.har
SHA-256: 0debe245f468d0f370a99e254af8fae974204509b280bcf7ab0240ebffa1b540
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.