Technical audit · 26.05.2026

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.

Request timeline

+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) — declared
✓ No dedicated cookie section in the supplied policy — declared
+ Google Fonts (fonts.gstatic.com) — font file, IP sent to Google (USA), before consent, not named — not declared
+ unpkg.com — JS library CDN (USA), before consent, not named — not declared
+ Matomo (analytics.belnet.be) — self-hosted audience measurement, before consent; not named in the policy — not declared

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 indicates non-compliance with 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

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: 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.