Technical audit · 29.05.2026

bauindustrie.de

German Construction Industry Federation

Hauptverband der Deutschen Bauindustrie — the German construction industry federation. 69 requests, 1 domain. Matomo self-hosted at /matomo/ — all data stays on the proprietary server. The policy states consent (Einwilligung) as the legal basis. But Matomo fires with no recorded consent in the HAR.

Request timeline

+211 ms · load
CSS, JS bundles, images — all from www.bauindustrie.de. Roboto (Regular, Light, Medium, Bold, Black) — served locally from /_assets/Fonts/.
+212 ms · consent
Consent-938150a02ba8f92b05cbc2453b5b4166.js — a TYPO3 consent extension. Loads before Matomo.
+348 ms · Matomo JS
www.bauindustrie.de/matomo/matomo.js — the Matomo JS loads from the proprietary server.
+456 ms · tracking request
www.bauindustrie.de/matomo/matomo.php — a Matomo tracking request. Cookieless, AnonymizeIP enabled.

Declared versus actual

✓ Matomo — documented with Art. 6(1)(a) DSGVO (Einwilligung) — declared
✓ AnonymizeIP — documented — declared
✓ opt-out — documented — declared

Transfer timings

+212 ms www.bauindustrie.de

TYPO3 Consent-JS. No banner interaction recorded.

+348 ms www.bauindustrie.de

matomo/matomo.js. Self-hosted.

+456 ms www.bauindustrie.de

matomo/matomo.php. Page tracking.

Detected trackers

Indicators of GDPR non-compliance

Context

Hauptverband der Deutschen Bauindustrie (HDB) is the federal industry federation of Germany’s construction sector, representing around 2,000 companies. TYPO3 CMS. HAR: 69 requests, 1 domain — all to www.bauindustrie.de.

HDB uses Matomo, hosted on its own server at the path /matomo/. This means analytics data is not transmitted to third parties, does not go to any cloud, and is processed exclusively on bauindustrie.de’s infrastructure. AnonymizeIP is enabled — IP addresses are anonymized. The policy states an opt-out mechanism.

The problem lies in the legal basis. The policy states explicitly: Art. 6(1)(a) DSGVO (Einwilligung) — consent. This means HDB itself classified Matomo as a tool requiring consent. Yet Matomo loads at +348 ms and sends a tracking request at +456 ms. The HAR shows neither an interactive banner, nor a SET-Cookie from a consent mechanism, nor any explicit user interaction before Matomo fires.

The contrast with bamf.de is instructive: there, Matomo is documented with opt-out and is absent from the HAR. Here, Matomo is documented with Einwilligung — and is present in the HAR before consent.

Roboto served locally

Five Roboto weights (Regular, Light, Medium, Bold, Black) are hosted locally in /_assets/Fonts/. No Google Fonts.

Conclusion

bauindustrie.de chose the right technical architecture (self-hosted Matomo, local fonts, one domain) and the correct legal basis (Einwilligung). The mismatch lies in the implementation: Matomo fires before confirmed consent is obtained. The fix is straightforward: ensure Matomo initializes only after the user’s consent decision has been recorded by the TYPO3 consent extension.

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: de/bauindustrie-de-2026-05-29.har
SHA-256: a8d650c39a39fb357923ccde52c150057d9fdde8cb7cfca93d0bd80afdd7ee41
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.