Technical audit · 28.09.2026

prototehas.ee

Website of the PROTO Invention Factory entertainment centre in Tallinn

The website of the PROTO entertainment centre — three pages, 262 requests. Google Analytics and Google Ads run in denied mode, and this is done correctly. But the banner's first screen offers no way to refuse — only to agree or go into the settings. The policy still advises managing cookies through the browser, calls statistics anonymous, and mentions neither Google Ads nor the Askly chat, which holds a persistent visitor identifier from the first second.

Request timeline

+0 s · entering the homepage
Redirect to www.prototehas.ee. Cloudflare Web Analytics (+1.1 s).
+1.3…+3.4 s · tags and chat
GTM-PSBKDJX (+1.3 s), gtag for G-WTKBJ59H5K (+2.2 s). The Askly chat (+2.4 s) receives a persistent visitor identifier and opens a websocket connection (+3.4 s).
+4.4 s · Google in denied mode
A page_view to GA4 with gcs=G100; a service request to pagead2.googlesyndication.com.
+47 s · Google Ads conversion
The timer_45sek event and the AW-650736284 conversion — in denied mode, Google responds 400.
+86…+155 s · homepage and policy
On every page, Askly again with the same visitor identifier; Google with a new identifier and gcs=G100.

Declared versus actual

✓ Controller — Proto OÜ, registration code 14158153, Peetri tn 10, Tallinn; info@protofactory.ee (section 1.1) — declared
✓ Disclosure to third parties — Mailchimp (The Rocket Science Group LLC) for the newsletter; accounting services (section 1.5) — declared
✓ Cookie data is used for statistics and targeted advertising (section 1.6) — declared
✓ Statistics cookies collect data anonymously; advertising partners set cookies for up to 540 days — declared
✓ Cookies can be disabled in browser settings; most browsers accept them automatically — declared
✓ Right to lodge a complaint with the Andmekaitse Inspektsioon — declared
+ Google Ads (AW-650736284) — not declared
+ The Askly chat with a persistent visitor identifier — not declared
+ Cloudflare Web Analytics — not declared
+ Advertising partners by name — not declared

Transfer timings

+2.4 s chat.askly.me

Askly chat with a persistent visitor identifier.

+3.4 s sessions.chat.askly.me

Chat websocket, repeated on every page.

+4.4 s region1.google-analytics.com

page_view, gcs=G100.

+49.4 s pagead2.googlesyndication.com

AW-650736284, response 400.

Detected trackers

Indicators of GDPR non-compliance

Context

prototehas.ee is the website of PROTO Avastustehas, an interactive entertainment centre in Tallinn. The controller is Proto OÜ (registration code 14158153, Peetri tn 10, Tallinn). The measurement is a single capture of three pages: the homepage twice and the privacy terms page. In total, 262 requests.

Processing is described by a single page, “Privaatsustingimused” — a privacy policy combined with a cookie section.

Who receives data directly

Google — Analytics and Ads in denied mode, Tag Manager. Askly — chat. Cloudflare — web analytics. Third-party libraries: jQuery CDN, BootstrapCDN, Google Fonts.

Declared versus actual

Google is configured correctly: both Analytics and Ads run in denied mode, the identifier is new on every page, and Google Ads conversions are rejected. The discrepancies lie in the banner’s design and in the policy.

First — refusing is harder than consenting. The banner’s first screen offers “Nõustun” and “Küpsiste seaded”. The “Keela kõik” button appears only on the second layer. The policy goes further still, describing cookies the way it was done before the GDPR: most browsers accept them automatically, and anyone who objects can configure their browser. Browser settings do not constitute consent, and refusal must be as easy as consent.

Second — the policy does not know what runs on the site. It names Google Analytics and Mailchimp. The capture also shows Google Ads — the tag sends a conversion once a visitor has spent 45 seconds on a page — the Askly chat, and Cloudflare Web Analytics. Askly stands out: it loads before any choice, receives a persistent visitor identifier, and opens a connection on every page. The policy mentions advertising partners with cookies lasting up to 540 days but names none of them. And it calls statistics cookies anonymous, although Google Analytics runs with an identifier.

Proven: there is no refusal on the first layer. Screenshot 1; “Keela kõik” appears only in screenshot 2.

Proven: Google respects the denial. Every request carries gcs=G100, the identifiers differ between pages, and Google Ads conversions are rejected with response 400.

Proven: Askly runs before any choice with a persistent identifier. The same visitor identifier on every page in the capture.

Proven: Google Ads, Askly, and Cloudflare are not named in the policy. A search of the saved page.

Not established: the decision in the banner. No decision was made in the capture.

Boundaries of this observation

The measurement covers the homepage and the privacy terms page. Ticket booking was not examined. 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, which is named in the policy itself.

Conclusion

Technically, PROTO has set up Google in good faith. But the banner does not allow refusal on the first screen, and the policy lives in the era when cookies were switched off in the browser. Of the services running on the site, it does not name them all: Google Ads, the Askly chat with a persistent identifier, and Cloudflare remain unknown to the visitor.

Remedy: add a “Keela kõik” button to the banner’s first layer; rewrite the cookie section, removing the reference to browser settings as the way to refuse; name Google Ads, Askly, Cloudflare, and the advertising partners in the policy; remove the claim that statistics cookies are anonymous.

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/prototehas-ee-2026-09-28.har
SHA-256: 1a7ee0c3fc99a36da5de9c3e347c6737dd6ddaa15f88f51c397b8d9732b8d8b3
Screenshot
Скриншот интерфейса
The banner's first layer: 'Nõustun' and 'Küpsiste seaded' — no refuse button · 28.09.2026
Скриншот интерфейса
The second layer 'Privaatsuseadete ülevaade': 'Luba kõik', 'Keela kõik', 'Salvesta seaded' · 28.09.2026
Скриншот интерфейса
The 'Püsiküpsised' section on the banner's second layer · 28.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.