Technical audit · 2026-07-28

aade.gr

Independent Authority for Public Revenue of Greece

Greece's tax authority — 233 requests, ten domains, of which nine are external, and 50 requests go outward. The site's cookie documentation acknowledges only Google Analytics and an unnamed notification service. In fact, four external services receive the home-page visitor's data: Google (Tag Manager, Analytics, Maps), UserWay and OneSignal. The loading of all external scripts is parsed from the document's own markup and does not depend on the choice in the consent banner; the GA4 request transmits the client identifier, screen resolution and the full set of browser client hints.

Timeline of the leak

+0 ms · home-page load
The document is served from aade.gr (Drupal 10, no Server header). The site sets no Content-Security-Policy header — there are no restrictions on connecting third-party scripts.
+170 ms · banner and tracker start simultaneously
In one batch with the page's first styles, eu_cookie_compliance.script.js (the consent-banner script) and [www.googletagmanager.com/gtag/js?id=UA-40404747-23](https://www.googletagmanager.com/gtag/js?id=UA-40404747-23) are requested. The UA property has been defunct since 2023, but the request goes out and transmits to Google the IP address, referrer and browser string.
+188 ms · OneSignal
cdn.onesignal.com/sdks/OneSignalSDK.js — the push-notification kit.
+189 ms · Google Maps
maps.googleapis.com/maps/api/js — the Google mapping library.
+392 ms · UserWay
cdn.userway.org/widget.js — the accessibility widget (served via CloudFront and CDN77).
+422 ms · GA4
[www.googletagmanager.com/gtag/js?id=G-ZW48S01NY6](https://www.googletagmanager.com/gtag/js?id=G-ZW48S01NY6), followed by [www.google-analytics.com/analytics.js](https://www.google-analytics.com/analytics.js).
+448 ms · request to OneSignal
onesignal.com/api/v1/sync/…/web — a sync with the OneSignal server, the site's app identifier in the address.
+1650 ms · UserWay settings
POST api.userway.org/api/v1/tunings — transmission of the widget's session parameters.
+5622 ms · data transmission to Google
region1.google-analytics.com/g/collect, page_view event: client identifier, screen resolution 1536x864, Windows platform, x86/64 architecture, list of browser versions, interface language, address https://aade.gr/ and page title.
+7524 ms · data transmission to UserWay
api.userway.org/api/a11y-data/… — the full address of the page being viewed, device type and widget state right in the request path.

Declared versus actual

Google Analytics — declared as «Προαιρετικά στατιστικών», cookies _ga, _gat, _gid — заявлен
Storage of IP addresses on Google servers in the USA — declared on the cookie page — заявлен
Notification-display service (push notification) — declared without indicating the provider, cookie __cfduid — заявлен
UserWay — named in the accessibility statement as the accessibility-widget tool — заявлен
Embedded YouTube clips — stipulated separately, did not fire in the capture — заявлен
«Στα cookies αυτά δεν αποθηκεύεται καμία προσωπική πληροφορία», «Τα cookies δεν μοιράζονται με τρίτους» — заявлен
+ UserWay as a data recipient — three domains, 39 requests, the page address, device type and image addresses are transmitted — не заявлен
+ Google Tag Manager — not named in any of the site's documents — не заявлен
+ Google Maps (maps.googleapis.com) — not named — не заявлен
+ OneSignal — the notification-service provider is not named — не заявлен
+ The GA4 stream (G-ZW48S01NY6) and the device parameters it transmits — not described — не заявлен

Transfer timings

+170 ms [www.googletagmanager.com](https://www.googletagmanager.com)

gtag/js for the defunct property UA-40404747-23. Requested together with the page's first styles.

+188 ms cdn.onesignal.com

OneSignalSDK.js. Served via Cloudflare.

+189 ms maps.googleapis.com

The Google mapping library on the home page.

+392 ms cdn.userway.org

widget.js. Via CloudFront and Server CDN77-Turbo headers.

+422 ms [www.googletagmanager.com](https://www.googletagmanager.com)

gtag/js for the GA4 stream G-ZW48S01NY6.

+448 ms onesignal.com

api/v1/sync/…/web with the site's app identifier.

+5622 ms region1.google-analytics.com

GA4 page_view: client identifier, screen resolution, browser client hints, page address and title.

+7524 ms api.userway.org

Full page address and device type in the request path.

Detected trackers

Indicators of GDPR non-compliance

Context

aade.gr is the website of the Independent Authority for Public Revenue of Greece, the country’s tax and customs administrator. It publishes legislation, announcements, payment deadlines, statistics and manages transitions to taxpayers’ personal accounts. The controller is the authority itself; the hosting, according to the site’s footer, is provided by the General Secretariat of Information Systems and Digital Governance. The platform is Drupal 10. Capture: 233 requests, ten domains, of which nine are external, 50 requests go outward. The recording length is 17.5 seconds, full page load finished at 1698 ms. Taken on 31 May 2026 on the home page. The site has in effect one document describing web tracking — aade.gr/cookies, referred to by point 5 of the terms of use. It was taken as the basis of the analysis; it was not in the original set, so the text was verified directly on the site together with the terms of use and the section «Προστασία δεδομένων προσωπικού χαρακτήρα». That section is devoted to tax and customs processing, video surveillance and transfer of data outside Greece — it does not concern the site’s operation. A separate accessibility statement names UserWay as the widget tool.

Who the data goes to directly

Google (Tag Manager, Analytics, Maps), UserWay (Level Access), OneSignal.

Declared versus actual

The cookie page builds the whole picture around two entities: Google Analytics in the category «optional, statistics» and an unnamed «notification-display service». It also explicitly states that no personal information is stored in these cookies and that cookies are not transferred to third parties. The capture reveals three discrepancies. First — the composition of recipients. Besides Google Analytics, three more external services serve the page. UserWay produces 39 requests across three domains: cdn.userway.org, api.userway.org, cdn77.api.userway.org. Some of them transmit substantive data — the request to api/a11y-data carries the full address of the page being viewed, the device type and the widget state right in the request path, and a series of requests to api/img-dscr transmits the addresses of images from this page. UserWay as an accessibility tool is named in the accessibility statement, but as a recipient of the visitor’s data — nowhere. maps.googleapis.com loads the Google mapping library onto the home page; it is not in the documentation. [www.googletagmanager.com](https://www.googletagmanager.com) is not mentioned in any of the site’s documents. The notification service is identified by the domain and request address as OneSignal — the provider is not named. Second — the nature of the transmitted data. The GA4 request to region1.google-analytics.com contains the client identifier, screen resolution 1536x864, Windows platform, system bitness and architecture, a full list of browser versions, interface language, first-session flags, the address https://aade.gr/ and the page title. Screen resolution and the set of browser client hints are classic parameters for forming a digital fingerprint. This does not align with the site’s statement that personal information is not stored, and the client identifier by definition does not align with the assertion of non-transfer to third parties. Third — abandoned markup that continues to transmit data. The listed cookies _gat and _gid belong to the Universal Analytics generation, whereas what works is the GA4 stream with the identifier G-ZW48S01NY6. The cookie __cfduid, attributed to the notification service, was disabled by Cloudflare in 2021. Separately, the tag for the property UA-40404747-23, whose data processing ceased in 2023, still hangs on the page. This is not only a sign that the markup has not been revised: the request to [www.googletagmanager.com](https://www.googletagmanager.com) goes out in full and transmits to Google the IP address, referrer and browser string. The transmission took place, it has no destination — data does not reach the defunct property. Technically it is worth noting: the site sets no Content-Security-Policy header, that is, there are no restrictions on connecting third-party scripts at the response level. The Server header is hidden, only X-Generator is served, indicating Drupal 10. The external services’ providers are read from their own responses: OneSignal — Cloudflare, UserWay — CloudFront and CDN77.

There is a banner on the site: eu_cookie_compliance.css and eu_cookie_compliance.min.js from the Drupal EU Cookie Compliance module load, plus the site’s own configuration script sites/default/files/eu_cookie_compliance/eu_cookie_compliance.script.js. Proven: the loading of external scripts does not depend on the user’s choice. The banner’s configuration script goes out at +170 ms, in exactly the same batch of resources as the page’s first stylesheets — and in the same millisecond interval as gtag/js. Then the external requests go on in sequence: OneSignal +188 ms, Google Maps +189 ms, UserWay +392 ms, GA4 +422 ms, analytics.js +426 ms, the request to the OneSignal server +448 ms. All of them are parsed by the browser from the document’s own markup, before the banner can be rendered. This assertion is verified by the request order and does not depend on whether anyone pressed a button: on any user choice the result would have been the same. Proven: an identifier was written to the device on the first visit. The GA client identifier was transmitted to Google in the request body — which means it exists and is recorded. By the timestamp within it, it is visible that it was created at 07:04:08 UTC, 11 seconds before the recording began, that is, on the very first opening of the site. The first-session flags in the same request confirm this. Not proven and not required: the fact of a click on the banner itself. The EU Cookie Compliance module stores the user’s choice in a cookie on the browser side and makes no server requests on consent — so the absence of such a request in the recording means nothing in itself, this is its normal behaviour. The analysis’s thesis is built not on this, but on the load order. Timing of the transmissions. All external scripts are requested in the first 450 ms of the session. The substantive transmissions come later: the UserWay settings at +1650 ms, the GA4 event at +5622 ms, the page address to UserWay at +7524 ms. The delay of the GA4 event is explained by the busyness of the browser’s main thread — in the interval from 2.4 to 5.3 seconds heavy UserWay scripts execute and the mapping-library modules load. No user actions between the loading of the counter and the sending of the event are reflected in the recording, but this is not essential to the conclusion either: the counter had already been loaded unconditionally. What to proceed from. All the transmissions in this session — Google, UserWay, OneSignal — happen regardless of consent. The analytics, meanwhile, is classed by the site itself in an optional category, and such a category under Greek Law 3471/2006 requires consent before being set.

Limits of observation

The capture covers one page — the home page. The observation records the browser’s behaviour, not the services’ inner workings. Server-side processing, the contractual relationships with the recipients and the services’ own settings on their owners’ side are not verified by a browser capture; the legal assessment is made by the competent authority — the Hellenic Data Protection Authority (Αρχή Προστασίας Δεδομένων Προσωπικού Χαρακτήρα). The file is published cleaned of personal data: the Cookie headers in the requests, the response bodies, the mapping-library key and some session identifiers have been removed. So the composition of cookies on the device cannot be reconstructed in either direction from the HTTP headers of the published file, and no conclusion of the analysis relies on them. The fact of the analytics identifier being recorded rests on something else and is verified directly: the identifier was transmitted to Google in the request body visible in the file. The identification of the services relies on the domains, the address scheme and the response headers: UserWay — by userway.org and the CloudFront and CDN77-Turbo headers, OneSignal — by onesignal.com and the address api/v1/sync/…/web, Google — by googletagmanager.com, google-analytics.com and maps.googleapis.com. Embedded YouTube clips are present on the page in youtube-nocookie mode and did not load in this session.

Conclusion

The website of Greece’s tax authority discloses one of the four external services receiving the visitor’s data, and does so in a document that contradicts itself: it asserts that cookies are not transferred to third parties, and immediately describes a transfer to Google. The three other recipients — UserWay, Google Maps, OneSignal — are named nowhere as data addressees, even though UserWay produces 39 requests and transmits outward the address of the page being viewed and the content of its markup. The loading of all external scripts is wired into the document’s markup and does not depend on the choice in the consent banner, and the analytics, classed by the site itself as optional, transmits to Google the client identifier together with parameters suitable for forming a digital fingerprint. The tag for the defunct Universal Analytics property continues to send Google the IP address and referrer with no destination whatsoever. The cookie documentation describes a configuration at least three years old. For an authority to which citizens come on tax matters, such a gap between the declared and the actual constitutes a violation of transparency and of the consent requirements. Remediation: list all recipients individually with the transmitted fields specified, bring the cookie list into line with the actually working GA4 stream, tie the loading of optional scripts to the choice in the banner rather than to the parsing of the markup, and remove the tag for the defunct Universal Analytics property.

Evidence
Original (audit)
HAR file: gr/aade-gr-2026-05-31.har
SHA-256: f1a174e7a6d4f671e1b973ee3ed1306b85c9a81a63f6557252cef709b184f1f9
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: Hellenic Data Protection Authority (HDPA)file a complaint online →

To: Hellenic Data Protection Authority (HDPA)
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 aade.gr.

2. Circumstances
I visited the website aade.gr and found indications that the processing of my personal data does not comply with the GDPR. The technical analysis published on gdpru.eu on 28 July 2026 (open methodology, reproducible measurements) documents the following indications:

1) The site's only document on web tracking (aade.gr/cookies) names only Google Analytics and an unnamed «notification-display service». In the capture, data also goes to UserWay (three domains, 39 requests, the full page address, device type and image addresses are transmitted), to Google Maps and to Google Tag Manager, and the notification service is identified as OneSignal (a request to onesignal.com/api/v1/sync with the site's app identifier). None of these recipients is named in the documentation. The section «Προστασία δεδομένων προσωπικού χαρακτήρα» is devoted to tax and customs processing and does not concern the site's operation.

2) The cookie page asserts: «Στα cookies αυτά δεν αποθηκεύεται καμία προσωπική πληροφορία» and «Τα cookies δεν μοιράζονται με τρίτους». In fact, the GA4 request to region1.google-analytics.com transmits the client identifier, screen resolution 1536x864, Windows platform, x86/64 architecture, a list of browser versions, interface language, page address and title. The cookie list on the same page is outdated: _gat and _gid belong to the Universal Analytics generation, while __cfduid was disabled by Cloudflare in 2021.

3) The site itself classes the analytics in an optional category («Προαιρετικά στατιστικών»), that is, one requiring consent before being set. In fact its loading does not depend on the user's choice in either direction: the Google Tag Manager script is parsed by the browser from the document's own markup, in one batch with the first stylesheets (+170 ms), that is, before the banner can be rendered. The GA4 request with the client identifier went out at +5622 ms; by the timestamp within the identifier it was created on the first visit to the site. The Drupal EU Cookie Compliance banner module is installed on the site, but no external script waits for it.

4) The tag for the property UA-40404747-23 continues to load, although data processing in Universal Analytics ceased in 2023. The request to [www.googletagmanager.com](https://www.googletagmanager.com), meanwhile, goes out in full and transmits to Google the IP address, referrer and browser string. This transmission has no useful purpose — data does not reach the defunct property.

Full technical documentation is published at: https://gdpru.eu/en/audits/gr-aade-gr/

3. Provisions violated
GDPR Art. 13(1)(e) — disclosure of recipients; GDPR Art. 5(1)(a) — transparency; ePrivacy — Law 3471/2006 Article 4 para. 5 (in conjunction with GDPR Art. 6(1)(a)); GDPR Art. 5(1)(c) — minimisation

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]