Technical audit · 2026-05-26

belnet.be

Belgian National Research and Education Network

Belgium's national research and education network (Belnet) — 17 requests, 4 domains. Matomo analytics is self-hosted on the proprietary network — correctly done. But before consent, and with no consent manager present, JS libraries load from unpkg and a Google font file loads from gstatic, transmitting the visitor's IP address to the unpkg CDN and to Google (USA). Neither service is named in the policy.

Timeline of the leak

+0 ms · portal load
Content and images served from the proprietary domain belnet.be.
+149 ms · Matomo (self-hosted)
analytics.belnet.be/matomo.php?idsite=18 — audience measurement via Matomo on Belnet's own infrastructure.
+206 ms · libraries from unpkg
unpkg.com — Masonry and imagesLoaded JS libraries from an external CDN (Cloudflare, USA).
+383 ms · Google font before consent
fonts.gstatic.com — a Roboto font file served from Google's servers. The visitor's IP address goes to Google (USA).

Declared versus actual

A general personal data processing policy (consent mentioned as a basis) — заявлен
No dedicated cookie section in the supplied policy — заявлен
+ Google Fonts (fonts.gstatic.com) — font file, IP sent to Google (USA), before consent, not named — не заявлен
+ unpkg.com — JS library CDN (USA), before consent, not named — не заявлен
+ Matomo (analytics.belnet.be) — self-hosted audience measurement, before consent; not named in the policy — не заявлен

Transfer timings

+149 ms analytics.belnet.be

Matomo on Belnet's own network. idsite=18.

+206 ms unpkg.com

Masonry/imagesLoaded JS libraries. unpkg CDN (Cloudflare), USA.

+383 ms fonts.gstatic.com

Roboto font file. Google, USA.

Detected trackers

Indicators of GDPR non-compliance

Context

belnet.be is the website of Belnet, Belgium’s national research and education network (a state service providing internet infrastructure for universities, research centers, and government bodies; many Belgian government sites are, in fact, hosted on Belnet’s network). Controller: Belnet. The personal data processing policy (roughly 7,100 characters) contains no dedicated cookie section. Measurement: 17 requests, 4 domains, captured on a clean browser.

Google (USA) — IP address via a Google font file; unpkg / Cloudflare (USA) — IP address via JS libraries.

Declared versus actual

Belnet implements the audience measurement portion correctly: the Matomo tool is self-hosted on its own subdomain, analytics.belnet.be, within its own network (IP address within Belnet’s address space), with no calls to external analytics services. This is an exemplary analytics deployment.

However, two external resources transmit data outside the proprietary infrastructure and before consent. At +206 ms, the Masonry and imagesLoaded JS libraries load from unpkg.com — an npm-package CDN on Cloudflare infrastructure (USA). At +383 ms, a Roboto font file loads from fonts.gstatic.com — a Google server (USA). Both requests disclose the visitor’s IP address to the respective recipient. There is no consent manager on the site, not a single cookie is set for the entire session, and no user choice is made — all requests occur before consent. Neither Google, unpkg, nor Matomo is named in the policy, and it contains no dedicated cookie section.

Matomo (self-hosted) fires at +149 ms, the unpkg libraries at +206 ms, the Google font at +383 ms. There is no consent mechanism; the transfer of IP addresses to external recipients in the USA occurs unconditionally, before and outside of any user choice.

What cannot be claimed from the measurement

The measurement covers the homepage. Google and Cloudflare (unpkg) may use edge nodes within the EU, so the conclusion is drawn based on the recipients’ affiliation (US companies), not the physical location of the nodes. Self-hosted Matomo, if configured appropriately, may qualify for a consent exemption; the subject of observation here is the external calls to Google and unpkg. Server-side processing is not visible in a browser-based measurement.

Conclusion

Belnet correctly hosts its Matomo analytics on proprietary infrastructure, but before consent, and with no consent manager present, loads JS libraries from unpkg (USA) and a font file from Google’s servers (USA), disclosing the visitor’s IP address to both. Neither service is named in the policy, which contains no dedicated cookie section. Transmitting IP addresses to external recipients in the USA before consent constitutes a violation of the requirements for disclosure of recipients and cross-border transfer. The remedy is minimal and does not affect the already-correct analytics setup: host the font files and JS libraries locally on the proprietary domain — the only remaining requests would then be for proprietary content and self-hosted Matomo.

Evidence
Original (audit)
HAR file: be/belnet-be-2026-05-26.har
SHA-256: 52d877178584e125d9e81d70c1ea06ba7519e5c3d70f355eb63abb66fc719725
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 belnet.be.

2. Circumstances
I visited the website belnet.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) Two external resources from the USA load before consent: the Masonry and imagesLoaded JS libraries from unpkg.com (+206 ms, Cloudflare infrastructure), and a Roboto font file from fonts.gstatic.com (+383 ms, Google). Both requests transmit the visitor's IP address outside the proprietary infrastructure — to Google (USA) and to the unpkg CDN (USA). Neither service is named in the policy; the supplied policy contains no dedicated cookie section.

2) There is no consent manager on the site. The self-hosted Matomo analytics tool (analytics.belnet.be, Belnet's own network) fires at +149 ms, while the external Google font and unpkg libraries fire at +206–383 ms, all before any choice. Zero Set-Cookie headers for the entire session.

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

3. Provisions violated
GDPR Art. 13(1)(e) + Chapter V — disclosure of recipients and transfer; ePrivacy (Belgian implementation) — third-party resources 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]