Technical audit · 13.09.2026

estravel.ee

A travel agency's site

The site of the travel agency Estravel — a single capture of the homepage, 98 requests, 10 nodes. The stack is unexpectedly modest for travel: there are no ad networks or Facebook pixel in the capture, the CookieYes consent platform is in place, and the banner is exemplary — three buttons with «Reject All» on the first screen, categories off by default. But one thing bypasses this frame: Microsoft Clarity — a session-recording tool (mouse movements, clicks, form input) — loads right after the banner and records the session continuously, before consent and with analytics off. And session recording is not disclosed in the policy at all — neither Clarity by name, nor the very fact of session recording.

Request timeline

+44…+73 ms · the CMP, GTM and Clarity start almost together
cdn-cookieyes.com/script.js (consent platform, +44 ms), www.socialintents.com (chat, +49 ms), www.google.com/recaptcha (+51 ms), www.googletagmanager.com/gtm.js (GTM-MWNNL7T6, +72 ms), www.clarity.ms/tag (Microsoft Clarity, +73 ms). Session recording initialises almost simultaneously with the consent platform.
+1012…+36620 ms · session recording continuously
k.clarity.ms/collect — Microsoft Clarity sends session-recording data, starting from +1012 ms and then every ~5-7 seconds (11 requests over 36 seconds of the capture). The request bodies are from 1064 bytes. All before consent is recorded and with the Analytics category off.

Declared versus actual

✓ Controller — Estravel AS (travel agency) — declared
✓ A combined policy and cookie declaration running on the CookieYes engine; categories Necessary, Functional, Analytics, Advertisement, Performance — declared
✓ A banner with three buttons («Customise» / «Reject All» / «Accept All»), categories off by default — declared
✓ Named in the declaration: CookieYes, Google Tag Manager, Analytics, Facebook — declared
✓ Supervisory authority — Andmekaitse Inspektsioon — declared
+ Microsoft Clarity (session recording) is not named in the policy, neither by name nor as session recording — not declared
+ Session recording runs before consent and with the Analytics category off by default — not declared
+ The SocialIntents chat widget is not named in the policy — not declared

Transfer timings

+44 ms cdn-cookieyes.com

Consent platform; a banner with «Reject All» on the first screen.

+73 ms www.clarity.ms

Microsoft Clarity tag; not named in the policy.

+1012 ms k.clarity.ms

/collect, body from 1064 bytes; then continuously throughout the session.

Detected trackers

Indicators of GDPR non-compliance

Context

estravel.ee is the site of Estravel AS, one of the largest travel agencies in Estonia (air tickets, hotels, package tours, cruises). Travel is a moderately sensitive category: the user enters destinations, travel dates, and — when booking — personal and payment data. The processing is described by a combined policy and cookie declaration running on the CookieYes engine; consent is managed by CookieYes.

The capture is a single recording of the homepage: 98 requests, 10 nodes. The stack is modest for a travel site: there are no ad networks, Facebook pixel or audience platforms in this capture.

Who data goes to directly

Microsoft Clarity — session recording (movements, clicks, input), continuously and before consent. Consent management — CookieYes. Support chat — SocialIntents. Functionally — reCAPTCHA. The first party is Estravel’s site. There are practically no GA4/advertising requests in the capture.

Declared versus actual

This is an unusual situation: the banner is built exemplarily, and the frame is bypassed by one component — the most intrusive.

The banner is correct. The CookieYes platform loads first (+44 ms), the banner «We value your privacy» offers three buttons — «Customise», «Reject All», «Accept All» — with «Reject All» on the first screen, equivalent to «Accept All». In the settings the Functional, Analytics, Performance categories are off by default (toggles empty). As for the consent mechanism there is no complaint — refusal is simple and available at once.

But session recording works around this frame. Microsoft Clarity is a session-recording tool: it captures mouse movements, clicks, scrolling and form interaction, effectively “re-shooting” the user’s actions on the page. It loads at +73 ms — right after the consent platform — and begins sending recording data (k.clarity.ms/collect) from +1012 ms, continuing throughout the session: 11 requests every ~5-7 seconds, bodies from 1064 bytes. All of this before any choice by the user and with the Analytics category off by default. Clarity does not belong to the Google stack, does not know consent mode and records the session independently of the banner. On a travel site this matters especially: the user enters destinations, dates, and on booking pages personal data, and a session recording is capable of capturing them.

And session recording is not disclosed. The cookie declaration describes categories (Necessary, Functional, Analytics, Advertisement, Performance) and names CookieYes, Google Tag Manager, Analytics, Facebook. But Microsoft Clarity is not mentioned in it at all — neither by name, nor via its cookies (_clck, _clsk, CLID), nor as «session recording». The SocialIntents chat widget is also not named. That is, the site’s most intrusive component — recording the user’s actions — is not disclosed to the visitor: reading the policy, they do not learn that their session is being recorded.

Proven: the banner is correct. The screenshots record «Reject All» on the first screen and the categories off by default.

Proven: Clarity records the session before consent. www.clarity.ms/tag at +73 ms, k.clarity.ms/collect from +1012 ms, then continuously (11 requests over 36 seconds).

Proven: Clarity is not disclosed in the policy. A search of the declaration does not find «Clarity», «Microsoft», the cookies _clck/_clsk/CLID, or «session recording».

Proven: the Analytics category is off by default. The settings screenshot shows the Functional/Analytics/Performance toggles empty.

Not established: the consent decision. The user’s choice is not recorded in this capture; the key fact is that Clarity records the session before any choice.

Not proven: the content of the Clarity recording. The /collect bodies in the published file are redacted (a size note from 1064 bytes remains), so what exactly is recorded — movements, form input — cannot be read from the file; the conclusion rests on the fact of a session-recording tool operating before consent, not on the content of the recording.

Observation boundaries

The capture covers the homepage and records browser behaviour, not server-side processing: what Microsoft records and stores on its side and how Clarity is configured (whether it masks form input) is not verified by a browser capture. The capture was made on the homepage, not on a booking page, so the capture of specific personal data in the recording was not observed — but the session-recording tool is already active here, before consent. The Clarity request bodies were redacted during cleaning (a size note remains), so the content of the recording is not given. SocialIntents (chat) and reCAPTCHA are attributed to the functional part.

The file is published cleaned of personal data (97 redactions, self-check clean); the load order (Clarity right after the CMP), the continuity of the /collect requests and the absence of Clarity from the policy text can be verified directly against the published file and the screenshots. The banner and its buttons are from the screenshots (live UI).

The legal assessment is made by the competent authority — Andmekaitse Inspektsioon.

Conclusion

The travel agency built its consent mechanism exemplarily: the CookieYes platform loads first, the banner offers «Reject All» on the first screen alongside «Accept All», and the optional categories are off by default. There is no advertising stack, Facebook pixel or audience platforms in the capture — for a travel site a modest and tidy set.

But one thing bypasses this frame, and it is the most intrusive component. Microsoft Clarity — a session-recording tool capturing movements, clicks and form interaction — loads right after the consent platform and records the session continuously, before any choice and with analytics off by default. It does not know consent mode and operates independently of the banner. And session recording is not disclosed in the policy at all: neither Clarity by name, nor the very fact of session recording. The result is a paradox: the site offers an honest choice in the banner, while in parallel keeping a hidden recording of the user’s actions that the policy is silent about.

Remediation: condition the loading and recording of Microsoft Clarity on actual consent, so that session recording does not run before the choice and with analytics off; name Microsoft Clarity in the policy as a recipient with its purpose stated (session recording) and configure form-input masking, so that the recording does not capture personal and payment data during booking; name the SocialIntents chat widget; otherwise the correct CookieYes banner — with «Reject All» on the first screen and categories off by default — can serve as a reference.

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/estravel-ee-2026-09-13.har
SHA-256: df2ba4a190fcd9f49c6ffd2de9ac0898763a6e5d02e5e22ef1896fa3c9d55743
Screenshot
Скриншот интерфейса
Consent banner: «Customise» / «Reject All» / «Accept All» — refusal on the first screen · 13.09.2026
Скриншот интерфейса
Settings: Functional, Analytics, Performance off by default · 13.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.