Divadlo souhlasu: Forenzní analýza úniku informací odhaluje lži o cookie bannerech
Iluze souladu s předpisy zakotvená v architektuře TCF
Rámec pro transparentnost a souhlas IAB Europe byl navržen tak, aby umožnil uplatňování souhlasu podle GDPR v širokém měřítku. V praxi však umožňuje pouze zdání souhlasu. Průlomová studie autorů Matte, Bielova a Santose (2020) — „Do Cookie Banners Respect my Choice?“ (Respektují cookie bannery mou volbu?), IEEE S&P 2020 — prověřila 560 webových stránek implementujících TCF v1.1 a zjistila, že 89 % z nich porušovalo vlastní deklarovaný rámec pro souhlas. Nejedná se o marginální nesoulad s předpisy. Je to problém strukturální: závislost rámce na JavaScriptu na straně klienta a řetězcích souhlasu kontrolovaných vydavateli vytváří auditní plochy, které lze snadno obejít a které jsou zřídka kontrolovány.
Pro forenzní odborníky na ochranu soukromí není tato studie pouhým akademickým údajem. Definuje metodiku — forenzní analýzu úniků odmítnutí — kterou by měl každý pověřenec pro ochranu osobních údajů a technický auditor nasadit před schválením implementace souhlasu s cookies jakéhokoli dodavatele.
Co vlastně znamená „únik při odmítnutí“ na síťové vrstvě
K úniku při odmítnutí dochází, když subjekt údajů vyjádří negativní souhlas – kliknutím na „Odmítnout vše“ nebo zavřením banneru bez udělení souhlasu – a webová stránka přesto zahájí přenos dat třetím stranám, který vyžaduje platný právní základ podle čl. 6 odst. 1 GDPR. Tato mezera se projevuje v několika technicky odlišných formách:
- Spuštění před udělením souhlasu: Sledovací pixely, požadavky na majáky nebo načítání JavaScriptu třetích stran před zobrazením uživatelského rozhraní pro souhlas. Lze zjistit analýzou souboru HAR – hledejte požadavky na známé domény sledovacích nástrojů (např.
pixel.advertising.com,sync.rtbhouse.com) s časovými značkami předcházejícímiDOMContentLoadedudálosti nebo jakéhokoli__tcfapizpětného volání. - Manipulace s řetězcem souhlasu: Matte a kol. zjistili případy, kdy řetězec TC uložený v
euconsent-v2cookie zaznamenal signál souhlasu, přestože uživatel zvolil odmítnutí. To lze odhalit dekódováním řetězce TC pomocí referenčního dekodéru IAB a porovnánímPurposesConsentbitmapy s pozorovanou síťovou aktivitou. - Zombie souhlas: Dříve uložený kladný řetězec TC je znovu načten z
localStoragecookie první strany a přenesen třetím stranám, čímž se přepíše nové odmítnutí. To přetrvává napříč relacemi, pokud není výslovně vymazáno. - Pokračování po odmítnutí: Správci tagů (Google Tag Manager, Tealium) spouštějí tagy dodavatelů na základě svého vlastního interního stavu souhlasu, který zaostává za aktualizovaným stavem CMP.
window.__tcfapi('addEventListener', 2, callback)posluchač není vždy respektován všemi konfiguracemi tagů.
Kontext Soudního dvora Evropské unie (CJEU) a Evropského sboru pro ochranu údajů (EDPB): Proč je to právně výbušné
Rozsudek Soudního dvora Evropské unie ve věci IAB Europe v. APD (věc C-604/22, únor 2024) potvrdil, že IAB Europe působí jako společný správce při zpracování TC String. Toto rozhodnutí, v kombinaci s podkladovým rozhodnutím belgického APD (APD/GBA, spis č. DOS-2019-01377), stanoví, že technicky vadný řetězec TC není štítem pro následné zpracovatele – je důkazem mechanismu souhlasu, který nikdy nebyl právně platný.
Pokyny EDPB 05/2020 o souhlasu (přijaté 4. května 2020, revidované 4. května 2020, ref. EDPB-2020-GL-05) výslovně uvádějí, že souhlas musí být jednoznačný a že předem zaškrtnutá políčka nebo systémy, kde nečinnost znamená souhlas, jsou zakázány. CMP, který spouští sledovací nástroje před obdržením kladného signálu, porušuje tuto normu přímo podle čl. 7 GDPR, a nejde pouze o procesní vadu.
Zásadní je, že zásada odpovědnosti podle čl. 5 odst. 2 GDPR klade břemeno prokázání souladu na správce. Únik při odmítnutí, jakmile je zdokumentován v forenzním síťovém záznamu, toto břemeno operativně obrací: správce musí vysvětlit, proč data opustila prohlížeč bez platného právního základu. Při absenci souběžného, kryptograficky ověřitelného záznamu o souhlasu bude toto vysvětlení neúspěšné.
Forenzní metodika: Jak zdokumentovat únik při odmítnutí
Obhajitelné vyšetřování úniku při odmítnutí vyžaduje reprodukovatelné důkazy s časovým razítkem. Následující protokol vytváří důkazy přípustné u soudu:
- Izolujte prostředí: Použijte čistý profil prohlížeče (Chromium v anonymním režimu nebo vyhrazenou relaci Playwright/Puppeteer) bez existujících souborů cookie nebo
localStorage. Deaktivujte ochranu proti sledování na úrovni prohlížeče, abyste se vyhnuli matoucím proměnným – testujete CMP, ne prohlížeč. - Zachyťte úplnou stopu HAR: Otevřete kartu Síť v DevTools, povolte „Zachovat protokol“, přejděte na cílovou URL, interagujte s uživatelským rozhraním pro souhlas (vše odmítnout) a exportujte soubor HAR. Nástroje jako
mitmproxyneboCharles Proxyposkytují podrobnější záznamy dešifrované pomocí TLS, včetně těl požadavků. - Analýza časových značek: V souboru HAR porovnejte
startedDateTimekaždého požadavku třetí strany s časovým razítkem události interakce s souhlasem. Jakýkoli požadavek trackeru na dodavatele uvedeného v TCF GVL (Global Vendor List) sstartedDateTimepřed zpětným voláním odmítnutí potvrzuje spuštění před udělením souhlasu. - Dekódování řetězce TC: Extrahujte
euconsent-v2hodnotu cookie ihned po odmítnutí. Dekódujte jihttps://iabtcf.com/#/decodenebo pomocí@iabtechlab/consent-stringknihovny npm. Ověřte, zdapurposeConsentsjsou bity 1–10 všechny0a že bitová mapa souhlasu dodavatele nevykazuje žádné pozitivní signály. - Otiskování DNS a TLS: Použijte
Wiresharkspolu s protokolováním TLS SNI k zachycení názvů serverů, s nimiž bylo navázáno spojení během toku odmítnutí. Data SNI vClientHellozprávě nejsou šifrována ani v TLS 1.3 a odhalují domény trackerů ještě předtím, než je viditelný jakýkoli obsah na úrovni HTTP.
Co data odhalují o strukturálním selhání TCF
Zjištění Mattea a kol., že 32 % webů nastavuje v řetězci TC pozitivní souhlas bez ohledu na volbu uživatele, poukazuje na konkrétní vzor implementace: CMP, které zapisují řetězec souhlasu synchronně při načtení stránky s výchozím pozitivním stavem a poté jej asynchronně aktualizují po interakci uživatele — bez záruky, že následné správce tagů na aktualizaci počkají. __tcfapi Model API řízený událostmi předpokládá, že všichni spotřebitelé implementují addEventListener callback správně. Většina šablon správců tagů tak nečiní.
To je umocněno strukturou pobídek dodavatelů CMP. CMP jsou komerčně závislé na vydavatelích, kteří těží z vyšších míry souhlasu. „Náhodné“ předběžné spuštění, které vytvoří sledovací cookie před zpracováním odmítnutí, je ekonomicky racionální jak pro dodavatele CMP, tak pro vydavatele. Forenzní auditoři by měli při interpretaci nejednoznačných síťových záznamů brát v úvahu tuto shodu pobídek.
Akční body pro DPO a technické auditory
- Před spuštěním a po každé aktualizaci verze CMP proveďte testy úniku odmítnutí. Automatizujte to pomocí skriptů Playwright, které interagují s uživatelským rozhraním pro souhlas a ověřují nulový počet požadavků třetích stran v následném výstupu HAR.
- Programově dekódujte řetězce TC v rámci čtvrtletního auditu souhlasu. Pozitivní
purposeConsentsbit po zdokumentovaném odmítnutí je porušením GDPR, které je přímo předurčeno k podání stížnosti u dozorového úřadu. - Vyžadujte potvrzení dodavatelů podle čl. 28 odst. 3 písm. h) GDPR: vaše DPA s dodavatelem CMP a poskytovatelem správce tagů musí smluvně vyžadovat, aby jejich systémy respektovaly negativní signály souhlasu v rámci definované latence (doporučeno <50 ms).
- Ukládejte balíčky důkazů, nikoli screenshoty. Soubory HAR, dekódované výstupy řetězců TC a soubory pcap Wiresharku tvoří forenzní záznam. Screenshoty bannerů s informacemi o souborech cookie nikoli.
- Porovnejte s GVL: Každá doména třetí strany, s níž byl navázán kontakt po odmítnutí, by měla být porovnána s aktuálním globálním seznamem dodavatelů (GVL) IAB. Dodavatelé, kteří nejsou na GVL a přijímají data po odmítnutí, nemají vůbec žádný základ v TCF – jedná se o jasné porušení čl. 6 odst. 1 GDPR bez možnosti zmírnění.
Rozdíl mezi bannerem s cookies, který říká „Odmítnout vše“, a síťovým stackem, který na toto odmítnutí reaguje, je tím, co rozhoduje o úspěchu či neúspěchu případů vymáhání práva. Forenzní analýza úniků při odmítnutí tento rozdíl překlenuje – a mění pouhé předstírání dodržování předpisů na ověřitelné důkazy.