Technical audit · 24.09.2026

myfitness.ee

Website of the MyFitness fitness club chain in Estonia

Website of the MyFitness fitness club chain — one recording, seven minutes, seven pages, 723 requests. There is almost nothing superfluous in the traffic: the Cookiebot consent platform with an equal-weight reject button, the refusal is recorded, and neither Google Analytics, nor Meta, nor Adform, nor Hotjar fired across the whole recording. The problem lies in the configuration of the consent platform itself: its declaration classifies as necessary — i.e. not requiring consent — Google cookies that it itself describes as advertising cookies, and the external Chatbase AI chatbot is executed by the Cookiebot loader before a choice and after refusal. The policy promises not to transfer data outside the EEA, whereas the same site's cookie declaration speaks of Google Analytics data being stored in the USA. The browser did not send a DNT header.

Request timeline

+0 ms · navigation
Opening of myfitness.ee: redirects http → https (307) and myfitness.ee → www.myfitness.ee (301). A WordPress site (Elementor, WPML). The browser did not send a DNT header.
+5184…+5823 ms · chatbot before a choice
www.chatbase.co/embed.min.js — the embed script is executed through the Cookiebot loader (the uc.js stack), then the styling of chatbot _E95DMJAN9J_wpTKT61Oj is requested. The chat icon is visible in the screenshot over the banner.
+324970…+419745 ms · after refusal
Six pages: on each, Cookiebot loads again and Chatbase loads again (embed.min.js and styling). There are no requests to Google Analytics, Meta, Adform, Hotjar or advertising networks.

Declared versus actual

✓ Controller — MY FITNESS AS, reg. code 11273563, Haabersti 5, 13516 Tallinn; data-protection contact andmekaitse@myfitness.ee — declared
✓ Policy: recipients — group companies, providers of IT, mail server, the website manager, a data-analysis software developer, the mobile-app provider, debt collection, authorities — declared
✓ Policy: data is not stored or transferred outside the EEA or to countries without an adequacy decision — declared
✓ Cookiebot declaration, necessary: Google (test_cookie, AEC, CONSENT — 20 years, NID, SOCS) with a note that they are used for personalisation and advertising measurement; CookieConsent, elementor, wpEmojiSettingsSupports, wp-wpml_current_language — declared
✓ Cookiebot declaration, statistics: Google Analytics (data stored on servers in the USA), Hotjar — declared
✓ Cookiebot declaration, marketing: Meta Platforms (_fbp and others), Adform (C, uid), Google (IDE, pagead/1p-user-list, _ga, _gcl_au, _gcl_ls and others) — declared
✓ Cookiebot declaration, unclassified: www.chatbase.co — chatbase_anon_id, status 'pending' — declared
✓ Site cookie page, necessary: test_cookie (doubleclick.net), reCAPTCHA, CookieConsent, PHPSESSID, __cf_bm (vimeo.com), NID, SOCS, JSESSIONID (nr-data.net) — declared
+ Chatbase — not named in the policy or on the site's cookie page; unclassified in the Cookiebot declaration — not declared
+ The classification of Google advertising cookies as necessary, not requiring consent — not declared
+ Transfer of data to the USA despite the statement that data is not transferred outside the EEA — not declared

Transfer timings

+2489 ms consent.cookiebot.com

uc.js, leveloptin mode.

+5184 ms www.chatbase.co

embed.min.js, executed by the Cookiebot loader.

+323061 ms consent.cookiebot.com

logconsent.ashx?action=decline.

+332819 ms www.chatbase.co

embed.min.js and chatbot styling; repeats on every page.

Detected trackers

Indicators of GDPR non-compliance


Context

myfitness.ee is the website of the MyFitness fitness club chain in Estonia: clubs, workouts, a timetable, services and the MOVE blog. The controller is MY FITNESS AS, registration code 11273563, Haabersti 5, 13516 Tallinn; the data-protection contact is andmekaitse@myfitness.ee. The site is built on WordPress (Elementor, WPML).

Processing is described by three documents: the MyFitness AS privacy notice (attached in its Russian version), the cookie declaration of the Cookiebot platform shown in the banner (updated 14 September 2026), and a separate site page, ‘Küpsiste kasutamine meie e-keskkondades’. Attached to the material are three screenshots: the banner, the details tab and the site footer.

The measurement consists of one recording lasting about seven minutes, seven navigations: the home page, a repeat visit to the home page, the workout timetable, partners, vacancies, ‘About us’ and questions. Seven hundred and twenty-three requests. The recording was made on 24 September 2026.

Who data goes to directly

Cookiebot (the consent platform), Chatbase (an AI chatbot). There is no Google Analytics, Meta, Adform, Hotjar or advertising network in the recording.

Declared versus actual

The documents declare a broad set of services: in statistics — Google Analytics and Hotjar; in marketing — Meta, Adform and Google advertising cookies; the site’s cookie page adds New Relic, reCAPTCHA and Vimeo. The privacy policy has no cookie section and names recipients only by category.

As regards transmissions, the measurement yields a discrepancy in the favourable direction; as regards the consent configuration, in the unfavourable one.

The consent platform works; advertising and analytics did not fire. Cookiebot loads at +2489 ms in leveloptin mode. The banner, as seen in the screenshot, offers ‘Keeldu’, ‘Luba valik’ and ‘Luba kõik’ — refusal is on equal footing with consent, and the preference, statistics and marketing categories are off. At +323061 ms the refusal is recorded (logconsent.ashx?action=decline). Across all 723 requests there is not a single request to Google Analytics, Meta, Adform, Hotjar or advertising networks — neither before the choice nor after.

Google advertising cookies are declared necessary. The Cookiebot declaration assigns the Google cookies test_cookie, AEC, CONSENT (retention period — 20 years), NID and SOCS to the ‘Vajalik’ category, and in the same place states that part of the data collected by this provider is intended for personalisation and measuring advertising effectiveness, and that IP addresses may be used to measure and personalise advertising. The site’s cookie page likewise assigns test_cookie from the doubleclick.net domain and NID to the necessary category. Necessary cookies are set without consent and cannot be refused, so this classification takes Google’s advertising cookies outside the scope of a refusal. In this recording there are no requests to Google, but if they appeared, the visitor’s refusal would not extend to these cookies.

The chatbot operates before a choice and after refusal. The Chatbase AI chatbot loads at +5184 ms, before any choice, and then on each of the six pages after the refusal — the embed script and the styling of chatbot _E95DMJAN9J_wpTKT61Oj. The script is executed through the Cookiebot loader (uc.js), meaning the consent platform lets it through. In the Cookiebot declaration Chatbase is listed as ‘unclassified’ with the identifier chatbase_anon_id and the status ‘Ootel’ (pending). The chat icon is visible in the screenshots over the banner and in the footer. The user did not open the chat.

The documents contradict each other. The policy states that data is not stored or transferred outside the EEA or to countries without an adequacy decision, whereas the same site’s cookie declaration states that Google Analytics data is stored on Google servers in the USA. The Cookiebot declaration and the site’s cookie page differ in the set of necessary cookies. Chatbase is named neither in the policy nor on the site’s cookie page.

Proven: refusal is on equal footing with consent, and it is recorded. By the banner screenshot and the logconsent.ashx?action=decline request.

Proven: advertising and analytics did not fire. There are no requests to Google Analytics, Meta, Adform, Hotjar or advertising networks in the recording.

Proven: Chatbase loads before a choice and after refusal, through the Cookiebot loader. By the timings and the initiator stack of the www.chatbase.co requests.

Proven: Google cookies described as advertising cookies are classified as necessary. By the text of the Cookiebot declaration and the site’s cookie page.

Not proven and not asserted: the setting of the chatbase_anon_id cookie and Google cookies in this recording. The Set-Cookie headers are stripped in the published file; their existence follows from the declaration, not from the network recording. There are no requests to Google in the recording at all.

Separately: the browser did not send a DNT header in this recording.

Bounds of observation

The measurement covers seven pages of the site; no login to the client environment, workout booking or chat conversation was performed. Observation captures the browser’s behaviour, not the internal side of the services. The legal assessment is made by the competent authority — in Estonia, Andmekaitse Inspektsioon.

The file is published redacted under a “lean” profile: cookie values in requests have been removed, the Cookie and Set-Cookie headers stripped; the redaction registry records 322 redactions and a checksum. The consent decision is read from the action=decline parameter; information on the composition and classification of cookies is taken from the Cookiebot declaration and the site’s cookie page. The presence of Chatbase does not mean it transmits information about conversations: there was no conversation in the recording, only the loading of the chatbot is observed.

The identification of services relies on domains and address patterns: the consent platform — by cookiebot.com; the chatbot — by chatbase.co and the chatbot identifier. The absence of analytics and advertising is established by the absence of requests to google-analytics.com, facebook.com, adform.net, hotjar.com and other advertising nodes.

Conclusion

The MyFitness fitness club chain’s website transmits no data to analytics or advertising when browsed: the Cookiebot consent platform works with an equal-weight reject button, the refusal is recorded, and the declared Google Analytics, Meta, Adform and Hotjar do not fire in the recording. The violation lies in the configuration of the consent mechanism itself and in the documents. The Cookiebot declaration classifies as necessary Google cookies that it itself describes as advertising cookies — thereby taking them outside the scope of a refusal; the Chatbase AI chatbot is executed by the Cookiebot loader before a choice and after refusal and is named nowhere except in the declaration. The policy promises not to transfer data outside the EEA, whereas the same site’s cookie declaration speaks of Google Analytics data being stored in the USA.

Remediation: move the Google cookies test_cookie, NID, AEC, CONSENT and SOCS out of the necessary category into one requiring consent, and shorten the retention period of CONSENT; classify Chatbase and place its loading under consent, or load the chatbot only when the chat icon is clicked; name Chatbase in the policy and on the cookie page; reconcile the statement about not transferring data outside the EEA with the cookie declaration and describe the transfer mechanism; synchronise the Cookiebot declaration and the site’s cookie page.

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/myfitness-ee-2026-09-24.har
SHA-256: cd83e0840cb73a5086bb04e547087d1d4abba52a16b273dbd23775b2d532efc6
Screenshot
Скриншот интерфейса
Cookiebot banner: 'Keeldu' on equal footing with 'Luba kõik', categories off; the Chatbase chatbot icon is already visible in the corner · 24.09.2026
Скриншот интерфейса
The 'Üksikasjad' tab: nine 'necessary' cookies — among them Google cookies described in the declaration as advertising cookies · 24.09.2026
Скриншот интерфейса
Footer: MY FITNESS AS, reg. code 11273563, the cookie-settings button and the chatbot icon · 24.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.