Technical audit · 2026-05-26

ibz.be

Belgian Federal Public Service for the Interior

Belgian Federal Public Service for the Interior — 27 requests, 6 domains. The CookieFirst consent manager correctly blocks Matomo before consent, but Google Fonts slips past it: it loads on page load, transmitting the visitor's IP address to Google (USA) before consent. Google Fonts is not named in the policy, despite the policy stating that no third-party cookies are placed.

Timeline of the leak

+0 ms · portal load
Content and resources served from ibz.be.
+354 ms · Google Fonts before consent
fonts.googleapis.com (×5) and fonts.gstatic.com — Google Fonts (Archivo, Montserrat). The visitor's IP address goes to Google (USA). The consent banner is not yet ready.
+355–549 ms · consent manager
consent.cookiefirst.com — CookieFirst and the consent banner load.
+580 ms · Matomo blocked
matomo.ibz-dev.be/matomo.js — the request returns with status 0: the Matomo script is held back by CookieFirst until consent (correct behavior).

Declared versus actual

'Aucun cookie de tierce partie ne sera placé' — no third-party cookies are placed — заявлен
Matomo-Cloud (data centers in Europe) — analytics only after consent — заявлен
The cookie table is managed by CookieFirst — заявлен
+ Google Fonts (fonts.googleapis.com, fonts.gstatic.com) — third-party recipient of the IP address from the USA, before consent, not named in the policy — не заявлен

Transfer timings

+354 ms fonts.googleapis.com

Google Fonts CSS. Google, USA. Not held back by the CMP.

+488 ms fonts.gstatic.com

Google font files. Google, USA.

+580 ms matomo.ibz-dev.be

Matomo held back by CookieFirst until consent. Correct.

Detected trackers

Indicators of GDPR non-compliance

Context

ibz.be is the website of Belgium’s Federal Public Service for the Interior (SPF Intérieur / FOD Binnenlandse Zaken), responsible for the police, security, migration, identity documents, and elections. Controller: SPF Intérieur. The general privacy policy references a separate cookie policy, which was retrieved from the site. Measurement: 27 requests, 6 domains, captured on a clean browser.

Google (USA) — the visitor’s IP address, via the Google Fonts load.

Declared versus actual

ibz.be’s cookie policy states plainly that no third-party cookies are placed when visiting the site (“Aucun cookie de tierce partie ne sera placé”). Analytics are described as Matomo-Cloud with data centers in Europe, installed only after consent. Management of the cookie table is assigned to CookieFirst.

The measurement largely confirms this — and shows that the consent mechanism works selectively. The Matomo analytics script (matomo.ibz-dev.be/matomo.js) returns with status 0 in the measurement: it is held back by CookieFirst until consent and effectively does not load. This is correct behavior, consistent with the policy.

However, Google Fonts slips past this mechanism. At +354 ms, before the consent banner appears (+549 ms), the Google Fonts CSS loads from fonts.googleapis.com, and the font files load from fonts.gstatic.com. Both requests transmit the visitor’s IP address to Google (USA). Google Fonts sets no cookie, so the policy’s literal statement about the absence of third-party cookies is not violated — but Google is a third-party recipient of data from the USA, receiving the IP address before consent, and this service is not named in the policy. The consent manager thus holds back the analytics tool but does not hold back the IP transfer to Google via the fonts.

Google Fonts loads at +354 ms, the CookieFirst banner at +549 ms, and Matomo is blocked at +580 ms. In other words, the fonts reach Google before the banner is even ready, and before the blocking mechanism activates. No consent was given during the session (zero Set-Cookie).

What cannot be claimed from the measurement

The measurement covers the homepage. Matomo’s status 0 is interpreted as blocking by the consent manager before consent; Matomo’s behavior after consent is not observed in this session. Google may use edge nodes within the EU, so the conclusion is drawn based on the recipient’s affiliation (a US company), not the physical location of the node. Server-side processing is not visible in a browser-based measurement.

Conclusion

The Belgian Ministry of the Interior’s website correctly gates its analytics: Matomo (Matomo-Cloud, Europe) is held back by the CookieFirst consent manager until consent. But Google Fonts slips past this mechanism and transmits the visitor’s IP address to Google (USA) before consent; this service is not named in the policy, and the policy itself states that no third-party cookies are placed. For the website of a core security-sector ministry, transmitting the IP address to a third-party recipient in the USA before consent and outside the consent mechanism constitutes a violation of the requirements for disclosure of recipients and cross-border transfer. The remedy is simple and does not affect the already-correct analytics setup: host the fonts locally on the proprietary domain — the one remaining leak would then disappear.

Evidence
Original (audit)
HAR file: be/ibz-be-2026-05-26.har
SHA-256: 360a09d63b4caa2686ce0a0b0c6306c678809e3a36919ccc71e59b052b50b20b
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.
IMPORTANT: before filing a complaint with the regulator, first contact the company directly and give it 30 days to respond. Without this step the regulator may reject the complaint. Details and a template letter to the company are in the Methodology.
Ready-to-send complaint letter

Where to file: Autorité de protection des données (APD)file a complaint online →

To: Autorité de protection des données (APD)
From: [Your name], [contact email]

1. Subject of the complaint
I am filing a complaint regarding the processing of my personal data by the website ibz.be.

2. Circumstances
I visited the website ibz.be 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) Before consent, Google Fonts loads on page load (fonts.googleapis.com ×5 at +354 ms, fonts.gstatic.com at +488 ms), transmitting the visitor's IP address to Google (USA). A CookieFirst consent manager is present and correctly holds back Matomo (matomo.js returns with status 0 — blocked), but does not hold back Google Fonts. The cookie policy states that no third-party cookies are placed ('Aucun cookie de tierce partie'); Google Fonts indeed sets no cookie, but is a third-party recipient of the IP address from the USA and is not named in the policy.

2) Google Fonts loads before the CookieFirst banner appears (+549 ms) and before any choice is made. Zero Set-Cookie headers for the entire session. The IP transfer to a third-party recipient in the USA occurs without consent and outside the mechanism, whereas the Matomo analytics tool is correctly held back by that same mechanism.

Full technical documentation is published at: https://gdpru.eu/en/audits/be-ibz-be/

3. Provisions violated
GDPR Art. 13(1)(e) + Chapter V — disclosure of recipients and transfer; ePrivacy (Belgian implementation) — third-party resource before consent

4. Request
I request that you investigate the violations described and 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.

[Date]                                    [Signature / name]