Technical audit · 30.09.2026

tpilet.ee

T-pilet intercity bus ticket sales website

The T-pilet bus ticket website — nine pages, 288 requests. Technically, the picture is clean: Google Analytics stays in denied mode throughout the capture, the identifier is new on every page, and the Amplitude library loads but sends nothing. There is one discrepancy, in the banner's text: next to the equally weighted 'Nõustun' and 'Ei nõustu', it states that using the site already means agreeing to the cookie terms.

Request timeline

+0 s · entering
Redirect to www.tpilet.ee.
+0.6…+0.9 s · tags
GTM-PXZF4J4, gtag for G-MJVX83G658, the legacy analytics.js, and the Amplitude library.
+0.8…+247 s · Google in denied mode
On every page — the homepage in three languages, the timetable, public transport, news — page_view and scroll with gcs=G100 and a new identifier.

Declared versus actual

✓ T grupp OÜ, registration code 10056042, Lastekodu tn 46, Tallinn — processor on behalf of the carriers — declared
✓ Banner: by using the website, you agree to the cookie terms; buttons 'Nõustun' and 'Ei nõustu' — declared
+ The sentence about consent through use of the site contradicts the refuse button — not declared

Transfer timings

+0.8 s region1.google-analytics.com

page_view, gcs=G100.

+0.9 s cdn.amplitude.com

Amplitude 5.8.0; no data submissions.

Detected trackers

Indicators of GDPR non-compliance

Context

tpilet.ee is the T-pilet website for intercity bus tickets. The site is run by T grupp OÜ (registration code 10056042, Lastekodu tn 46, Tallinn). According to its privacy policy, T grupp acts as a processor when selling tickets, while the carriers are the controllers.

The measurement is a single capture of nine pages: the homepage in Estonian, Russian, and English, the timetable, the public transport section, and news. In total, 288 requests.

Who receives data directly

Only Google — Analytics in denied mode and script loading. The Amplitude library loads but sends no data.

Declared versus actual

Technically, the site is in order. Google Analytics runs in denied mode throughout the capture: every page gets a new identifier and a first-visit marker, meaning nothing is stored between pages. The legacy Universal Analytics counter and the Amplitude library load but make no data-collection requests. There are no advertising services.

There is one discrepancy — in the banner’s wording. The buttons are done correctly: “Nõustun” and “Ei nõustu” look the same and sit side by side. But above them it says that using the site already means agreeing to the cookie terms. If that were true, the refuse button would mean nothing. If not, the text is misleading. Consent is given by pressing a button, not by opening a website.

Proven: refusal is available on the first layer. The “Ei nõustu” button in the screenshot.

Proven: the banner declares use of the site to be consent. The banner text in the screenshot.

Proven: Google respects the denial. Every request carries gcs=G100, and the identifiers differ between pages.

Not established: the decision in the banner. It is not reflected in network requests. Denied mode throughout the capture is consistent with refusal or with no decision.

Not verified: the cookie terms. The banner links to a separate “küpsiste tingimused” page, which was not part of the capture.

Boundaries of this observation

The measurement covers the site’s public pages. No ticket was purchased. The observation records browser behavior, not server-side processing. The file has been published cleaned: Cookie headers and script bodies were removed.

Legal assessment falls to the competent authority — the Andmekaitse Inspektsioon.

Conclusion

T-pilet has set up its site carefully: equally weighted accept and refuse buttons, Google Analytics in denied mode, and no advertising. The only violation is the sentence in the banner declaring mere use of the site to be consent. It contradicts the refuse button placed directly beneath it.

Remedy: remove the sentence about consent through use of the site from the banner, leaving the choice to the buttons.

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: ee/tpilet-ee-2026-09-30.har
SHA-256: a03aa9fc2e8480e403612339afa1aa6d2c21fea6ac89a8f1259dc9e9ef642619
Screenshot
Скриншот интерфейса
The banner on the homepage: 'Kasutades meie veebilehte, nõustud küpsiste tingimustega' above the 'Nõustun' and 'Ei nõustu' buttons · 30.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.