Wróć do Mechanizm blokowania

Jak działa blokowanie skryptów?

blokowanieskryptymechanizm

CookieZen używa architektury Loader + Banner i algorytmu Fail Open (blokujemy tylko znane trackery, nieznane przepuszczamy).

Warstwa 1: Loader (~3KB, synchroniczny)

Ładuje się jako pierwszy, wysyła Consent Mode defaults do GTM i uruchamia MutationObserver. Blokuje trackery bez natywnego Consent Mode:

-Facebook (connect.facebook.net), TikTok, Hotjar, LinkedIn, Pinterest, Criteo, Taboola, Outbrain
-Wzorce inline w treści skryptów (np. fbq('init', ttq.load, hj('init')
-Fail-safe timeout 7s: jeśli Banner nie załaduje się, skrypty są odblokowywane (strona działa)

Warstwa 2: Banner (~30KB, asynchroniczny)

Pełny system blokowania z uwzględnieniem wszystkich kategorii i nadpisów developera.

Mechanizm blokowania skryptów:

1. MutationObserver przechwytuje nowe elementy <script> i <iframe>

2. Skrypty wymagające zgody: zmiana type na text/plain (przeglądarka ich nie wykonuje)

3. Iframe-y: usunięcie src, zapis do data-cmp-src (odblokowanie po zgodzie)

4. Hierarchia decyzji: data-cmp-category (nadpis developera) > KNOWN_TRACKER_HOSTS > wzorce inline > domyślnie przepuść

Co CookieZen NIE robi: nie nadpisuje document.cookie, localStorage ani fetch/XHR – blokuje wyłącznie wykonanie skryptów i iframe-ów.

Priorytet ładowania: Loader musi być pierwszy w <head>, aby przechwycić trackery zanim się uruchomią.