Technical audit · 31.05.2026

revenue.ie

Irish Tax and Customs — Office of the Revenue Commissioners

The Office of the Revenue Commissioners — the body processing tax returns and citizens' financial data. 41 requests, 2 domains — both Irish. The cleanest external architecture in the series. But Matomo runs by default without consent, and HeatmapSessionRecording records user behavior undisclosed in the policy.

Request timeline

+42 ms · before the banner
www.revenue.ie/cookie-banner.js — the site's own cookie banner loads as part of the main JS bundle.
+105 ms · before the banner
analytics.www2.revenue.ie/matomo.js — the Matomo JS loads. Revenue's own infrastructure, an Irish domain.
+106 ms · before the banner
analytics.www2.revenue.ie/js/container_NJ38hL7m.js — the Matomo Tag Manager container.
+181 ms · before the banner
analytics.www2.revenue.ie/matomo.php — a tracking POST request: idsite=2, action_name=Welcome to revenue.ie, the full URL. The user is already being tracked.
+182 ms · before the banner
analytics.www2.revenue.ie/plugins/HeatmapSessionRecording/configs.php?idsite=2&trackerid=tJHQqz — the session-recording and heatmap plugin's configuration loads without consent.
No external domains
No Google, no Meta, no advertising networks. Every request goes to www.revenue.ie or analytics.www2.revenue.ie. Set-Cookie is zero. Fonts are hosted locally.

Declared versus actual

✓ Matomo Analytics — documented in detail in the policy — declared
✓ IP anonymization — documented: the last two bytes are stripped — declared
✓ An opt-out mechanism — documented, via the mtm_consent_removed cookie — declared
✓ Qualtrics — mentioned in the policy — declared
✓ YouTube — mentioned in the cookie table — declared
+ HeatmapSessionRecording (a Matomo plugin) — not mentioned in the policy — not declared

Transfer timings

+105 ms analytics.www2.revenue.ie

Matomo JS. Revenue's own infrastructure. Ireland.

+106 ms analytics.www2.revenue.ie

Matomo Tag Manager container_NJ38hL7m.

+181 ms analytics.www2.revenue.ie

matomo.php POST. idsite=2. A tracking request.

+182 ms analytics.www2.revenue.ie

HeatmapSessionRecording configs.php. trackerid=tJHQqz.

Detected trackers

Context

The Revenue Commissioners are Ireland’s tax authority, processing tax returns, payments, and financial data for every individual and business in the country. Sensitivity: high. HAR: 41 requests, 2 domains. Every request goes to www.revenue.ie or analytics.www2.revenue.ie. Not a single American or third-party domain appears. Fonts (Fira Sans, Fira Mono) are hosted locally. This is the most technically self-contained architecture in the entire Irish series.

Opt-out as an architectural choice — and its problem

Revenue’s privacy policy transparently describes its model: “You are currently opted-in to Revenue’s website usage statistics using Matomo.” The user can uncheck a box, setting the mtm_consent_removed cookie. This is an honest and well-documented model — but one that does not comply with the ePrivacy Regulations.

SI 336/2011 (Ireland’s implementation of the ePrivacy Directive) requires prior opt-in consent for setting analytics cookies. Opt-out — where analytics runs by default and the user must actively decline — is a form of non-compliance the DPC has consistently confirmed in its decisions. The HAR records exactly this pattern: the matomo.php POST at +181 ms occurs with no interaction whatsoever between the user and the cookie banner.

Notably, Revenue itself documents this evolution: the policy’s change log includes an entry stating “01 May 2017 Use of Cookies section updated to reflect the change in approach from an opt-in to opt-out approach.” That is, Revenue deliberately switched from opt-in to opt-out in 2017 — before the DPC’s position on this matter hardened.

HeatmapSessionRecording — an undocumented plugin

At +182 ms, analytics.www2.revenue.ie/plugins/HeatmapSessionRecording/configs.php?idsite=2&trackerid=tJHQqz loads. HeatmapSessionRecording is an official Matomo plugin that records cursor movements, clicks, scrolling, and user behavior on the page in order to build heatmaps and replay sessions. This represents a fundamentally different category of data processing compared with aggregated statistics: here, the individual sequence of actions of a specific visitor is captured.

Revenue’s privacy policy describes Matomo in detail — IP anonymization, cookieless mode, storage within Ireland — but HeatmapSessionRecording is never mentioned. The plugin activates without consent, on a site processing citizens’ tax data.

What has been done correctly

revenue.ie demonstrates a number of practices rare in the Irish series: self-hosted Matomo on its own domain, rather than Google Analytics; the absence of external CDNs and American domains; locally hosted fonts; IP anonymization (stripping the last two bytes); Matomo’s cookieless mode; and detailed documentation in the policy. This is a privacy-oriented architecture, marred by two specific findings that are fixable.

Conclusion

revenue.ie is a rare example of a government site deliberately built around a privacy-conscious architecture: self-hosted infrastructure, no Google, no advertising networks, with a detailed policy. The two remaining findings are documentary and procedural in nature: opt-out in place of opt-in (requiring a change to Matomo’s initialization order) and undisclosed HeatmapSessionRecording (requiring both disclosure in the policy and being moved behind consent). Both are fixable without altering the underlying architecture.

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