Urząd Miasta Łodzi - Audyt naruszeń serwisów miejskich i powiązanych z UMŁ (2026 rok)

Techniczne śledztwo dziennikarskie dokumentujące prawdopodobne naruszenia ochrony danych osobowych na stronach zarządzanych przez podmioty powiązane z Miastem Łódź. Systemy śledzące uruchamiały się natychmiast po wejściu na stronę - bez zgody użytkownika, wysyłając sygnały do zewnętrznych podmiotów. W toku postępowanie UODO, UKE oraz prokuratorskie.

Kontekst oficjalny – odpowiedź Wiceprezydenta Miasta Łodzi

W dniu 22 maja 2026 r. radni Sebastian Bułak, Marcin Buchali i Piotr Cieplucha skierowali interpelację w sprawie doniesień o możliwym śledzeniu użytkowników miejskich serwisów bez świadomej zgody powołując się na audyt redakcji Dadalo.pl i doniesienia prasowe. Odpowiedź udzielił 30 czerwca 2026 r. Wiceprezydent Miasta Łodzi Tomasz Piotrowski.

„Informacje zawarte w interpelacji (cytowana publikacja) zainicjowały przeprowadzenie wewnętrznej analizy dotyczącej prowadzonych przez Urząd stron, w szczególności: uml.lodz.pl oraz bip.uml.lodz.pl. Nie możemy wykluczyć, że opisana na https://dadalo.pl/ miała miejsce, i parametr gcd przyjmował wartość 13l3l3l2l1l1.”

Wiceprezydent potwierdził, że na stronach miejskich mógł występować parametr gcd=13l3l3l2l1l1 (stan „not set”). Jak wykazuję w audycie wartość ta w połączeniu ze złym wdrożeniem wskazuje powoduje, że mechanizm zgody nie zdążył zadziałać - tagi śledzące były uruchamiane przed podjęciem przez użytkownika decyzji o wyrażeniu lub odmowie zgody, a dane marketingowe były wysyłane tak jakbyśmy dali pełną zgodę na wszystko.

Miasto zadeklarowało podjęcie działań naprawczych, w tym usunięcie starych i nieadekwatnych kodów śledzących oraz rozważenie prowadzenia analityki poza ekosystemem Google. Zapowiedziano również, że zlecenie zewnętrznego audytu jest rozważane.

Wiceprezydent wskazał ponadto, że na stronach uml.lodz.pl oraz bip.uml.lodz.pl wdrożono autorskie narzędzie zgody na cookies. Jednocześnie zastrzeżono, że zlecenie zewnętrznego audytu tego rozwiązania również jest rozważane.

Z uwagi na charakter odpowiedzi oraz skalę nieprawidłowości w tym "autorskie rozwiązanie" wdrożone na BIP w serwisie dadalo.pl w najbliższym czasie opublikowana zostanie oficjalna odpowiedź redakcji na powyższe pismo. Jednocześnie aktualizacja audytu w jej obecnej formie i szczegółowości wraz z komentarzami dla każdej domeny jest częścią tej odpowiedzi.

Źródło: Odpowiedź Wiceprezydenta Miasta Łodzi Tomasza Piotrowskiego na interpelację radnych z dnia 22 maja 2026 r. (pismo z 30 czerwca 2026 r.).
Aktualizacja interpretacji technicznej 4-7 lipca 2026

Aktualizacja 7 lipca 2026: z uwagi na ponowne przeanalizowanie dowodów per domena, co zajęło mi kilka dni i pozwoliło na bardziej szczegółowe niż w marcu przyjrzenie się problemom postanowiłem doprecyzować punktację naruszeń o której piszę w sposób bardziej techniczny i szczegółowy w wielu przypadkach analizując pełen payload. Zmienia to nie tylko liczbę naruszeń domen ale także w niektórych przypadkach ich wagę. Oceny są obecnie umieszczone w liście zbiorczej (indeks domen) oraz w raporcie per domena.

W pierwotnej wersji raportu interpretowałem wartość parametru gcd=13l3l3l2l1l1 jako wskazującą na aktywne, domyślne ustawienie stanu „granted”. Po odpowiedzi miasta w której przyznaje się do problemu z przetwarzaniem danych i analizie dostępnych danych doprecyzowuję to stanowisko.

Najogólniej z danych sieciowych (m.in. flaga npa=1 oraz brak parametru gcs) wynika, że witryny internetowe niczego nie ustawiły. Zamiast wymuszonego stanu „granted” mamy do czynienia z całkowitym zaniechaniem konfiguracji Consent Mode w krytycznym momencie ładowania strony.

Tagi Google uruchamiały się w trybie legacy — czyli tak, jakby mechanizm Consent Mode nie był w ogóle wdrożony. Brak sygnału z Consent Mode skutkował pełnym przetwarzaniem danych przed jakąkolwiek decyzją użytkownika. W tekście aktualizuję interpretację z uwzględnieniem tej wiedzy oraz w serwisie dadalo.pl opublikuję moją opinię co do tej praktyki, którą znam z branży.

Uwaga: Detale techniczne analizy odnoszą się do stanu stron w momencie przeprowadzenia audytu (6–9 marca 2026) i nie uwzględniają ewentualnych późniejszych modyfikacji dokonanych przez Urząd Miasta Łodzi.

Ta zmiana nie osłabia, lecz precyzuje ocenę: problemem nie jest błędnie ustawiona flaga, lecz brak działającej architektury zarządzania zgodą w momencie inicjalizacji śledzenia.

Warianty oceny trackingu marketingowego

Ocena oparta o obecność aktywnego trackingu marketingowego bez zgody. W dniach 5-7 lipca 2026 roku przeanalizowałem ponownie dowody i postanowiłem zmodyfikować oceny i metodologię do bardziej szczegółowych informacji, jakie dla każdej domeny mozolnie przygotowałem. Uważam, że obecnie jest to bardziej wiarygodne.

Typ ocenyOpis
🔴🔴 Bardzo negatywnaAktywny marketingowy tracking + brak CMP + cross-controller sharing z innymi podmiotami.
🔴 NegatywnaAktywny marketingowy tracking (GA4 / UA / Pixel) uruchamiany bez skutecznego sygnału zgody. CMP obecny, ale nie zintegrowany z Consent Mode.
⚠️ ŚredniaBrak bezpośredniego marketingowego trackingu na domenie. Obecny legacy Facebook SDK oraz pośredni tracking przez widgety zewnętrzne. Brak CMP.
PozytywnaBrak marketingowego trackingu (GA4 / Pixel). Obecny i zintegrowany mechanizm zgody.
🔴

Ustaliłem, że na wielu stronach miejskich w Łodzi odwiedzający był śledzony bez wiedzy i zgody

Moje ustalenia potwierdzone są w testach wykonanych w dniach 6-9 marca 2026

Materiał dokumentuje techniczne skanowanie 41 stron internetowych zarządzanych, finansowanych lub powiązanych z Urzędem Miasta Łodzi. Każda sesja testowa miała charakter sterylny — zautomatyzowana przeglądarka otwierała stronę bez jakichkolwiek ciasteczek, bez historii przeglądania i bez interakcji z bannerem zgody.

Spośród 41 technicznie sprawdzonych adresów, 4 pozycje wyłączono z oceny porównawczej ze względów technicznych (problem z TLS, panele techniczne lub przekierowania). Wskaźniki zbiorcze obliczono więc dla 37 domen ocenialnych. Warto zaznaczyć, że w wyniku pogłębionej analizy danych źródłowych w lipcu 2026 r. i zmiany metodologii oceniania, zmodyfikowano wagi i oceny części domen.

Wynik jest jednoznaczny: na 29 z 37 ocenialnych domen systemy śledzące (głównie Google Analytics, Google Ads i DoubleClick) uruchamiały się natychmiast po wejściu na stronę i rozpoczynały wysyłanie danych do serwerów zewnętrznych, zanim użytkownik miał możliwość podjęcia jakiejkolwiek decyzji dotyczącej zgody.

W wielu przypadkach banner zgody nie pełnił realnej funkcji blokującej. Tagi śledzące inicjalizowały się w trybie pełnym (ustawiając ciasteczka analityczne i marketingowe), a dane były transmitowane do Google, Meta i DoubleClick zanim mechanizm zgody zdążył zadziałać.

Na większości badanych domen tagi śledzące uruchamiały się w stanie braku skonfigurowanego mechanizmu Consent Mode (parametr gcd=13l3l3l2l1l1), co skutkowało pełnym przetwarzaniem danych przed jakąkolwiek interakcją użytkownika.

ℹ️ TCF 2.2 a Google Consent Mode v2 – dlaczego to nie chroni w tym przypadku?

Niektóre strony mogą korzystać z frameworku IAB TCF 2.2 (Transparency & Consent Framework), który standaryzuje zbieranie zgód. Jednak TCF reguluje jedynie sposób uzyskiwania zgody od użytkownika, a nie zachowanie tagów Google.

Google Consent Mode v2 działa niezależnie i musi być poprawnie zintegrowany z CMP. W analizowanych przypadkach tagi Google uruchamiały się w bardzo wczesnej fazie ładowania strony (już na etapie after_domcontentloaded), zanim baner CMP zdążył się w pełni zainicjować i przekazać jakiekolwiek sygnały zgody.

Dlaczego tryb pingless (cookieless pings) nie zadziałał?

  • Pingless (anonimowe pings bez pełnych ciasteczek) występuje tylko przy poprawnym Advanced Consent Mode z domyślnym stanem denied.
  • W badanych domenach tagi Google uruchamiały się bez skutecznego blokowania przez mechanizm Consent Mode, co skutkowało natychmiastowym zapisem pełnych ciasteczek analitycznych i marketingowych (_ga, _gcl_au, _fbp i inne).
  • Nie było ograniczonego, anonimowego pingowania — wystąpiło pełne śledzenie przed jakąkolwiek decyzją użytkownika.

Podsumowując: nawet posiadanie certyfikowanego CMP zgodnego z TCF 2.2 nie zwalnia z obowiązku poprawnej konfiguracji Google Consent Mode. Uruchamianie tagów śledzących przed skutecznym ustaleniem stanu zgody stanowi naruszenie art. 6 ust. 1 lit. a RODO niezależnie od użytego frameworka zgód.

Zestawienie domen

Domena (kliknij aby przejść)Jednostka / ADOOcena trackingu
lodz.plBiblioteka Miejska w Łodzi🔴 NARUSZENIE
uml.lodz.plUrząd Miasta Łodzi – główna domena🔴🔴 B. NEGATYWNA
bip.uml.lodz.plUrząd Miasta Łodzi🔴 NARUSZENIE
mpu.lodz.plMiejska Pracownia Urbanistyczna w Łodzi🔴 NARUSZENIE
zdit.uml.lodz.plZDiT (Przekierowanie)➖ WYŁĄCZONA
cuw.uml.lodz.plCentrum Usług Wspólnych w Łodzi🔴 NARUSZENIE
cuwdps.uml.lodz.plCentrum Usług Wspólnych DPS w Łodzi🔴 NARUSZENIE
lckm.uml.lodz.plŁódzkie Centrum Kontaktu z Mieszkańcami🔴 NARUSZENIE
mops.uml.lodz.plMiejski Ośrodek Pomocy Społecznej w Łodzi🔴 NARUSZENIE
mzz.lodz.plMiejski Zespół Żłobków w Łodzi🔴 NARUSZENIE
schronisko.uml.lodz.plSchronisko dla Bezdomnych Zwierząt w Łodzi🔴 NARUSZENIE
architektmiasta.uml.lodz.plBiuro Architekta Miasta🔴 NARUSZENIE
rewitalizacja.uml.lodz.plPortal Rewitalizacja🔴 NARUSZENIE
invest.lodz.plUrząd Miasta Łodzi (Invest in Łódź)🔴 NARUSZENIE
li.lodz.plŁódzkie Inwestycje sp. z o.o.🔴 NARUSZENIE
zlm.lodz.plZarząd Lokali Miejskich🔴 NARUSZENIE
bip.zlm.lodz.plZarząd Lokali Miejskich🔴 NARUSZENIE
mosir.lodz.plMiejski Ośrodek Sportu i Rekreacji w Łodzi🔴 NARUSZENIE
aquapark.lodz.plAquapark Fala sp. z o.o.🔴 NARUSZENIE
orientarium.lodz.plOrientarium Zoo Łódź🔴🔴 B. NEGATYWNA
lodz.travelŁódzka Organizacja Turystyczna (ŁOT)🔴 NARUSZENIE
kartalodzianina.plŁódzka Organizacja Turystyczna (ŁOT)🔴 NARUSZENIE
biblioteka.lodz.plBiblioteka Miejska w Łodzi🔴 NARUSZENIE
capz.lodz.plCentrum Administracyjne Pieczy Zastępczej🔴 NARUSZENIE
css.samorzad.lodz.plCentrum Świadczeń Socjalnych🔴 NARUSZENIE
botaniczny.lodz.plOgród Botaniczny w Łodzi🔴 NARUSZENIE
strazmiejska.lodz.plSchronisko dla Bezdomnych Zwierząt w Łodzi🔴 NARUSZENIE
nowa.mapa.lodz.plInterSIT — Łódzki Ośrodek Geodezji⚠️ ŚREDNIA
ads.biblioteka.lodz.plBiblioteka Miejska (Ad Server)➖ WYŁĄCZONA
atlasarena.plMAKiS sp. z o.o. (100% Miasto)⚠️ ŚREDNIA
bip.biblioteka.lodz.plBiblioteka Miejska w Łodzi⚠️ ŚREDNIA
kartaturysty.lodz.travelŁódzka Organizacja Turystyczna (ŁOT)✅ POZYTYWNA
lodz.praca.gov.plPowiatowy Urząd Pracy w Łodzi🔴 NARUSZENIE
media.lodz.plŁódź Media Group / ŁOT⚠️ ŚREDNIA
mpk.lodz.plMiejskie Przedsiębiorstwo Komunikacyjne w Łodzi🔴 NARUSZENIE
pup-lodz.plPowiatowy Urząd Pracy w Łodzi➖ WYŁĄCZONA
teatr-muzyczny.lodz.plTeatr Muzyczny w Łodzi➖ WYŁĄCZONA
wizyty.uml.lodz.plUrząd Miasta Łodzi (rezerwacja wizyty)✅ POZYTYWNA
wsparcie.uml.lodz.plPortal Wsparcia Społecznego✅ POZYTYWNA
zzm.lodz.plZarząd Zieleni Miejskiej🔴 NARUSZENIE
makis.plMiejska Arena Kultury i Sportu⚠️ ŚREDNIA

Nota metodologiczna: „Wył. z oceny” oznacza adres technicznie sprawdzony, ale nieporównywalny z pozostałymi (np. problem TLS lub przekierowanie). Nie poddano analizie wszystkich domen miejskich — próbka jest jednak na tyle duża i reprezentatywna, że pozwala na wyciągnięcie wniosków o charakterze ogólnym.

📁

Pełna dokumentacja śledcza dla każdej domeny — logi sieciowe w formacie HAR, zrzuty cookies, payloady żądań z parametrem gcd, ślad przeglądarki (trace) — dostępna poniżej w sekcjach poszczególnych domen.

📋 Nota prawna i zasady otwartości

Niniejszy raport został sporządzony i opublikowany w dobrej wierze, w ramach niezależnej działalności dziennikarskiej, w celu realizacji interesu publicznego. Wszystkie ustalenia przedstawione w materiale opierają się na mojej najlepszej wiedzy w zakresie analizy technicznej mechanizmów śledzenia i przetwarzania danych osobowych na stronach internetowych.

W związku z ustaleniami opisanymi w tym materiale toczą się postępowania przed właściwymi instytucjami — Urzędem Ochrony Danych Osobowych (UODO), Urzędem Komunikacji Elektronicznej (UKE) oraz organami prokuratury. W połowie lipca 2026 uzupełniam materiał dowodowy oraz uruchamiam kolejne instytucje w celu weryfikacji rozwiązania problemu z przetwarzaniem danych osobowych.

Przyjmuję postawę pełnej otwartości i transparentności. Jeśli ktokolwiek zidentyfikuje błędy merytoryczne lub techniczne w niniejszym raporcie, proszę o kontakt. Każdy uzasadniony zarzut zostanie zweryfikowany, a raport zostanie odpowiednio skorygowany.

Kontakt z redakcją: @dadalo@journa.host (Mastodon) · redakcja@dadalo.pl

Cel Badania i Metodologia

Poniższy panel prezentuje udokumentowane technicznie i zamrożone zdarzenia z procesu skanowania stron internetowych powiązanych z miastem Łódź. Dane są integralne, opatrzone znacznikiem czasu i udostępnione do dalszej weryfikacji śledczej.

  • Czyste sesje incognito: Chrome 145 / Firefox 140
  • Pełna sterylność: Brak interakcji z banerami cookies. Skaner dokumentuje to, co strona ładuje zanim użytkownik wyrazi zgodę.
  • Dowody cyfrowe: DevTools Network/Storage/Console, eksport logów formatu HAR, analiza timestampów.
  • Zakres testów: 6–9 marca 2026

📖 Chronologia uruchomienia trackerów bez zgody użytkownika

Poniższy przewodnik wyjaśnia chronologię pojawiania się ciasteczek w sterylnej sesji testowej (przed kliknięciem zgody na banerze). Pokazuje on moment powstania mechanizmów śledzących. Jest to opis techniczny do wybranych plików jakie publikujemy, aby każdy mógł sfalsyfikować tezy zawarte w raporcie.

Oś czasu pojawiania się identyfikatorów

W analizowanych dowodach (plik cookies_timeline.ndjson dostępny pod ikoną ⏱️ Oś Czasu Cookies) często występuje następująca sekwencja:

  • before_navigation: cookies: [] (Czysta sesja przeglądarki)
  • after_domcontentloaded: Pojawia się od razu kilkanaście cookies analitycznych, reklamowych i third-party.
  • after_load: Zestaw utworzonych ciasteczek się utrzymuje w pamięci układu docelowego.
  • after_async_window: Skrypty działają aktywnie dalej, nadpisując i aktualizując wartości identyfikatorów (np. _ga_*).

Wniosek dowodowy: Mechanizmy śledzące nie czekają do końca ładowania strony i nie czekają na zgodę użytkownika. Aktywują się na bardzo wczesnym etapie renderu strony w pełni pasywnej sesji.

Znaczenie kluczowych identyfikatorów (Cookies)

  • _ga, _gid, _gat_gtag_UA_*, _ga_* — To silny ślad Google Analytics / Google tagów. _ga służy do odróżniania wieloletnich użytkowników, _gid identyfikuje krótkoterminowe sesje, a _gat ogranicza liczbę zapytań.
  • _gcl_au — Typowy cookie powiązany z Google Ads / konwersjami. Pojawia się zazwyczaj przy wdrożeniach kampanii reklamowych Google.
  • _fbp — Cookie Meta Pixel o charakterze marketingowym (Facebook), wykorzystywane do śledzenia wizyt, zachowań użytkownika i celów reklamowych u zewnętrznych dostawców.
  • FCCDCF — Cookie powiązane z Google Funding Choices lub mechanizmem consentu. Ślad systemu zbierania zgód platform.
  • YSC, VISITOR_INFO1_LIVE, __Secure-ROLLOUT_TOKEN — Ślady systemu YouTube. Obecność atrybutu partitionKey często wskazuje, że osadzenie działało w kontekście third-party i przetwarzało dane oglądającego.

Dowód techniczny transmisji danych przed zgodą

Skoro w stanie before_navigation nie było zanieczyszczeń, a zaraz po after_domcontentloaded przeglądarka posiadała już pełen pakiet identyfikatorów takich jak _ga, _gid czy _fbp, oznacza to wymuszoną inicjalizację analityczną i reklamową przed jakąkolwiek świadomą akcją użytkownika.

Ważne: Nawet jeżeli mechanizm CMP (np. Cookiebot, Klaro) obudzi się z opóźnieniem i "wyczyści" te ciasteczka pod koniec sesji (w fazie after_async_window), audyt i tak notuje naruszenie. Dzieje się tak, ponieważ zanim CMP zareagowało, przeglądarka zdążyła już nawiązać komunikację z serwerami docelowymi (np. Google) i przekazać im dane w żądaniach sieciowych (Payload), zawierających np. parametr Consent Mode gcd=13l3l3l2l1l1. Usunięcie ciastka po fakcie nie cofa wycieku danych, który już nastąpił.

Sparowany łańcuch dowodowy dla każdej domeny z reguły potwierdza schemat: (1) brak cookies 🡒 (2) natychmiastowy zapis bez zgody użytkownika w pamięci Storage 🡒 (3) nieodwracalne wysłanie żądań g/collect z parametrem gcd=13l3l3l2l1l1 do odbiorców 🡒 (4) opcjonalne, spóźnione czyszczenie za pomocą źle skonfigurowanego banera CMP.

Jak powinna wyglądać poprawna implementacja? Zgodnie z wytycznymi, system powinien zachować jedynie niezbędne techniczne cookies. Wszelkie sygnały reklamowe i analityczne powinny posiadać domyślny status denied (blokada). Dopiero po wyraźnej akceptacji na banerze sygnały mogą być uaktualnione do stanu granted. W badanych przypadkach tagi Google uruchamiały się bez skutecznego ograniczenia ze strony mechanizmu Consent Mode, co skutkowało pełnym przetwarzaniem danych przed jakąkolwiek decyzją użytkownika. Taką sytuację można w elementarny sposób zweryfikować darmowymi narzędziami, m.in. trybem Preview w Google Tag Manager (zakładka Consent).

🔬 Wizualizacja mechanizmu naruszenia

Poniższe diagramy przedstawiają przebieg naruszenia zarejestrowany w sterylnych sesjach testowych oraz kontrast z prawidłową implementacją mechanizmu zgody.

📊 Łańcuch dowodowy — sekwencja naruszenia

flowchart TD
    A["🧪 Sterylna sesja testowa
before_navigation
cookies: pusta lista"] --> B["⚡ after_domcontentloaded
Pojawiają się _ga, _gid, _fbp
oraz inne cookies"] B --> C["🔴 Skrypty uruchamiają analitykę
i reklamę przed jakąkolwiek
akcją użytkownika"] C --> D["📡 Przeglądarka wysyła żądania
np. g/collect do odbiorców"] D --> E["🔑 W payloadach pojawia się
gcd=13l3l3l2l1l1
(brak skonfigurowanego Consent Mode)"] E --> F["🌐 Dane trafiają do podmiotów
trzecich: Google, Meta, DoubleClick
zanim użytkownik wyrazi zgodę"] F --> G["⏳ after_async_window
CMP może usunąć część cookies
o ile klikniemy ODRZUĆ"] G --> H["⚖️ Skutek prawno-techniczny:
usunięcie cookies nie cofa
wcześniejszej transmisji danych"] style A fill:#0f172a,stroke:#38bdf8,color:#e2e8f0 style B fill:#1e1b4b,stroke:#f43f5e,color:#fda4af style C fill:#4c0519,stroke:#f43f5e,color:#fda4af style D fill:#4c0519,stroke:#f43f5e,color:#fda4af style E fill:#431407,stroke:#f59e0b,color:#fde68a style F fill:#4c0519,stroke:#f43f5e,color:#fda4af style G fill:#1e1b4b,stroke:#a78bfa,color:#c4b5fd style H fill:#0c0a09,stroke:#ef4444,color:#fca5a5

Schemat przedstawia łańcuch dowodowy zarejestrowany w każdej sesji skanowania. Etap „GRANTED" (krok 5) jest kluczowy — oznacza, że system śledzący otrzymał sygnał zgody bez faktycznej decyzji użytkownika.

⚖️ Porównanie: stan stwierdzony vs stan prawidłowy

flowchart LR
    subgraph X["🔴 Stan stwierdzony w audycie"]
        direction TB
        A1["Wejście na stronę
bez kliknięcia zgody"] --> A2["Natychmiastowa aktywacja
tagów śledzących"] A2 --> A3["Pojawiają się cookies
_ga, _gid, _fbp, _gcl_au"] A3 --> A4["Wysyłane są requesty
do Google / Meta / DoubleClick"] A4 --> A5["Payload zawiera
gcd=13l3l3l2l1l1
(brak skutecznego Consent Mode)"] A5 --> A6["CMP reaguje z opóźnieniem
lub tylko czyści cookies lokalnie
Transmisja już nastąpiła"] end subgraph Y["🟢 Stan prawidłowy wg RODO"] direction TB B1["Wejście na stronę
bez kliknięcia zgody"] --> B2["Domyślny stan consent
= denied"] B2 --> B3["Brak cookies analitycznych
i reklamowych"] B3 --> B4["Brak transmisji danych
marketingowych do odbiorców"] B4 --> B5["Dopiero po świadomej
akceptacji użytkownika
status zmienia się na granted"] end style A1 fill:#1e1b4b,stroke:#818cf8,color:#e0e7ff style A2 fill:#4c0519,stroke:#f43f5e,color:#fda4af style A3 fill:#4c0519,stroke:#f43f5e,color:#fda4af style A4 fill:#4c0519,stroke:#f43f5e,color:#fda4af style A5 fill:#431407,stroke:#f59e0b,color:#fde68a style A6 fill:#4c0519,stroke:#f43f5e,color:#fda4af style B1 fill:#0f172a,stroke:#38bdf8,color:#e2e8f0 style B2 fill:#052e16,stroke:#22c55e,color:#bbf7d0 style B3 fill:#052e16,stroke:#22c55e,color:#bbf7d0 style B4 fill:#052e16,stroke:#22c55e,color:#bbf7d0 style B5 fill:#052e16,stroke:#22c55e,color:#bbf7d0

Porównanie pokazuje fundamentalną różnicę: w stanie stwierdzonym system od razu traktuje użytkownika jako osobę, która wyraziła zgodę (GRANTED). W stanie prawidłowym domyślny stan to odmowa (denied), a dane marketingowe nie są wysyłane do momentu świadomej akcji.

📊 Szczegóły analizy, pliki i oceny dla każdej domeny

5-7 lipca 2026 raport został zaktualizowany merytorycznie o dodatkowe szczegóły techniczne
B. NEGATYWNA

https://orientarium.lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_202023_a6417c59

ADO: ZOO Łódź sp. z o.o.

Hosting/IT: Hetzner

Żądania21
Cookies10

Wnioski Techniczne (Skaner)

  • 🔴🔴 Aktywny Facebook Pixel (fbevents.js + config 668887504186759 + cookie _fbp)
  • 🔴🔴 Google Ads Conversion IDs: AW-10940984035 + AW-665139254 + AW-557285855
  • 🔴 Dedykowany GA4 G-K51BYYXXYF + GTM GTM-NVTJSXK + Crazy Egg (script.crazyegg.com)
  • ⚠️ PixelYourSite (wtyczka WordPress) + Google Conversion Linker (_gcl_au + _gcl_ls)
  • - Cookie Notice obecny, ale nie blokuje tagów marketingowych przed zgodą
  • - reCAPTCHA + YouTube widgets + livebar lodz.pl/livebar/

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-K51BYYXXYF AW-10940984035 AW-665139254 AW-557285855 FB Pixel 668887504186759
Ocena Polityki P.: Agresywny stack marketingowy (Pixel + Google Ads + GA4 + session recording) na stronie zoo bez skutecznego mechanizmu zgody. Cookie Notice nie blokuje tagów przed interakcją użytkownika.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴🔴 Aktywny Facebook Pixel — załadowano fbevents.js + config 668887504186759. Cookie _fbp jest ustawiane. PixelYourSite (wtyczka WordPress) potwierdza celowe wdrożenie Pixela.
  • 🔴🔴 Google Ads Conversion + Enhanced Conversions — aktywne ID: AW-10940984035, AW-665139254 i AW-557285855. Obecny _gcl_au i _gcl_ls (Google Conversion Linker).
  • 🔴 Dedykowany GA4 + GTM + Crazy Egg — property G-K51BYYXXYF, kontener GTM-NVTJSXK oraz script.crazyegg.com (heatmapy i session recording).
  • ⚠️ Brak skutecznego CMP — obecny jest tylko Cookie Notice (wtyczka WordPress), który nie blokuje tagów marketingowych przed zgodą użytkownika. Tagi uruchamiają się natychmiast po załadowaniu strony.
  • - reCAPTCHA + third-party widgets — reCAPTCHA v3 + YouTube widgets + livebar lodz.pl/livebar/.

Kontekst prawny (Orientarium Zoo Łódź)

Orientarium Zoo Łódź to nowoczesna atrakcja turystyczna i edukacyjna Miasta Łodzi. Strona ma charakter komercyjno-rekreacyjny (bilety, wydarzenia, marketing). Nie przetwarza szczególnych kategorii danych w rozumieniu art. 9 RODO, ale jako strona z monetyzacją reklamową i dużą liczbą odwiedzin podlega standardowym wymogom RODO + ePrivacy.

Warstwa A — kultura compliance administratora. Zastosowano bardzo agresywny stack marketingowy (Pixel + Google Ads + GA4 + Crazy Egg) przy minimalnym mechanizmie zgody (tylko Cookie Notice). To klasyczny przykład priorytetu monetyzacji nad compliance.

Warstwa B — wartość rynkowa sygnału behawioralnego. Wysoka. Strona zoo generuje dane o zainteresowaniach rekreacją rodzinną, wydarzeniami i turystyką — atrakcyjne dla profilowania audience’ów. Pełny stack (Pixel + Conversion + session recording) maksymalizuje wartość sygnału.

Podsumowanie oceny – orientarium.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴🔴 Tak — Pixel + Google Ads + GA4 uruchamiane natychmiast
Skuteczność CMP🔴 Tylko Cookie Notice — nie blokuje tagów
Transmisja do podmiotów trzecich🔴🔴 Pixel + Google Ads + Crazy Egg + shared GA
Facebook Pixel🔴🔴 Aktywny (fbevents.js + config + _fbp)
Google Ads / Conversion🔴🔴 Aktywne (3x AW- ID + Conversion Linker)
Ogólna ocena🔴🔴 Bardzo negatywna — pełny marketingowy stack bez skutecznego consent

Werdykt: Na orientarium.lodz.pl wdrożono jeden z najagresywniejszych stacków marketingowych w całym audycie: aktywny Facebook Pixel, multiple Google Ads Conversion IDs, dedykowany GA4 oraz Crazy Egg (session recording). Cookie Notice nie blokuje tagów przed zgodą użytkownika. To klasyczny przykład priorytetu monetyzacji nad ochroną prywatności na stronie atrakcji turystycznej Miasta Łodzi. Naruszenie art. 5(3) dyrektywy ePrivacy oraz art. 6 i 7 RODO jest wyraźne.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookie banner: https://orientarium.lodz.pl/assets/2025/05/Polityka-plikow-Cookies-07.2024.pdf — anomalia: dwie różne wersje PDF cookies

https://orientarium.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
B. NEGATYWNA

https://uml.lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_201513_88503e84

ADO: Urząd Miasta Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania15
Cookies8

Wnioski Techniczne (Skaner)

  • 🔴🔴 GA4 G-30F084ZHSL + dwa Google Ads Conversion: AW-10940984035 + AW-790142032
  • 🔴🔴 Conversion event wysyłany na stronę główną: AW-10940984035/V02uCO6r29MDEOPViOEo
  • ⚠️ Nowy CMP: Klaro.js (cookies.uml.lodz.pl) — lepszy niż cookie-box, ale nadal nieskuteczny wobec Google
  • - Facebook SDK + YouTube widget + Twitter widgets + livebar lodz.pl/livebar/
  • - Ad server z Biblioteki + Google Conversion Linker (_gcl_ls)
  • - Beacony z gcd=13l3l3l2l1l1 + npa=1 — tagi uruchamiają się przed zgodą

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL AW-10940984035 AW-790142032 UA-25825547-40
Ocena Polityki P.: Główna domena Urzędu Miasta Łodzi z pełnym stackiem marketingowym (GA4 + 2× Google Ads Conversion + conversion event). Nowe CMP Klaro, ale nadal nieskuteczne wobec Google.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴🔴 GA4 + dwa Google Ads Conversion bez consent — aktywny beacon do G-30F084ZHSL oraz conversion events do AW-10940984035 i AW-790142032. Tagi uruchamiają się z parametrami gcd=13l3l3l2l1l1 + npa=1.
  • 🔴🔴 Conversion event na stronie głównej — zarejestrowano i wysłano conversion AW-10940984035/V02uCO6r29MDEOPViOEo bezpośrednio na uml.lodz.pl.
  • ⚠️ Nowy CMP: Klaro — zamiast cookie-box pojawiło się klaro.js + config z cookies.uml.lodz.pl. To krok w dobrą stronę, ale nadal nie blokuje tagów Google przed zgodą.
  • ⚠️ Facebook SDK + third-party widgets — załadowano Facebook SDK, YouTube widget API, Twitter widgets oraz iframe lodz.pl/livebar/. Obecny też Facebook Like plugin.
  • - Google Conversion Linker aktywny_gcl_ls w localStorage + _gcl_au w cookies (z poprzednich sesji).

Kontekst prawny (Urząd Miasta Łodzi – główna domena)

uml.lodz.pl to oficjalna strona główna Urzędu Miasta Łodzi — najważniejsza domena w całym ekosystemie miejskim. Odwiedzają ją tysiące mieszkańców dziennie w celach urzędowych, informacyjnych i komunikacyjnych. Jako strona podmiotu publicznego podlega najwyższym standardom transparentności i minimalizacji przetwarzania danych.

Warstwa A — kultura compliance administratora. Wdrożono nowe CMP (Klaro), co jest postępem w stosunku do cookie-box. Jednak nadal uruchomiono pełny stack marketingowy (GA4 + dwa Google Ads Conversion) bez skutecznego sygnału zgody. To systemowe niedopatrzenie na poziomie całej instytucji.

Warstwa B — wartość rynkowa sygnału behawioralnego. Bardzo wysoka. Strona główna UMŁ generuje dane o zainteresowaniach mieszkańców Łodzi (urzędy, usługi, wydarzenia) — atrakcyjne dla profilowania audience’ów. Conversion tracking + GA4 maksymalizują wartość tego sygnału.

Podsumowanie oceny – uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴🔴 Tak — GA4 + 2× Google Ads Conversion + conversion event
Skuteczność CMP⚠️ Nowe Klaro (lepsze niż cookie-box), ale nadal nieskuteczne wobec Google
Transmisja do podmiotów trzecich🔴🔴 Tak — GA4 + Google Ads + Facebook SDK + livebar
Google Ads Conversion🔴🔴 Aktywne (2 ID + conversion event na stronie głównej)
Facebook Pixel✅ Nieaktywny (tylko SDK + Like plugin)
Ogólna ocena🔴🔴 Bardzo negatywna — pełny marketingowy stack na głównej domenie miasta

Werdykt: Na uml.lodz.pl (głównej domenie Urzędu Miasta Łodzi) wdrożono jeden z najcięższych stacków marketingowych w całym audycie: aktywny GA4 (G-30F084ZHSL), dwa Google Ads Conversion IDs (AW-10940984035 + AW-790142032) oraz bezpośredni conversion event na stronie głównej. Nowe CMP Klaro jest postępem, ale nadal nie blokuje tagów Google przed zgodą użytkownika. To naruszenie zasad minimalizacji i legalności przetwarzania na poziomie całej instytucji publicznej.

🔬 Rozszerzona Analiza: Metodologia Rentgen vs Skaner

Nota Metodologiczna: Nasz automatyczny Skaner skupia się na wykrywaniu infrastruktury reklamowej, analitycznej i śledzącej (tzw. "tracking heurystyka" w kontekście Consent Mode i cookies). Równolegle zastosowano "Rentgen" (wtyczkę fundacji Internet. Czas działać!). Rentgen opiera się na metodologii aktywistów privacy, dla których każde połączenie z zewnętrznym serwerem bez zgody (nawet pobranie fontów czy skryptów CDN) traktowane jest jako ujawnienie danych (adresu IP) i potencjalne naruszenie. Poniższe zestawienie stanowi unikalną fuzję obu tych perspektyw.

Spójność Dowodowa

  1. Zgodność osi czasu (Timeline): Surowe dane logiki ładowania idealnie pokrywają się z rejestrami sieci. Inicjalizacja pakietów śledzi ułamki sekund po załadowaniu DOM, jednoznacznie dowodząc wymuszonego działania skryptów.
  2. Potwierdzenie GCD: Rentgen jednoznacznie dokumentuje wysyłanie twardego parametru gcd=13l3l3l2l1l1 w oddzielnych endpointach (region1.analytics.google.com, stats.g.doubleclick.net, www.google.com, www.google.pl). To całkowicie weryfikuje naszą tezę — dowód występuje w co najmniej dwóch niezależnych narzędziach.
  3. Różnice w widoczności domen (Tracking vs All Connections): Skaner raportuje kilkanaście domen (ponieważ filtruje czysty "tracking"). Rentgen raportuje więcej m.in. bunny.net (fonty), twitter.com, gr-cdn.com czy googletagmanager.com. Z prawnego punktu widzenia, wg aktywistów RODO, wpięcie np. arkusza z obcego serwera jest też transmisją danych poza domenę główną.

Głębsza analiza przepływów danych:

  • Infrastruktura Reklamowa Google Ads: Wykryto identyfikatory remarketingowe AW-790142032 oraz AW-10940984035 aktywne przed wyrażeniem zgody przez użytkownika. Tagi Google Ads nie są zadeklarowane w polityce cookies UMŁ.
  • Aktywne śledzenie Meta: Połączenia do connect.facebook.net i www.facebook.com rejestrowane w czystej sesji — transmisja adresu IP i URL strony do Meta Platforms bez zgody.
  • Cross-domain tracking lodz.pl ↔ uml.lodz.pl: Domeny współdzielą GA property G-30F084ZHSL i UA UA-25825547-40 bez ujawnienia współadministrowania (art. 26 RODO) w dokumentach RODO żadnej z domen.
  • Twitter Session Tracking: Embedowana treść generuje session_id raportowany do syndication.twitter.com przed jakąkolwiek intencjonalną akcją odwiedzającego.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Brak dedykowanej „polityki prywatności"; jest polityka cookies + RODO newsletter: https://uml.lodz.pl/zobacz-rowniez/rodo-newsletter/

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
WYŁĄCZONA

https://ads.biblioteka.lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_201837_7265207d

ADO: Biblioteka Miejska w Łodzi

Hosting/IT: Hetzner

Żądania0
Cookies1

Wnioski Techniczne

  • -Po sesji istnieją wyłącznie cookies techniczne/sesyjne.
  • -Serwis jest panelem administracyjnym do obsługi kampanii i dlatego nie posiada własnego mechanizmu do zbierania zgód. Jest jednak na liście domen oraz osadzony na stronie głównej biblioteki, dlatego jest elementem skanu.

Analiza Polityki Prywatności vs Tagi

Brak przypisanych kontenerów w tabeli dziennikarskiej.

Ocena Polityki Prywatności: Polityka prywatności prawidłowo deklaruje użycie zidentyfikowanych narzędzi (kodów śledzących) lub nie stwierdzono wyraźnego zatajenia (Pełna Zgodność deklaracji ze stanem faktycznym).
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: ads.biblioteka.lodz.pl

Najnowszy skan: 20260306_201837_7265207d

Podstawowe informacje

  • URL: https://ads.biblioteka.lodz.pl/
  • Status Sesji Sterylnej: 🟢 CZYSTO (Brak śladów śledzących przed zgodą)
  • Żądania Ogółem: 11
  • Żądania Śledzące: 0
  • Ustawione Cookies: 1

Wnioski i Naruszenia

  • ⚠️ Po sesji istnieją wyłącznie cookies techniczne/sesyjne.

Przepływ Danych (Zidentyfikowani Odbiorcy)

  • Brak zidentyfikowanych zewnętrznych domen śledzących w tej sesji.

Detekcja CMP (Zarządzanie Zgodami)

  • Nie zidentyfikowano jednoznacznie popularnych narzędzi CMP w kodzie (może być użyte nietypowe rozwiązanie).

Raport wygenerowany automatycznie na podstawie analizy ruchu sieciowego i zmian w DOM w pustej sesji przeglądarki (Przed kliknięciem przycisku zgody).

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Panel logowania Revive Adserver – brak publicznej strony z polityką

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://bip.uml.lodz.pl/

SCAN ID: 20260306_201535_2201a79b

ADO: Urząd Miasta Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies11

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane transmitowane do Google (GA4 + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK i YouTube player_api — bez potwierdzonych wywołań beaconowych w tym pomiarze.
  • ⚠️ Cookies GA ustawione na superdomenie .uml.lodz.pl — tożsamość analityczna wspólna z portalem UMŁ (szczegóły w rozwinięciu).
  • - Po sesji pozostaje 9 cookies śledzących (4× GA, 5× YouTube). Dodatkowo 2 cookies zarządzania sesją F5 BIG-IP — nie śledzące.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Polityka deklaruje Google Analytics i Facebook, jednak na stronie bip.uml.lodz.pl Wdrożono własny CMP (cookiebox TYPO3), który jednak nie blokuje ładowania tagów przed decyzją użytkownika. Tagi Google Analytics, Facebook SDK oraz YouTube uruchamiały się natychmiast po załadowaniu strony, przed jakąkolwiek interakcją użytkownika. Brak deklaracji DoubleClick w polityce prywatności.
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: bip.uml.lodz.pl

Najnowszy skan: 20260306_201535_2201a79b

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika. Ustawiono ciasteczka Google Analytics 4 (property G-30F084ZHSL), Universal Analytics (UA-25825547-40) oraz YouTube. Załadowano Facebook SDK (bez potwierdzonej transmisji beaconowej w tym pomiarze).
  • 🔴 Wykryto CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane transmitowane do Google (GA4 + DoubleClick) przed wyrażeniem zgody. Wywołania do region1.analytics.google.com/g/collect i stats.g.doubleclick.net/g/collect zawierają identyfikator klienta (cid), sygnał Consent Mode (gcd=13l3l3l2l1l1), flagę non-personalized ads (npa=1) oraz kontekst DMA. Konfiguracja gcd wskazuje na brak zintegrowanego sygnału zgody — ping analityczny wysyłany mimo to.
  • ⚠️ Po sesji pozostaje 9 cookies śledzących (_ga* ~2 lata, cookies YouTube ~2 lata). Dodatkowo 2 cookies F5 BIG-IP (TS013f51fc, TS01619efc) jako mechanizm persistence load balancera — nie kwalifikują się jako trackery, ale ujawniają architekturę.

Kontekst prawny (BIP)

bip.uml.lodz.pl nie jest zwykłą stroną informacyjną. To Biuletyn Informacji Publicznej — narzędzie realizacji prawa dostępu do informacji publicznej z art. 61 Konstytucji RP, prowadzone w reżimie ustawy z 6 września 2001 r. o dostępie do informacji publicznej oraz rozporządzenia MSWiA z 18 stycznia 2007 r. w sprawie BIP. Obywatel korzystający z konstytucyjnego prawa dostępu do informacji publicznej nie może być poddawany komercyjnemu śledzeniu jako niepisany warunek dostępu. Naruszenie ma charakter kwalifikowany — poza RODO dotyka konstytucyjnej gwarancji dostępu do informacji o działalności organów władzy publicznej.

Ocena ogólna: Domena o specjalnym statusie prawnym (BIP), na której zidentyfikowano transmisję do podmiotów trzecich bez zgody użytkownika oraz cross-domain scope cookies GA obejmujący cały portal UMŁ. Pozorny mechanizm CMP (cookiebox TYPO3 obecny, ale nieblokujący) osłabia linię obrony opartą na „braku świadomości" — świadomość obowiązku była, brak było skutecznej implementacji.

Przepływ Danych (Zidentyfikowani Odbiorcy)

  • Google LLC – Google Analytics 4 (property G-30F084ZHSL, endpoint region1.analytics.google.com/g/collect), Universal Analytics (UA-25825547-40), Google Signals / DoubleClick (endpoint stats.g.doubleclick.net/g/collect)
  • Meta Platforms Ireland Ltd. – Facebook SDK (connect.facebook.net/pl_PL/sdk.js) załadowany; wywołania beaconowe do facebook.com/tr nie zostały odnotowane w tym pomiarze
  • YouTube (Google)player_api + widget API, ustawienie cookies domeny .youtube.com
  • ads.biblioteka.lodz.pl – zewnętrzny ad server (Revive Adserver, endpoint /www/delivery/asyncjs.php) należący do Biblioteki Miejskiej w Łodzi — odrębnego administratora danych

Detekcja CMP

Wykryto własny CMP wbudowany w szablon TYPO3 (typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js). Skrypt ładuje się, ale nie stanowi mechanizmu opt-in — nie blokuje wykonania tagów Google Analytics, Facebook SDK ani YouTube przed decyzją użytkownika. W data_layer.json brak komend Google Consent Mode (consent default, consent update), a payloady do /g/collect zawierają sygnał gcd=13l3l3l2l1l1 wskazujący na brak zintegrowanego CMP z warstwą Consent Mode.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

BIP — brak osobnej polityki prywatności

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://bip.zlm.lodz.pl/

SCAN ID: 20260306_201940_dbfda186

ADO: Zarząd Lokali Miejskich

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies9

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane transmitowane do Google (GA4 + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api oraz iframe Twittera — bez potwierdzonych wywołań beaconowych w tym pomiarze.
  • ⚠️ Cookies GA ustawione na superdomenie .zlm.lodz.pl — tożsamość analityczna wspólna z portalem ZLM (szczegóły w rozwinięciu).
  • - Po sesji pozostaje 9 cookies śledzących (4× GA, 5× YouTube). Brak cookies zarządzania sesją F5 BIG-IP — architektura hostingowa inna niż bip.uml.lodz.pl.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólny kontener UA-25825547-40 z uml.lodz.pl i lodz.pl) bez deklaracji współadministrowania (art. 26 RODO). Tagi Google i Facebook uruchamiały się przed interakcją użytkownika.
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: bip.zlm.lodz.pl

Najnowszy skan: 20260306_201940_dbfda186

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika. Ustawiono ciasteczka Google Analytics 4 (property G-30F084ZHSL), Universal Analytics (UA-25825547-40) oraz YouTube. Załadowano Facebook SDK i iframe Twittera (bez potwierdzonej transmisji beaconowej w tym pomiarze).
  • 🔴 Wykryto CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane transmitowane do Google (GA4 + DoubleClick) przed wyrażeniem zgody. Wywołania do region1.analytics.google.com/g/collect i stats.g.doubleclick.net/g/collect zawierają identyfikator klienta (cid), sygnał Consent Mode (gcd=13l3l3l2l1l1), flagę non-personalized ads (npa=1) oraz kontekst DMA. Konfiguracja gcd wskazuje na brak zintegrowanego sygnału zgody — ping analityczny wysyłany mimo to.
  • 🔴 Cross-domain scope cookies GA. Ciasteczka _ga, _ga_30F084ZHSL, _gid i _gat_gtag_UA_25825547_40 ustawione są na superdomenie .zlm.lodz.pl, nie na .bip.zlm.lodz.pl. Oznacza to, że tożsamość analityczna użytkownika BIP jest kontynuowana między BIP a portalem ZLM (zlm.lodz.pl) — konfiguracja cookie_domain: auto w gtag. To osobny wektor cross-domain niż wspólny identyfikator kontenera (UA-25825547-40) używany również przez uml.lodz.pl i lodz.pl.
  • ⚠️ Po sesji pozostaje 9 cookies śledzących (_ga* ~2 lata, cookies YouTube ~2 lata). W odróżnieniu od bip.uml.lodz.pl, brak cookies zarządzania sesją F5 BIG-IP — ZLM prawdopodobnie hostuje BIP na odrębnej infrastrukturze.

Kontekst prawny (BIP)

bip.zlm.lodz.pl nie jest zwykłą stroną informacyjną. To Biuletyn Informacji Publicznej Zarządu Lokali Miejskich w Łodzi — narzędzie realizacji prawa dostępu do informacji publicznej z art. 61 Konstytucji RP, prowadzone w reżimie ustawy z 6 września 2001 r. o dostępie do informacji publicznej oraz rozporządzenia MSWiA z 18 stycznia 2007 r. w sprawie BIP. Obywatel korzystający z konstytucyjnego prawa dostępu do informacji publicznej nie może być poddawany komercyjnemu śledzeniu jako niepisany warunek dostępu. Dodatkowa okoliczność: ZLM jest odrębnym administratorem danych względem UMŁ i Biblioteki Miejskiej, jednak dzieli z nimi warstwę pomiarową (property GA4 G-30F084ZHSL Biblioteki, kontener UA-25825547-40 współdzielony) — bez publicznej deklaracji współadministrowania w rozumieniu art. 26 RODO.

Ocena ogólna: Wzorzec technicznie zbliżony do bip.uml.lodz.pl (identyczne kontenery Google, identyczna konfiguracja Consent Mode, ten sam pozorny cookiebox TYPO3), ale dodatkowo osadzony jest iframe Twittera i inna jest architektura hostingowa (brak warstwy F5). Fakt, że BIP kolejnego administratora danych używa tej samej infrastruktury pomiarowej co UMŁ, wzmacnia hipotezę współadministrowania danych bez publicznej deklaracji.

Przepływ Danych (Zidentyfikowani Odbiorcy)

  • Google LLC – Google Analytics 4 (property G-30F084ZHSL, endpoint region1.analytics.google.com/g/collect), Universal Analytics (UA-25825547-40), Google Signals / DoubleClick (endpoint stats.g.doubleclick.net/g/collect)
  • Meta Platforms Ireland Ltd. – Facebook SDK (connect.facebook.net/pl_PL/sdk.js) załadowany; wywołania beaconowe do facebook.com/tr nie zostały odnotowane w tym pomiarze
  • YouTube (Google)player_api + widget API, ustawienie cookies domeny .youtube.com
  • X Corp. (dawniej Twitter) – iframe platform.twitter.com/widgets/widget_iframe osadzony z origin bip.zlm.lodz.pl oraz skrypt widgets.js; brak cookies X/Twitter w cookie jar tego pomiaru
  • ads.biblioteka.lodz.pl – zewnętrzny ad server (Revive Adserver, endpoint /www/delivery/asyncjs.php) należący do Biblioteki Miejskiej w Łodzi — odrębnego administratora danych

Detekcja CMP

Wykryto własny CMP wbudowany w szablon TYPO3 (typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js). Skrypt ładuje się, ale nie stanowi mechanizmu opt-in — nie blokuje wykonania tagów Google Analytics, Facebook SDK, YouTube ani widgetu Twittera przed decyzją użytkownika. W data_layer.json brak komend Google Consent Mode (consent default, consent update), a payloady do /g/collect zawierają sygnał gcd=13l3l3l2l1l1 wskazujący na brak zintegrowanego CMP z warstwą Consent Mode.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://mpu.lodz.pl/

SCAN ID: 20260306_201556_b3e7d004

ADO: Miejska Pracownia Urbanistyczna

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania10
Cookies10

Wnioski Techniczne (Skaner)

  • 🔴 Dwa GA4 równolegle bez Consent Mode: G-30F084ZHSL (Biblioteka) + G-W8F2064SGL (nowy) z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi
  • 🔴 Scroll depth 90% wysyłany do G-W8F2064SGL przed jakąkolwiek decyzją użytkownika
  • ⚠️ Legacy UA UA-25825547-40 nadal aktywny równolegle z dwoma GA4
  • - CMP cookie-box.js (TYPO3) obecny, ale niezintegrowany z Consent Mode Google
  • - Facebook SDK + YouTube widget API + Twitter widgets + livebar lodz.pl/livebar/
  • - Timeline stabilny (before_navigation = 0). Brak retroaktywnego czyszczenia cookies.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-W8F2064SGL G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Aktywny marketingowy tracking na domenie Miejskiej Pracowni Urbanistycznej bez skutecznego consent. Property G-30F084ZHSL (Biblioteka Miejska) działa cross-controller. CMP cookie-box nie przekazuje sygnału do Google.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Podwójny GA4 bez Consent Mode — równolegle pingowane są G-W8F2064SGL (nowy property MPU) oraz G-30F084ZHSL (Biblioteka Miejska). Oba z parametrami gcd=13l3l3l2l1l1, npa=1 i pscdl=noapi. CMP cookie-box.js nie integruje się z Consent API Google.
  • 🔴 Zaawansowany event tracking bez zgody — zarejestrowano i wysłano event scroll z parametrem epn.percent_scrolled=90 do G-W8F2064SGL. Scroll depth tracking działa niezależnie od decyzji użytkownika.
  • 🔴 Legacy UA nadal aktywnyUA-25825547-40 jest skonfigurowany i ładowany równolegle z dwoma GA4 przez gtag.js.
  • ⚠️ Facebook SDK + third-party widgets — załadowano connect.facebook.net/pl_PL/sdk.js, YouTube widget API oraz Twitter widgets.js. Obecny również iframe lodz.pl/livebar/.
  • - CMP technicznie obecny, ale nieskutecznycookie-box.js (TYPO3) jest załadowany, jednak brak integracji z Consent Mode powoduje, że tagi Google uruchamiają się przed jakąkolwiek interakcją użytkownika.
  • - Ad server z Biblioteki — aktywny ads.biblioteka.lodz.pl/www/delivery/asyncjs.php (Revive Adserver).

Kontekst prawny (Miejska Pracownia Urbanistyczna w Łodzi)

Miejska Pracownia Urbanistyczna (MPU) to jednostka realizująca zadania z zakresu planowania przestrzennego i urbanistyki. Strona pełni funkcję informacyjno-usługową (dokumenty planistyczne, konsultacje, mapy). Nie przetwarza szczególnych kategorii danych, ale jako jednostka administracji publicznej podlega wysokim standardom transparentności przetwarzania danych.

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box, ale nie zintegrowano go z Consent Mode Google. Uruchomiono dedykowaną property GA4 (G-W8F2064SGL) oraz utrzymano shared property Biblioteki Miejskiej (G-30F084ZHSL) bez transparentnego współadministrowania (art. 26 RODO).

Warstwa B — wartość rynkowa sygnału behawioralnego. Domena urbanistyczna generuje dane o zainteresowaniach planowaniem przestrzennym i inwestycjami — umiarkowanie wartościowe dla profilowania. Scroll depth + page_view wysyłane do dwóch GA4 properties zwiększa wartość sygnału poza celami statutowymi MPU.

Podsumowanie oceny – mpu.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — dwa GA4 + UA + scroll depth z gcd=13l3l3l2l1l1
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL + YouTube/Twitter widgets + livebar
Cross-controller identity🔴 Aktywne (G-30F084ZHSL + G-W8F2064SGL + UA-25825547-40)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Negatywna — aktywny marketingowy tracking bez skutecznego consent

Werdykt: Na mpu.lodz.pl potwierdzono uruchomienie dwóch property GA4 (G-W8F2064SGL i G-30F084ZHSL) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Zarejestrowano i wysłano zaawansowany event scroll depth przed interakcją użytkownika. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO).

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://mosir.lodz.pl/

SCAN ID: 20260306_202001_8e86892d

ADO: Miejski Ośrodek Sportu i Rekreacji

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania10
Cookies10

Wnioski Techniczne (Skaner)

  • 🔴 Dwa GA4 równolegle bez Consent Mode: G-30F084ZHSL (Biblioteka) + G-9NTNY6Z0NB z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi
  • 🔴 Cross-controller via G-30F084ZHSL + legacy UA UA-25825547-40 + GTM GTM-K44FPW9 na domenie MOSiR
  • ⚠️ Facebook SDK załadowany (connect.facebook.net), brak aktywnego Pixela (brak fbevents.js, _fbp, signals/config)
  • - YouTube widget + Twitter widgets + livebar UMŁ (lodz.pl/livebar/) → third-party cookies YouTube/Twitter
  • - CMP cookie-box.js (TYPO3) obecny; ads.biblioteka.lodz.pl/asyncjs.php aktywny; timeline stabilny, local/sessionStorage puste
  • - Scroll depth 90% wysłany do G-9NTNY6Z0NB (event scroll z epn.percent_scrolled=90)

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL G-9NTNY6Z0NB UA-25825547-40 GTM-K44FPW9
Ocena Polityki P.: Brak transparentnego współadministrowania (art. 26 RODO) przy użyciu shared property G-30F084ZHSL (Biblioteka Miejska) na domenie MOSiR. Legacy UA + nowy GTM GTM-K44FPW9 bez integracji z CMP cookie-box. Domena sportowo-rekreacyjna z monetyzacją reklamową i eventami — wyższa ekspozycja na third-party tracking niż strony czysto informacyjne.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Podwójny GA4 bez Consent Mode — równolegle pingowane: tid=G-30F084ZHSL (Biblioteka Miejska) oraz tid=G-9NTNY6Z0NB (prawdopodobnie dedykowany MOSiR). Oba z identycznymi parametrami gcd=13l3l3l2l1l1, npa=1, pscdl=noapi i dma=1. CMP cookie-box nie integruje się z Consent API Google.
  • 🔴 Cross-controller + legacy UA — property G-30F084ZHSL (właściciel: Biblioteka Miejska) aktywna na mosir.lodz.pl wraz z legacy UA-25825547-40 i kontenerem GTM GTM-K44FPW9. cid=2028970183.1772824802 wspólny dla całego ekosystemu.
  • 🔴 Zaawansowane eventy bez zgody — zarejestrowano i wysłano event scroll z parametrem epn.percent_scrolled=90 do G-9NTNY6Z0NB (beacon region1.google-analytics.com/g/collect). Scroll depth tracking działa przed jakąkolwiek interakcją z banerem CMP.
  • ⚠️ Facebook SDK bez Pixela — załadowano connect.facebook.net/pl_PL/sdk.js (dwie instancje). Brak beaconów Pixela, cookie _fbp oraz wywołań signals/config. SDK obecny, ale nieaktywny trackingowo w tym pomiarze.
  • ⚠️ Third-party widgets na domenie sportowo-rekreacyjnej — YouTube player_api + widgetapi, Twitter widgets.js + iframe, livebar UMŁ (lodz.pl/livebar/). Generują cookies VISITOR_INFO1_LIVE, YSC, __Secure-YNID, __Secure-ROLLOUT_TOKEN bez kontroli first-party.
  • - CMP obecny, ale nieskuteczny wobec Google/typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js. Brak w data_layer komend consent. Tagi Google (w tym GTM-K44FPW9) ładują się i wysyłają dane niezależnie od stanu CMP.
  • - Brak sygnałów w storage + stabilny profil — localStorage i sessionStorage puste. Timeline cookies identyczny we wszystkich stage’ach (before_navigation = 0, brak retroaktywnego czyszczenia). Ad server ads.biblioteka.lodz.pl aktywny (infrastruktura rodziny lodz.pl).

Kontekst prawny (Miejski Ośrodek Sportu i Rekreacji w Łodzi)

MOSiR realizuje zadania w zakresie kultury fizycznej, sportu i rekreacji (ustawa o kulturze fizycznej z 25 czerwca 2010 r.). Strona obsługuje wydarzenia sportowe, obiekty rekreacyjne, karnety i komunikację z mieszkańcami — dane o charakterze mniej wrażliwym niż w MOPS, ale nadal w reżimie administracji publicznej z elementami monetyzacji (reklamy, partnerstwa, sprzedaż usług).

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box (wspólny dla rodziny uml_portal), ale nie zintegrowano go z Consent Mode Google ani nie zablokowano tagów przed zgodą. Dodano nowy kontener GTM-K44FPW9 i dedykowaną property GA4 G-9NTNY6Z0NB, jednocześnie utrzymując shared G-30F084ZHSL z Biblioteką Miejską — bez transparentnego art. 26 RODO.

Warstwa B — wartość rynkowa sygnału behawioralnego. Domena sportowo-rekreacyjna generuje dane o zainteresowaniach (wydarzenia, obiekty, karnety) — atrakcyjne dla profilowania behawioralnego i audience buildingu w Google Ads / Meta. Scroll depth + page_view wysyłane do dwóch GA4 properties zwiększa wartość sygnału poza celami statutowymi MOSiR.

Podsumowanie oceny – mosir.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — dwa GA4 + UA + GTM z gcd=13l3l3l2l1l1 i pscdl=noapi; scroll depth 90% wysłany
Skuteczność CMP⚠️ Obecny (cookie-box TYPO3), ale nie zintegrowany z Consent Mode Google ani GTM
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL (Biblioteka) + YouTube/Twitter widgets + ads.biblioteka.lodz.pl
Cross-controller identity🔴 Aktywne (G-30F084ZHSL + G-9NTNY6Z0NB + UA-25825547-40)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Poważne naruszenie — multiple GA4 bez consent signal + cross-controller na domenie z elementami komercyjnymi

Werdykt: Na mosir.lodz.pl potwierdzono równoległe uruchomienie dwóch property GA4 (G-30F084ZHSL i G-9NTNY6Z0NB) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Zarejestrowano i wysłano zaawansowany event scroll depth przed interakcją użytkownika. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską oraz załadowanie Facebook SDK i widgetów YouTube/Twitter. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO). Facebook Pixel nie jest aktywny, ale powierzchnia third-party tracking jest znacząca.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Brak linków do polityki prywatności / RODO w stopce; BIP MOSiR: https://bip.mosir.lodz.pl/

https://mosir.lodz.pl/rodo/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
https://mosir.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
ŚREDNIA

https://atlasarena.pl/ Grupa ŁOT

SCAN ID: 20260307_072753_5e64d738

ADO: MAKiS sp. z o.o. (100% Miasto)

Hosting/IT: IONOS-AS This is the joint network for IONOS, Fasthosts, Arsys, 1&1 Mail and Media and 1&1 Telecom. Formerly known as 1&1 Internet SE., DE

Żądania4
Cookies2

Wnioski Techniczne

  • 🟢 CMP Cookiebot działa poprawnie – nie zaobserwowano masowego uruchamiania tagów śledzących przed decyzją użytkownika.
  • 🟡 Obecna wtyczka PixelYourSite – wymaga weryfikacji integracji z Cookiebotem.
  • - Po sesji istnieją potencjalnie śledzące cookies (2 szt.).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-RJ3LFRYX2R FB:1380002969841302
Ocena Polityki Prywatności: Polityka prywatności prawidłowo deklaruje użycie zidentyfikowanych narzędzi śledzących. Nie stwierdzono wyraźnego zatajenia.
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: atlasarena.pl

Najnowszy skan: 20260307_072753_5e64d738

Wnioski i Naruszenia

  • 🟢 CMP Cookiebot działa poprawnie – nie zaobserwowano masowego uruchamiania tagów śledzących przed decyzją użytkownika.
  • 🟡 Obecna wtyczka PixelYourSite (Free) – wymaga weryfikacji integracji z Cookiebotem.
  • 🟡 Po sesji pozostaje first-party ciasteczko śledzące gaVisitorUuid (ważne 2 lata).

Ocena ogólna: Strona wypada wyraźnie lepiej niż większość analizowanych domen miejskich. CMP Cookiebot najprawdopodobniej skutecznie opóźnia/blokuje trackery do czasu wyrażenia zgody.

Przepływ Danych (Zidentyfikowani Odbiorcy)

  • Google – reCAPTCHA, Google Analytics (G-RJ3LFRYX2R)
  • Meta (Facebook) – Facebook Pixel (FB:1380002969841302)
  • Inne – an.gr-wcon.com, gr-cdn.com, Weglot, Userway

Detekcja CMP

Wykryto Cookiebot – wygląda na dobrze zintegrowany i skuteczny w blokowaniu/opóźnianiu tagów przed decyzją użytkownika.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookiebot wdrożony poprawnie, ale brak linków do prywatności w stopce/stronie. W formularzu kontaktowym tekst, że polityka i obowiązek informacyjny znajduje się na stronie Makis.pl

https://atlasarena.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_201450_b6d79db5

ADO: Biblioteka Miejska w Łodzi

Hosting/IT: Hetzner

lodz.pl to komercyjny portal wydawniczy z pełnym monetyzowanym stackiem reklamowym Google.

Żądania30
Cookies13

Wnioski Techniczne (Skaner)

  • 🔴 Pełny stack monetyzacji Google: AdSense (ca-pub-6662457014686579), trzy Google Ads Conversion IDs (AW-790142032, AW-10940984035, AW-10886899517) — pingi konwersji do googleadservices.com i googleads.g.doubleclick.net. Wszystko przed decyzją użytkownika.
  • 🔴 Facebook Pixel aktywny (ID 528537619394728) — fbevents.js, config load, cookie _fbp (90 dni). Plus 6 iframe Facebook Like buttons dla artykułów.
  • 🔴 Dwa GA4 z tym samym cid=30299385: G-30F084ZHSL (Biblioteka Miejska) + G-K51BYYXXYF (własna lodz.pl) + DoubleClick. Dodatkowo Google Tag container GT-5DH5KDR (server-side).
  • ⚠️ Google Funding Choices CMP (dedykowane rozwiązanie dla wydawców AdSense) wdrożone, cookie FCCDCF ustawione, iframe __tcfapiLocator (IAB TCF v2) obecny. Mimo to pscdl=noapi w pingach GA — Consent Mode nie jest zintegrowany z warstwą CMP.
  • - 13 cookies stabilnie przez cały cykl pomiaru. Nowe względem rodziny domen miejskich: _gcl_au (Google Conversion Linker), _fbp (Facebook Pixel), FCCDCF (FC decision), OAID na ads.biblioteka.lodz.pl (Revive Advertiser ID, 3 lata).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL G-K51BYYXXYF GT-5DH5KDR AdSense: ca-pub-6662457014686579 AW-790142032 AW-10940984035 AW-10886899517 FB Pixel: 528537619394728
Ocena Polityki P.: Root domena to komercyjny portal wydawniczy z monetyzacją Google AdSense — pełny stack marketingu efektywnościowego (3× Google Ads conversion tracking, Facebook Pixel, Revive Adserver). Wdrożone Google Funding Choices (CMP dla wydawców AdSense) i TCF v2 nie integrują się z Consent Mode (pscdl=noapi). Cały stack odpala się przed decyzją użytkownika.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Portal wydawniczy z pełną monetyzacją reklamową Google — unikatowe w rodzinie domen. Google AdSense jako wydawca (ca-pub-6662457014686579, skrypt pagead2.googlesyndication.com/pagead/js/adsbygoogle.js), trzy różne Google Ads Conversion IDs (AW-790142032, AW-10940984035, AW-10886899517) z aktywnymi pingami do www.google.com/ccm/collect, googleadservices.com/pagead/conversion/10940984035/, googleads.g.doubleclick.net/pagead/viewthroughconversion/10940984035/. Wszystkie identyfikatory wysyłają zdarzenia en=conversion/en=page_view przed decyzją użytkownika. Cookie _gcl_au (Google Conversion Linker) ustawione.
  • 🔴 Facebook Pixel aktywny (nie tylko SDK). ID 528537619394728, załadowane connect.facebook.net/signals/config/528537619394728 + fbevents.js. Cookie _fbp=fb.1.1772824492321.199835837329971849 ustawione (90 dni). Dodatkowo 6 iframe Facebook Like buttons dla poszczególnych artykułów — każdy z nich generuje request do Facebooka z URL artykułu jako referer, ujawniając które konkretnie artykuły użytkownik ma na ekranie.
  • 🔴 Dwa GA4 z tym samym cid + Google Tag server-side. Ping GA4 G-30F084ZHSL (Biblioteka Miejska, jak w całej rodzinie domen) + G-K51BYYXXYF (własna lodz.pl) + shared UA UA-25825547-40, wszystkie z cid=30299385.1772824492. DoubleClick otrzymuje ping dla obu GA4 property. Dodatkowo aktywny nowy container Google Tag GT-5DH5KDR — prefix GT- to nowsza generacja containerów Google Tag (server-side data collection).
  • 🔴 Google Funding Choices CMP obecny, ale nieskuteczny. lodz.pl wdrożyło dedykowane rozwiązanie CMP dla wydawców AdSense (fundingchoicesmessages.google.com/i/ca-pub-6662457014686579). Cookie FCCDCF zawiera decyzję CMP. Iframe __tcfapiLocator potwierdza obsługę IAB TCF v2. Mimo to parametr pscdl=noapi we wszystkich pingach GA oznacza „no Consent API integration" — Google Consent Mode nie odbiera sygnałów zgody z Funding Choices. Trzy warstwy compliance (FC + TCF v2 + Consent Mode) wdrożone równolegle, ale niepowiązane technicznie.
  • 🔴 Revive Adserver Biblioteki z persystentnym Advertiser ID. Cookie OAID (OpenX Advertiser ID) na ads.biblioteka.lodz.pl ustawione na 3 lata (do 2027-11). W przeciwieństwie do innych analizowanych domen, gdzie ładowany był tylko skrypt asyncjs.php, tutaj Revive ustawia własne persystentne cookie identyfikujące użytkownika w ekosystemie ad servera Biblioteki.
  • ⚠️ Iframe Facebook Like buttons ujawniają konkretne artykuły odwiedzane przez użytkownika. W iframes.json obecne 6 osadzonych „Like" iframe'ów, każdy z parametrem href wskazującym konkretny artykuł na lodz.pl (m.in. artykuły o Widzewie Łódź, remoncie POW, dawnych klubach, pudełkach ratujących życie). Każdy z tych iframe'ów wysyła do Facebooka informację o tym, które treści znajdują się w viewporcie użytkownika — nawet gdy użytkownik nie kliknie „Like". Standardowa wada osadzania natywnych Facebook Like plugins.
  • ⚠️ Consent Mode „consent not set": gcd=13l3l3l2l1l1, npa=1, dma=1. Sygnał zasila modele audience Google mimo non-personalized flag — kanoniczny wzorzec rodziny domen z tą różnicą, że tutaj dochodzą sygnały conversion z trzech kampanii Google Ads i sygnały Pixela.
  • ⚠️ Iframe newsletter UMŁ + Twitter widget osadzone. newsletter.uml.lodz.pl/site2/.../webforms_id=E (zapisy do newslettera Urzędu Miasta) i iframe Twittera z origin=lodz.pl.

Podsumowanie oceny – lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Silne naruszenie
Google AdSense (wydawca)🔴 Monetyzacja reklamowa
Google Ads Conversion Tracking🔴 Trzy różne kampanie
Facebook Pixel🔴 Aktywny + iframe Like buttons
Skuteczność CMP (Google Funding Choices + TCF v2)🔴 Wdrożone, nieskuteczne (pscdl=noapi)
Dwa GA4 + Google Tag server-side🔴 Ten sam cid do dwóch property
Revive Adserver z persystentnym OAID🔴 3 lata
Ogólna ocena🔴 Bardzo słaba — komercyjny stack reklamowy bez skutecznej zgody

Werdykt: Root domena łódzkiego ekosystemu jest komercyjnym portalem wydawniczym z pełnym monetyzowanym stackiem reklamowym Google (AdSense, trzy Google Ads conversion tracking IDs, Google Tag server-side, dwa GA4 property + DoubleClick) oraz aktywnym Facebook Pixelem. Wdrożono trzy warstwy compliance (Google Funding Choices, IAB TCF v2, Consent Mode), ale nie są ze sobą zintegrowane — parametr pscdl=noapi we wszystkich pingach GA potwierdza, że Consent Mode nie odbiera sygnałów zgody z FC/TCF. Revive Adserver Biblioteki ustawia persystentny Advertiser ID na 3 lata. Iframe Facebook Like buttons ujawniają tytuły konkretnych artykułów w viewporcie użytkownika. Domena wymaga osobnej weryfikacji własnościowej: kto jest właścicielem konta AdSense ca-pub-6662457014686579, kto stoi za trzema kampaniami Google Ads, do kogo należy property GA4 G-K51BYYXXYF i Facebook Pixel 528537619394728 — te informacje przesądzają o zakresie odpowiedzialności administratora/współadministratorów.

🔬 Rozszerzona Analiza: Metodologia Rentgen vs Skaner

Nota Metodologiczna: Nasz automatyczny Skaner skupia się na wykrywaniu infrastruktury reklamowej, analitycznej i śledzącej. Równolegle zastosowano "Rentgen" (wtyczkę fundacji Internet. Czas działać!). Rentgen opiera się na metodologii aktywistów privacy, dla których każde połączenie z zewnętrznym serwerem bez zgody traktowane jest jako potencjalne ujawnienie danych. Poniższe zestawienie stanowi unikalną fuzję obu tych perspektyw.

Spójność Dowodowa

  1. Zgodność osi czasu (Timeline): Surowe dane logiki ładowania idealnie pokrywają się z rejestrami sieci. Inicjalizacja pakietów śledzących następuje ułamki sekund po załadowaniu DOM, jednoznacznie dowodząc wczesnego uruchamiania skryptów przed decyzją użytkownika.
  2. Potwierdzenie wczesnego śledzenia: Rentgen potwierdza wczesne ładowanie skryptów śledzących oraz obecność wielu połączeń do serwerów zewnętrznych (Google, Meta, Twitter/X). Potwierdza to tezę o braku skutecznego blokowania trackerów przed interakcją.
  3. Różnice w widoczności domen: Skaner raportuje domeny związane z trackingiem. Rentgen raportuje szerszy zakres połączeń zewnętrznych (w tym fonty, CDN-y itp.). Z perspektywy aktywistów RODO każde takie połączenie bez zgody może być traktowane jako potencjalne ujawnienie danych.

Głębsza analiza przepływów danych:

  • Rozbudowana Infrastruktura Reklamowa (Google Ads): Wykryto żądania z potrójnymi identyfikatorami remarketingowymi (tids=AW-557285855~AW-11108391222~AW-665139254) oraz wpięcie AdSense (client=ca-pub-6662457014686579). Świadczy to o monetyzacji ruchu na stronach miejskich.
  • Aktywny Meta Pixel: Rejestracja payloadu z eventem PageView (Pixel ID: 528537619394728). Pixel ładuje się natychmiast i transmituje dane bezpośrednio do serwerów Meta.
  • Wykrycie geolokalizacji UE: Google Analytics rejestruje użytkownika jako znajdującego się w jurysdykcji RODO (_eu=EAAAAGA).
  • Cross-domain Referrer Leak: Widgety (m.in. newsletter) ujawniają ścieżki i źródła subdomen do zewnętrznych serwisów.
  • Twitter Session Tracking: Embedowana treść generuje session_id raportowany do syndication.twitter.com przed jakąkolwiek intencjonalną akcją użytkownika.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Polityka prywatności dostępna pod adresem lodz.pl/polityka-prywatnosci/ — link widoczny w menu kontaktowym serwisu oraz w bannerze consent po rozwinięciu opcji. Uwaga: Polityka nie zawiera daty wejścia w życie ani daty ostatniej aktualizacji — brak możliwości weryfikacji okresu obowiązywania i historii zmian.

https://lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
https://lodz.pl/polityka-prywatnosci/ Polityka Prywatności — ADO: Biblioteka Miejska w Łodzi  ·  brak daty wejścia w życie
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
POZYTYWNA

https://kartaturysty.lodz.travel/ Grupa ŁOT

SCAN ID: 20260306_201815_708851ac

ADO: Łódzka Organizacja Turystyczna (ŁOT)

Hosting/IT: Autonomous System for Dataspace P.S.A., PL

Żądania0
Cookies1

Wnioski Techniczne

  • Zero trackingu behawioralnego w warstwie frontend. Brak Google Analytics, brak GTM, brak Facebook, brak YouTube, brak DoubleClick, brak ad servera Biblioteki, brak Twittera. data_layer.json pusty.
  • Cookies nie są ustawiane przed decyzją użytkownika. W całym cyklu pomiaru obecne wyłącznie JSESSIONID — sesja aplikacyjna, nie tracker.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
Brak — strona nie prowadzi analityki behawioralnej
Ocena Polityki P.: Frontend Karty Turysty jest najczystszy z całej analizowanej rodziny domen łódzkiego ekosystemu — brak Google Analytics, brak GTM, brak trackerów third-party. Jedyny sygnał zewnętrzny to zdalne Google Fonts, którego rozwiązaniem jest hosting lokalny. Warstwa realnego przetwarzania danych zarejestrowanych użytkowników karty jest poza tym pomiarem — dotyczy backendu konsorcjum PPP.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • Zero trackingu behawioralnego w warstwie frontend.
    W scripts_dom.json nie występują: Google Tag Manager, Google Analytics (analytics.js, gtag/js), Facebook SDK, Facebook Pixel, YouTube API, Twitter widgets, DoubleClick, ad server ads.biblioteka.lodz.pl, cookiebox TYPO3, Klaro, widget lodz.pl/livebar. data_layer.json jest pusty — brak jakiegokolwiek warstwy pomiarowej GTM. W przeciwieństwie do kartalodzianina.pl (która ma Consent Mode v2 z cookieless pingami), Karta Turysty nie prowadzi w ogóle analityki Google.
  • Cookies nie są ustawiane przed decyzją użytkownika.
    Timeline pomiaru (before_navigationafter_domcontentloadedafter_loadafter_async_window) pokazuje przez cały cykl życia sesji obecność wyłącznie JSESSIONID — session-only (expires=-1), na hoście kartaturysty.lodz.travel, cookie sesji aplikacyjnej, technicznie niezbędne. Zero trackerów.
  • ⚠️ Google Fonts ładowane zdalnie — jedyny konkretny problem RODO.
    Strona pobiera dwie rodziny fontów (Montserrat, Poppins) z fonts.googleapis.com/css2 (arkusz stylów) oraz odpowiadające pliki WOFF2 z fonts.gstatic.com. Każdy z tych requestów przekazuje adres IP użytkownika oraz nagłówki HTTP do serwerów Google w USA, bez uzyskania zgody i bez podstawy prawnej wskazanej w polityce prywatności.

    Wyrok niemieckiego Landgericht München I z 20 stycznia 2022 r., sygn. 3 O 17493/20 uznał zdalne ładowanie Google Fonts za naruszenie art. 6 ust. 1 RODO — adres IP jest daną osobową w rozumieniu TSUE Breyer (C-582/14), a jego transmisja do Google nie ma podstawy w zgodzie użytkownika, w umowie ani w prawnie uzasadnionym interesie. Standardowe rozwiązanie techniczne: hosting fontów lokalnie na serwerze operatora (self-hosted webfonts). Wyrok LG München nie jest wiążący dla polskich sądów, ale jest szeroko cytowany w doktrynie ochrony danych w EEA.
  • ⚠️ Skrypty zewnętrzne z publicznych CDN bez podpisu integralności (SRI).
    Strona ładuje: cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/10.10.0/sweetalert2.min.js oraz unpkg.com/leaflet@1.9.1/dist/leaflet.js. Popularne biblioteki front-end, ale ładowane bez atrybutu integrity — ryzyko supply chain. Nie jest to naruszenie RODO, tylko sygnał higieny bezpieczeństwa aplikacji.
  • ⚠️ Cookie JSESSIONID ujawnia szczegół architektury i wskazuje na wspólną platformę z kartalodzianina.pl.
    Wartość cookie zawiera sufiks .ktlodz_zeus, który identyfikuje instancję serwera aplikacyjnego. Konwencja nazewnictwa jest analogiczna do kartalodzianina.pl, gdzie JSESSIONID miał sufiks .lodz_atena. Obie strony używają tego samego stacka technologicznego (Java EE application server), tej samej struktury assets (assets/n/, cmsJS/, assets/visit/), tych samych wersji bibliotek zewnętrznych i tego samego własnego cookiebar (jquery.cookiebar.js) — dwie instancje jednej platformy obsługującej różne produkty kartowe miasta.

Zakres tego pomiaru — co jest widoczne, a co nie

Pomiar objął landing page kartaturysty.lodz.travel bez interakcji — bez logowania, bez rejestracji, bez korzystania z funkcji karty. Wszystkie wnioski powyżej dotyczą wyłącznie warstwy frontend widocznej dla anonimowego odwiedzającego.

Poza zakresem tego pomiaru pozostają:

  • Warstwa danych zarejestrowanych użytkowników karty (dane osobowe turystów, historia korzystania z atrakcji)
  • Integracje z atrakcjami turystycznymi, hotelami i innymi partnerami usługowymi karty
  • Model prawny umowy koncesji PPP i klauzule o przetwarzaniu danych
  • Rejestr czynności przetwarzania konsorcjum obsługującego produkty kartowe miasta
  • Zachowanie serwisu po zalogowaniu i korzystaniu z funkcji karty (co się dzieje w warstwie autoryzowanej)

Werdykt: Frontend kartaturysty.lodz.travel jest najczystszy pod kątem trackingu ze wszystkich analizowanych domen łódzkiego ekosystemu — brak Google Analytics, brak GTM, brak Facebook, brak YouTube, brak Twittera, brak DoubleClick, brak ad servera Biblioteki. Cookies w warstwie frontend to wyłącznie sesja aplikacyjna. Jedyny konkretny problem: Google Fonts ładowane zdalnie, co w świetle wyroku niemieckiego LG München I z 20 stycznia 2022 (sygn. 3 O 17493/20) stanowi naruszenie RODO. Rozwiązanie techniczne: hosting fontów lokalnie. Karta Turysty dzieli platformę techniczną z Kartą Łodzianina (spójna konwencja nazewnictwa instancji backendu — .ktlodz_zeus obok .lodz_atena) — obie karty obsługiwane są przez tę samą infrastrukturę, ale mają wyraźnie różne poziomy implementacji analityki frontend. Warstwa backend przetwarzania danych zarejestrowanych użytkowników i model prawny umowy koncesji PPP pozostają poza zakresem tego pomiaru.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

PDF w stopce; cookie banner wspomina ŁOT jako administratora danych

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
ŚREDNIA

https://media.lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_201723_e56edb54

ADO: Łódź Media Group / ŁOT

Hosting/IT: CF-GDA, PL

Żądania0
Cookies1

Wnioski Techniczne (Skaner)

  • Zero trackerów third-party. Brak Google Analytics, brak GTM, brak Facebook, brak YouTube, brak DoubleClick, brak ads.biblioteka.lodz.pl. data_layer.json pusty, iframes.json pusty.
  • CMP CookieYes wdrożony i skuteczny. Cookie cookieyes-consent zapisane z decyzją: consent:no, necessary:yes, wszystkie inne kategorie (functional, analytics, performance, advertisement): no. Brak cookies trackerowych w timeline.
  • ⚠️ Adobe Typekit (use.typekit.net, p.typekit.net) — 9 requestów fontów zdalnie. Analogicznie do problemu Google Fonts (wyrok LG München I, 3 O 17493/20) — IP użytkownika transmitowany do Adobe Systems bez zgody.
  • - Stack: WordPress 6.9.1, plugin Cookie Law Info (Lite) v3.4.0, Contact Form 7 v6.1.5, custom theme lodzmediagroup. Wszystkie zasoby JS/CSS hostowane lokalnie na media.lodz.pl.
  • - Zero cross-controller identity sharing z rodziną domen miejskich. Zero powiązania z ekosystemem pomiarowym Biblioteki (G-30F084ZHSL) ani UMŁ (UA-25825547-40).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
Brak — strona nie prowadzi analityki behawioralnej
Ocena Polityki P.: Frontend media.lodz.pl (Łódź Media Group) ma najczystszą warstwę trackingu w całej analizowanej rodzinie domen łódzkich obok kartaturysty.lodz.travel. CMP CookieYes działa poprawnie — decyzja użytkownika propagowana, brak jakichkolwiek cookies analitycznych/reklamowych przed zgodą. Jedyny problem: zdalne ładowanie fontów Adobe Typekit. Warstwa właściwego przetwarzania danych po stronie ŁMG (deklarowana baza 174 tys. maili, 170 tys. telefonów) jest poza zakresem pomiaru frontend — dotyczy backendu i systemów CRM/newsletter operatora.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • Zero trackerów third-party w warstwie frontend. W scripts_dom.json nie występują: Google Tag Manager, Google Analytics (analytics.js, gtag/js), Facebook SDK, Facebook Pixel, YouTube API, Twitter widgets, DoubleClick, ad server ads.biblioteka.lodz.pl, Klaro. data_layer.json pusty. iframes.json pusty. Strona nie prowadzi analityki behawioralnej i nie osadza żadnych zewnętrznych widgetów mediów społecznościowych.
  • CMP CookieYes wdrożony poprawnie. Cookie cookieyes-consent zawiera decyzję użytkownika w formacie: consent:no, necessary:yes, functional:no, analytics:no, performance:no, advertisement:no. Timeline pomiaru (before_navigation=0 → after_domcontentloaded=1 → after_load=1 → after_async_window=1) potwierdza, że przez cały cykl obecne jest wyłącznie cookie decyzji CMP. Żadne cookies analityczne, reklamowe, funkcjonalne ani performance nie są ustawiane przed zgodą. Plugin: Cookie Law Info Lite v3.4.0 (wp-content/plugins/cookie-law-info).
  • ⚠️ Adobe Typekit — zdalne ładowanie fontów. Strona pobiera fonty z use.typekit.net (7 plików fontowych z hashami af/134b52, af/22b56a, af/3756a3, af/783f34, af/87e50a, af/b02074, af/cc7dab) oraz plików CSS (use.typekit.net/pqs4jjt.css, p.typekit.net/p.css). Adobe Typekit to usługa Adobe Systems Inc. (USA) — analogiczny problem prawny jak Google Fonts wg wyroku LG München I z 20 stycznia 2022 r. (sygn. 3 O 17493/20): adres IP użytkownika transmitowany do dostawcy z siedzibą poza EEA bez podstawy prawnej. Rozwiązanie: self-hosted webfonts lub użycie fontów o licencji open source dostępnych lokalnie.
  • ⚠️ Stack techniczny (do wiadomości administratora). WordPress 6.9.1, jQuery, plugin Contact Form 7 v6.1.5, custom theme lodzmediagroup. Wszystkie skrypty JS/CSS hostowane lokalnie na media.lodz.pl. Brak local_storage i session_storage poza standardowym wpEmojiSettingsSupports.

Zakres tego pomiaru — co jest widoczne, a co nie

Pomiar objął landing page media.lodz.pl bez interakcji. Wszystkie wnioski dotyczą wyłącznie warstwy frontend widocznej dla anonimowego odwiedzającego.

Poza zakresem tego pomiaru pozostają:

  • Warstwa właściwego przetwarzania danych w bazach CRM/newsletter Łódź Media Group — deklarowana publicznie baza około 174 tys. adresów e-mail oraz około 170 tys. numerów telefonów wraz z możliwością targetowania reklam
  • Podstawa prawna budowania i utrzymywania tych baz — pytanie explicite podniesione w interpelacji radnych z 22 maja 2026 r. (punkt 12)
  • Umowy między Miastem Łodzi, Biblioteką Miejską, ŁMG i ŁOT dotyczące wykorzystania danych użytkowników portalu lodz.pl oraz aplikacji łódź.pl do celów reklamowych i marketingowych
  • Ewentualna aktywność narzędzi analityki i profilowania w podstronach media.lodz.pl objętych logowaniem (jeżeli takie istnieją)

Podsumowanie oceny – media.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą✅ Zgodne
Google Analytics / GTM✅ Brak
Facebook, YouTube, Twitter, DoubleClick✅ Brak
Ad server Biblioteki✅ Brak
Cross-controller identity sharing z rodziną domen miejskich✅ Brak
Skuteczność CMP (CookieYes)✅ Działa (decyzja propagowana)
Adobe Typekit⚠️ Zdalne, transmisja IP do Adobe (USA)
Warstwa backend (bazy CRM/newsletter ŁMG)❓ Poza zakresem pomiaru frontend
Ogólna ocena warstwy frontend✅ Zgodna, z jednym zastrzeżeniem (Adobe Typekit)

Werdykt: Frontend media.lodz.pl (Łódź Media Group) jest zaskakująco czysty pod kątem trackingu — obok kartaturysty.lodz.travel to jedna z dwóch domen w analizowanej rodzinie łódzkiej z prawidłowo działającym CMP i zerową transmisją danych do podmiotów trzecich przed zgodą użytkownika. Można to wytłumaczyć w oczywisty sposób. Na tę stronę wchodzą potencjalnie TYLKO klienci korzystający z oferty Media Group i ŁOT nie ma potrzeby trackingu w tak zaawansowany sposób jak w przypadku zewnętrznych serwisów, gdzie buduje się bazy klientów i remarketing. Cookie CookieYes zapisuje decyzję użytkownika, żadne cookies analityczne ani reklamowe nie są ustawiane. Jedyne zastrzeżenie: zdalne ładowanie fontów Adobe Typekit — analogiczne do problemu Google Fonts (wyrok LG München I, sygn. 3 O 17493/20), z prostym rozwiązaniem technicznym (hosting lokalny). Ważne dopowiedzenie: ocena „zgodne" dotyczy wyłącznie warstwy frontend landing page bez interakcji. Rzeczywisty przedmiot dochodzenia w kontekście Łódź Media Group — bazy CRM/newsletter deklarowane publicznie w ofercie handlowej ŁMG (około 174 tys. maili, 170 tys. telefonów, targetowanie reklam), umowy z Miastem/Biblioteką w zakresie wykorzystania danych użytkowników portalu lodz.pl oraz aplikacji łódź.pl — pozostaje w warstwie backend/CRM/dokumentacyjnej, poza możliwościami audytu frontendowego. Pytanie 12 interpelacji radnych z 22 maja 2026 r. dotyczy właśnie tego obszaru.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Oba linki w stopce

https://media.lodz.pl/ Zarchiwizowano: 2026-02-25 15:59
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://biblioteka.lodz.pl/ Grupa ŁOT

SCAN ID: 20260306_201857_a94f04b6

ADO: Biblioteka Miejska w Łodzi

Hosting/IT: CF-KRK, PL

Żądania11
Cookies6

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Brak widocznego mechanizmu CMP. W data_layer.json nie ma komend consent default ani consent update.
  • 🔴 Dane były transmitowane do Google Analytics i Facebook Pixel przed wyrażeniem zgody.
  • - Po sesji istnieją potencjalnie śledzące cookies (6 szt.).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-4XLLVG2B8P FB:357593604940620
Ocena Polityki P.: Polityka deklaruje narzędzia analityczne i marketingowe, jednak na stronie nie wykryto żadnego mechanizmu zarządzania zgodą (CMP). Tagi Google Analytics i Facebook Pixel uruchamiały się przed interakcją użytkownika.
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: biblioteka.lodz.pl

Najnowszy skan: 20260306_201857_a94f04b6

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika. Pojawiły się ciasteczka Google Analytics (_ga*, _gid) oraz Facebook (_fbp).
  • 🔴 Brak widocznego mechanizmu CMP. W data_layer.json nie ma komend consent default ani consent update.
  • 🔴 Dane były transmitowane do Google Analytics i Facebook Pixel przed wyrażeniem zgody.
  • ⚠️ Po sesji pozostają długotrwałe ciasteczka śledzące (_ga*, _fbp).

Ocena ogólna: Jedna z najgorszych analizowanych stron. Brak CMP + natychmiastowe uruchamianie tagów Google i Facebook.

Przepływ Danych (Zidentyfikowani Odbiorcy)

  • Google – Google Analytics 4 (G-4XLLVG2B8P, G-VTQKC3GTDX), Universal Analytics (UA-218462078-1)
  • Meta (Facebook) – Facebook Pixel (FB:357593604940620)
  • Userway – widget dostępności

Detekcja CMP

Nie wykryto żadnego mechanizmu zarządzania zgodą (CMP). Strona nie blokuje tagów przed decyzją użytkownika.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookie banner odsyła do: https://biblioteka.lodz.pl/assets/policies/COOKIES.pdf — oba to PDF

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://lodz.travel/ Grupa ŁOT

SCAN ID: 20260306_201751_fdf84108

ADO: Łódzka Organizacja Turystyczna (ŁOT)

Hosting/IT: Hetzner

Żądania38
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 Pełny stack monetyzacji Google: AdSense (ca-pub-6662457014686579), cztery Google Ads Conversion IDs (AW-790142032, AW-10940984035, AW-10886899517, AW-665139254) z aktywnymi pingami en=conversion do googleadservices.com, googleads.g.doubleclick.net, www.google.com/pagead/1p-conversion/, www.google.pl/pagead/1p-conversion/. Wszystko przed decyzją użytkownika.
  • 🔴 Facebook Pixel aktywny (ID 710762686030917) — fbevents.js, config load. Inny Pixel ID niż na lodz.pl (tam było 528537619394728).
  • 🔴 Dwa GA4 z tym samym cid=1694443646: G-5TZ8847RTL (własna lodz.travel) + G-30F084ZHSL (Biblioteka Miejska) + shared UA UA-25825547-40 + DoubleClick. GTM container GTM-P5KSMXV.
  • 🔴 Zdarzenie conversion zdefiniowane w data_layer: send_to: AW-10940984035/V02uCO6r29MDEOPViOEo — konkretny label kampanii Google Ads uruchamiany przy wejściu na stronę.
  • 🔴 Dwa CMP wdrożone równolegle: cookiebox TYPO3 z pakietu uml_portal oraz Klaro z cookies.uml.lodz.pl. Żaden nie blokuje. pscdl=noapi we wszystkich pingach — Consent Mode nie zintegrowany.
  • - 9 cookies stabilnie przez cykl. _gcl_ls w localStorage (Google Conversion Linker). google_auto_fc_cmp_setting w localStorage sugeruje aktywne Google Funding Choices.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL G-5TZ8847RTL GTM-P5KSMXV AdSense: ca-pub-6662457014686579 AW-790142032 AW-10940984035 AW-10886899517 AW-665139254 FB Pixel: 710762686030917
Ocena Polityki P.: Portal turystyczny z pełnym stackiem monetyzacji reklamowej Google — AdSense, cztery Google Ads Conversion IDs, Facebook Pixel, dwa GA4 property + DoubleClick + GTM. Dwa CMP (cookiebox TYPO3 + Klaro) nie zintegrowane z Consent Mode (pscdl=noapi). Domena zarządzana przez Łódzką Organizację Turystyczną — inne konto FB Pixel niż lodz.pl, ale ten sam AdSense pub-ID i te same trzy z czterech AW conversion IDs co lodz.pl.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Portal turystyczny z pełnym stackiem monetyzacji reklamowej Google. AdSense (ca-pub-6662457014686579) — ta sama publisher property co na lodz.pl. Cztery Google Ads Conversion IDs z aktywnymi pingami: AW-790142032, AW-10940984035, AW-10886899517, AW-665139254. Wywołania: www.google.com/ccm/collect, www.googleadservices.com/pagead/conversion/[ID]/, googleads.g.doubleclick.net/pagead/viewthroughconversion/[ID]/, www.google.com/pagead/1p-conversion/[ID]/, www.google.pl/pagead/1p-conversion/[ID]/. Zdarzenie conversion z konkretnym label AW-10940984035/V02uCO6r29MDEOPViOEo uruchamiane przy wejściu.
  • 🔴 Facebook Pixel z ID 710762686030917. Załadowany connect.facebook.net/signals/config/710762686030917 + fbevents.js. To inny Pixel niż na lodz.pl (528537619394728) — sugeruje, że lodz.travel ma własne konto reklamowe Meta, niepowiązane z lodz.pl.
  • 🔴 Dwa GA4 z tym samym cid + shared UA + DoubleClick + GTM. Pingi do region1.analytics.google.com/g/collect: tid=G-5TZ8847RTL (własna lodz.travel) oraz tid=G-30F084ZHSL (Biblioteka Miejska), obie z cid=1694443646.1772824674. DoubleClick stats.g.doubleclick.net/g/collect dla obu property. Shared UA UA-25825547-40 aktywny. GTM container GTM-P5KSMXV.
  • 🔴 Dwa CMP wdrożone równolegle — żaden nie blokuje. Cookiebox TYPO3 z pakietu uml_portal (typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js) + Klaro z centralnej infrastruktury cookies.uml.lodz.pl (klaro.js, embed.js, config). Skrypty ładują się, ale wszystkie tagi Google i Meta uruchamiają się przed decyzją użytkownika. pscdl=noapi we wszystkich pingach GA i Ads — Consent Mode nie odbiera sygnału z żadnego CMP. localStorage zawiera google_auto_fc_cmp_setting=[1] — dodatkowo aktywne Google Funding Choices dla AdSense.
  • 🔴 Iframe AdSense osadzony w DOM. W iframes.json obecny aswift_0 — iframe reklamowy AdSense z pełnym zestawem parametrów kontekstowych (rozdzielczość, viewport, user-agent hints, correlator). Portal wyświetla reklamy Google jako wydawca.
  • 🔴 Ad server Biblioteki + livebar lodz.pl osadzone. ads.biblioteka.lodz.pl/www/delivery/asyncjs.php ładowany. Iframe lodz.pl/livebar/ obecny (widget informacyjny Biblioteki).
  • ⚠️ Consent Mode „consent not set": gcd=13l3l3l2l1l1, npa=1, dma=1, pscdl=noapi. Sygnał zasila modele audience Google mimo non-personalized flag. Konfiguracja identyczna jak na innych domenach rodziny uml_portal.
  • ⚠️ Twitter widgets + YouTube API. platform.twitter.com/widgets.js + iframe z origin=lodz.travel. YouTube widgetapi.js + player_api + cookies YouTube z partitionKey https://lodz.travel.
  • ⚠️ Cross-controller identity sharing. Ten sam cid transmitowany do GA4 należącej do Biblioteki Miejskiej (G-30F084ZHSL) oraz do własnej GA4 lodz.travel (G-5TZ8847RTL). Domena zarządzana przez Łódzką Organizację Turystyczną (art. 26 RODO — bez publicznej deklaracji współadministrowania).
  • ⚠️ Wspólne z lodz.pl: AdSense pub-ID (ca-pub-6662457014686579), trzy z czterech Google Ads Conversion IDs (AW-790142032, AW-10940984035, AW-10886899517). Wyłącznie na lodz.travel: AW-665139254 (czwarty AW ID), własna GA4 G-5TZ8847RTL, inny Facebook Pixel 710762686030917.

Podsumowanie oceny – lodz.travel

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Silne naruszenie
Google AdSense (wydawca)🔴 Aktywny (ten sam pub-ID co lodz.pl)
Google Ads Conversion Tracking🔴 Cztery kampanie z aktywnymi pingami
Facebook Pixel🔴 Aktywny (własny ID, inny niż lodz.pl)
Skuteczność CMP (cookiebox TYPO3 + Klaro + FC)🔴 Trzy warstwy, żadna nie działa (pscdl=noapi)
Dwa GA4 z tym samym cid🔴 Cross-controller identity sharing
Ad server Biblioteki🔴 ads.biblioteka.lodz.pl ładowany
Ogólna ocena🔴 Bardzo słaba — komercyjny portal turystyczny z monetyzacją reklamową

Werdykt: Portal turystyczny lodz.travel (zarządzany przez Łódzką Organizację Turystyczną) uruchamia pełny stack monetyzacji reklamowej Google przed decyzją użytkownika: AdSense (ten sam publisher ca-pub-6662457014686579 co na lodz.pl), cztery Google Ads Conversion IDs (trzy wspólne z lodz.pl plus własny AW-665139254), własna GA4 G-5TZ8847RTL obok GA4 Biblioteki G-30F084ZHSL z tym samym cid, własny Facebook Pixel 710762686030917, GTM GTM-P5KSMXV. Trzy warstwy compliance (cookiebox TYPO3, Klaro, Google Funding Choices) wdrożone równolegle, ale nie zintegrowane z Consent Mode — pscdl=noapi we wszystkich pingach. Iframe reklamowy AdSense osadzony w DOM przy pierwszym wejściu. Wspólnota technicznego stacku z lodz.pl (AdSense, trzy z czterech AW IDs) mimo odrębnej osobowości prawnej ŁOT wobec Biblioteki Miejskiej — bez publicznej deklaracji współadministrowania z art. 26 RODO.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Polityka prywatności w ostatnim chunke, brak osobnej klauzuli RODO

https://lodz.travel/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://cuw.uml.lodz.pl/

SCAN ID: 20260306_201639_2d114b5e

ADO: Centrum Usług Wspólnych w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies8

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny.
  • 🔴 Dane transmitowane do Google (GA4 G-30F084ZHSL + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api, iframe Twittera oraz skrypt ad servera Biblioteki Miejskiej (ads.biblioteka.lodz.pl).
  • ⚠️ Cookies GA ustawione na superdomenie .uml.lodz.pl — tożsamość analityczna wspólna z uml.lodz.pl i bip.uml.lodz.pl (szczegóły w rozwinięciu).
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 wymusza non-personalized ads, ale cid, sid i page_view transmitowane mimo to — sygnał zasilający modele audience Google idzie i tak.
  • - Po sesji pozostaje 8 cookies śledzących (4× GA, 4× YouTube). Brak Facebook Pixel, brak drugiego kontenera Analytics.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie cross-subdomain (wspólny scope .uml.lodz.pl z uml.lodz.pl i bip.uml.lodz.pl) bez deklaracji współadministrowania (art. 26 RODO). Jednostka realizująca windykację należności i rozliczenia funduszy europejskich, sama bez elementarnej higieny cookies — kwestia kultury compliance administratora dostępującego do wrażliwych danych finansowych.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
    Po etapie after_domcontentloaded automatycznie ustawiono ciasteczka Google Analytics (_ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40) oraz ciasteczka YouTube. Załadowano skrypty: google-analytics.com/analytics.js, googletagmanager.com/gtag/js (G-30F084ZHSL + UA-25825547-40), connect.facebook.net/sdk.js, youtube.com/player_api, platform.twitter.com/widgets.js, ads.biblioteka.lodz.pl/www/delivery/asyncjs.php.
  • 🔴 Wdrożono własny mechanizm zarządzania zgodą (CMP), który nie blokuje trackerów przed decyzją użytkownika.
    Na stronie obecny jest własny CMP: typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js. Mechanizm ładuje się, ale nie stanowi skutecznego opt-in — skrypty śledzące uruchamiają się bez blokady. W data_layer.json brak komend consent default ani consent update. W przeciwieństwie do css.samorzad.lodz.pl nie wdrożono dodatkowo Klaro z centralnej infrastruktury cookies.uml.lodz.pl.
  • 🔴 Dane były transmitowane do podmiotów trzecich przed wyrażeniem zgody.
    Potwierdzone requesty:
    • Google Analytics 4 (G-30F084ZHSL, należąca do Biblioteki Miejskiej) → region1.analytics.google.com/g/collect (page_view, cid=86646066)
    • Universal Analytics (UA-25825547-40) — cookie _gat_gtag_UA_25825547_40 ustawione (throttle token po pingu)
    • DoubleClick → stats.g.doubleclick.net/g/collect (ten sam cid)
    • Facebook SDK (bez Pixela — brak fbevents.js, brak cookie _fbp)
    • YouTube (player_api + widgetapi)
    • Twitter widgets (iframe z origin=cuw.uml.lodz.pl)
    ads.biblioteka.lodz.pl — Revive Adserver Biblioteki Miejskiej (odrębny administrator danych)
    W odróżnieniu od domen z rodziny lodz.pl, na CUW nie wykryto widgetu lodz.pl/livebar.
  • 🔴 Cross-subdomain scope cookies GA — najsilniejszy wektor tej domeny.
    Ciasteczka _ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40 ustawione są na superdomenie .uml.lodz.pl, nie na .cuw.uml.lodz.pl. Oznacza to, że CUW dzieli tożsamość analityczną z głównym portalem miasta (uml.lodz.pl) oraz z Biuletynem Informacji Publicznej urzędu (bip.uml.lodz.pl) — pomiar identyfikuje tego samego użytkownika przez trzy formalnie odrębne serwisy różnych administratorów danych. Konfiguracja cookie_domain: auto w gtag skutkuje wspólnym namespace pomiarowym całej rodziny *.uml.lodz.pl.
  • ⚠️ Ciasteczka YouTube są partitioned (CHIPS), ale z anomalią.
    Zawierają "partitionKey": "https://uml.lodz.pl" (nie cuw.uml.lodz.pl) oraz "_crHasCrossSiteAncestor": true. Powtarzalna cecha pomiarów na subdomenach *.uml.lodz.pl.
  • ⚠️ Parametry Consent Mode wskazują na brak zintegrowanego sygnału zgody.
    W requestach widoczne są parametry: gcd=13l3l3l2l1l1, npa=1, dma=1, dma_cps=a. Konfiguracja wskazuje na „consent not set" z jednoczesnym wymuszeniem non-personalized ads — mimo to identyfikator klienta (cid), identyfikator sesji (sid) i event page_view są transmitowane. Flaga npa=1 ogranicza personalized display, ale nie wyłącza zasilania modeli audience Google — sygnał behawioralny wchodzi do systemu i tak.

Kontekst prawny i rynkowy (Centrum Usług Wspólnych)

cuw.uml.lodz.pl to strona Centrum Usług Wspólnych w Łodzi — jednostki budżetowej utworzonej uchwałą Rady Miasta z 30 marca 2016 r., realizującej scentralizowaną obsługę administracyjną, kadrowo-płacową, rachunkową i finansową dla miejskich jednostek: Zarządu Dróg i Transportu, Miejskiego Centrum Inwestycji, Zarządu Zieleni Miejskiej, Miejskiej Pracowni Urbanistycznej oraz Schroniska dla Zwierząt. W zakresie zadań: prowadzenie zleconych zadań windykacyjnych należności oraz rozliczanie projektów współfinansowanych ze środków funduszy europejskich (Oddział ds. Rozliczeń Projektów przeniesiony w 2018 r. z Biura ds. Rewitalizacji UMŁ).

Warstwa A — kultura compliance administratora. CUW dysponuje dostępem do danych finansowych obywateli objętych windykacją należności miejskich oraz danych beneficjentów i partnerów w rozliczeniach funduszy europejskich. Jednostka o takim mandacie powinna reprezentować podwyższony standard higieny compliance we wszystkich swoich systemach — w tym własnej stronie internetowej. Faktyczna implementacja: pozorny cookiebox TYPO3, transmisja identyfikatora klienta do Google, DoubleClick, Facebooka i ad servera Biblioteki Miejskiej przed jakąkolwiek decyzją użytkownika. Argument dotyczy tu nie ochrony indywidualnego odwiedzającego, lecz spójności praktyk instytucji, której powierzono mandat zarządzania wrażliwymi danymi finansowymi.

Warstwa B — wartość rynkowa sygnału behawioralnego. Dane behawioralne z domeny jednostki rozliczającej fundusze europejskie stanowią wartościowe inventory reklamowe dla sektorów obsługujących beneficjentów UE: firm doradczych od pisania wniosków, kancelarii specjalizujących się w prawie dotacyjnym, dostawców oprogramowania do zarządzania projektami, banków oferujących kredyty pomostowe i produkty faktoringowe, firm audytorskich. Transmisja cid do GA4 i DoubleClick zasila modele audience buildingu Google, które następnie są kupowane przez reklamodawców z tych sektorów. Flaga npa=1 ogranicza personalized display, ale nie wyłącza wykorzystania sygnału do budowy segmentów remarketingowych i lookalike audiences. Rozporządzenie ogólne UE nr 2021/1060 dla perspektywy 2021-2027 zawiera własne przepisy o przetwarzaniu danych beneficjentów — eksport ich profilu behawioralnego do systemu reklamowego Google bez podstawy prawnej wykracza poza cele przetwarzania określone w umowach o dofinansowanie.

Osobna okoliczność: cross-subdomain scope cookies na .uml.lodz.pl oznacza, że pomiar identyfikuje tego samego użytkownika przez trzy formalnie odrębne serwisy różnych administratorów danych — CUW, główny portal UMŁ i BIP urzędu. Wspólne administrowanie danymi w rozumieniu art. 26 RODO bez publicznej deklaracji między jednostkami.

Podsumowanie oceny – cuw.uml.lodz.pl

KryteriumOcenaKomentarz
Uruchamianie trackerów przed zgodą🔴 Silne naruszeniePotwierdzone przez cookies_timeline + payloads
Skuteczność wdrożonego CMP🔴 Niska / pozornaWłasny cookie-box TYPO3 nie blokuje tagów (brak Klaro)
Transmisja danych do podmiotów trzecich🔴 TakGoogle (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl
Parametry Consent Mode⚠️ Consent not set + npa=1Sygnał zasila modele audience mimo non-personalized flag
Cross-subdomain scope🔴 Tak — na całą rodzinę .uml.lodz.plWspólna tożsamość z uml.lodz.pl i bip.uml.lodz.pl
Ciasteczka YouTube⚠️ Partitioned (CHIPS)partitionKey https://uml.lodz.pl
Kultura compliance administratora🔴 NiespójnaJednostka od windykacji i rozliczeń UE bez higieny cookies
Wartość rynkowa profilu⚠️ Sektor doradztwa UE / bankowośćSegment audience wartościowy dla reklamodawców obsługujących beneficjentów
Ogólna ocena🔴 SłabaPełny stack trackerów na domenie jednostki o wrażliwym mandacie

Werdykt: Na stronie cuw.uml.lodz.pl wdrożono pozorny CMP (cookiebox TYPO3), który nie blokuje ładowania trackerów przed decyzją użytkownika. Ta sama tożsamość klienta (cid) transmitowana jest równolegle do GA4 należącej do Biblioteki Miejskiej oraz do DoubleClick, a cross-subdomain scope cookies na .uml.lodz.pl identyfikuje użytkownika przez trzy formalnie odrębne serwisy — CUW, UMŁ i BIP urzędu. Jednostka realizuje windykację należności miejskich oraz rozliczenia funduszy europejskich — mandat wymagający podwyższonego standardu compliance, którego wdrożona konfiguracja techniczna nie spełnia. Sygnał behawioralny z domeny obsługującej rozliczenia UE stanowi wartościowe inventory reklamowe dla sektorów doradczo-bankowych obsługujących beneficjentów funduszy europejskich — eksportowany do systemu Google Ads bez publicznej podstawy prawnej i bez deklaracji współadministrowania z art. 26 RODO.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Klauzule windykacyjne osobno: https://cuw.uml.lodz.pl/windykacja/klauzula-informacyjna-windykacja/

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://kartalodzianina.pl/ Grupa ŁOT

SCAN ID: 20260306_201700_53607701

ADO: Łódzka Organizacja Turystyczna (ŁOT)

Hosting/IT: Autonomous System for Dataspace P.S.A., PL

Żądania2
Cookies1

Wnioski Techniczne

  • Consent Mode v2 wdrożony poprawnie — ad_storage, analytics_storage, ad_user_data, ad_personalization domyślnie denied. To pierwsza analizowana domena łódzkiego ekosystemu z prawidłową implementacją.
  • Cookies nie są ustawiane przed decyzją użytkownika. W całym cyklu pomiaru (before → dom → load → async) obecne wyłącznie JSESSIONID — sesja aplikacyjna, nie tracker.
  • Brak Facebook SDK/Pixela, brak YouTube API, brak Twitter widgets, brak DoubleClick, brak ad servera ads.biblioteka.lodz.pl. Fundamentalnie prostsza konfiguracja frontend niż domeny miejskie.
  • ⚠️ Consent Mode w trybie advanced — mimo denied, do region1.google-analytics.com/g/collect idą dwa cookieless pingi (page_view, scroll 90%) z metadanymi sesji. Szczegóły w rozwinięciu.
  • ⚠️ Property GA4 G-ZX3TE0H6N6 — dedykowana dla tego serwisu, poza rodziną property Biblioteki Miejskiej. Administrator tej property i podstawa prawna do zbierania danych (nawet cookieless) wymaga wskazania w rejestrze czynności przetwarzania konsorcjum.
  • - Skrypty zewnętrzne z publicznych CDN bez podpisu integralności (SRI): sweetalert2 z cdnjs, leaflet z unpkg. Sygnał higieny bezpieczeństwa front-end, nie warstwa RODO.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-ZX3TE0H6N6
Ocena Polityki P.: Frontend Karty Łodzianina jest technicznie lepiej zaimplementowany niż strony jednostek miejskich Łodzi — Consent Mode v2 działa, cookies nie lecą przed zgodą, brak trackerów third-party. Warstwa realnego przetwarzania danych obywateli (rejestracja, historia korzystania z karty, integracje z partnerami usługowymi) jest poza tym pomiarem — dotyczy backendu konsorcjum i wymaga analizy warstwy koncesyjnej PPP.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • Consent Mode v2 wdrożony poprawnie w warstwie GTM.
    W data_layer.json obecne są komendy, których brakuje na wszystkich analizowanych domenach jednostek miejskich:
    consent default z ad_storage: denied, ad_user_data: denied, ad_personalization: denied, analytics_storage: denied
    consent update podtrzymujący ten sam stan (użytkownik nie kliknął zgody w pomiarze)
    Cookies nie są ustawiane przed decyzją użytkownika. W całym cyklu pomiaru (etapy before_navigation, after_domcontentloaded, after_load, after_async_window) w cookie jar obecne wyłącznie JSESSIONID — cookie sesji aplikacyjnej (session-only, expires=-1), nie tracker.
  • Brak trackerów third-party na warstwie frontend.
    W scripts_dom.json nie występują: Facebook SDK, Facebook Pixel (fbevents.js), YouTube API (player_api, widgetapi), Twitter widgets, DoubleClick, ad server ads.biblioteka.lodz.pl, cookiebox TYPO3, Klaro z cookies.uml.lodz.pl, widget lodz.pl/livebar. Fundamentalnie prostsza konfiguracja niż domeny w rodzinie uml_portal i invest_in_lodz. Obecny własny cookiebar (assets/n/js/jquery.cookiebar.js) — mechanizm operatora, nie pozorne rozwiązanie pakietowe.
  • ⚠️ Consent Mode w trybie advanced — cookieless pingi do Google mimo denied.
    W payloads.ndjson potwierdzone dwa wywołania do region1.google-analytics.com/g/collect:
    en=page_view: tid=G-ZX3TE0H6N6, cid=1646069836.1772824623 (session-only, bez cookie persystencji), gcs=G100, gcd=13p3p3p2p5l1, npa=1, pscdl=denied
    en=scroll z epn.percent_scrolled=90: analogiczne parametry, gcd=13q3q3q2q5l1
    Google Consent Mode v2 w trybie advanced zakłada, że tagi ładują się mimo braku zgody, ale wysyłają „cookieless pings" bez persystentnego identyfikatora. Pingi zawierają jednak podstawowe dane: URL, tytuł strony (dt=Karta Łodzianina), rozdzielczość ekranu, wersję przeglądarki i platformy (uafvl), język, event type, głębokość scrolla. Adres IP jest widoczny dla Google z warstwy transportowej. W świetle orzeczenia TSUE Breyer (C-582/14) adres IP + user-agent stanowią dane osobowe. Interpretacja prawna trybu advanced była kwestionowana przez CNIL (Francja) i belgijski DPA — kontrowersja doktrynalna, nie oczywiste naruszenie.
  • ⚠️ Property GA4 G-ZX3TE0H6N6 — dedykowana, poza rodziną property Biblioteki.
    W przeciwieństwie do wszystkich analizowanych domen jednostek miejskich (które wysyłają dane do G-30F084ZHSL należącej do Biblioteki Miejskiej), Karta Łodzianina używa własnej property GA4. Nie ma cross-controller data flow z Biblioteką ani z rodziną uml_portal. Otwarte pytanie: kto jest administratorem property G-ZX3TE0H6N6 — konsorcjum PPP jako operator, czy Miasto Łódź jako koncesjodawca, czy współadministrowanie? Dane behawioralne (nawet w formie cookieless pingów) trafiają do tej property i są przetwarzane w Google Analytics przez podmiot administrujący konto — właściwe rozstrzygnięcie tego pytania powinno wynikać z umowy koncesji PPP i rejestrów czynności przetwarzania obu stron.
  • ⚠️ Skrypty zewnętrzne z publicznych CDN bez podpisu integralności (SRI).
    Strona ładuje: cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/10.10.0/sweetalert2.min.js (biblioteka alertów) oraz unpkg.com/leaflet@1.9.1/dist/leaflet.js (biblioteka map). Oba to popularne, powszechnie używane biblioteki front-end, ale załadowane bez atrybutu integrity (Subresource Integrity). Ryzyko supply chain w warstwie front-end. Sam fakt hostowania na CDN nie stanowi naruszenia RODO — jest to sygnał w warstwie higieny bezpieczeństwa aplikacji.
  • ⚠️ Cookie JSESSIONID ujawnia szczegół architektury.
    Wartość cookie zawiera sufiks .lodz_atena, który identyfikuje instancję serwera aplikacyjnego backendu (klasyczna sygnatura Java EE). To nie jest tracker ani naruszenie RODO — jest to element informacyjny o architekturze systemu, potencjalnie użyteczny dla analizy warstwy backend przetwarzania danych, poza zakresem skanera frontendowego.

Zakres tego pomiaru — co jest widoczne, a co nie

Pomiar objął landing page kartalodzianina.pl bez interakcji — bez logowania, bez rejestracji, bez korzystania z funkcji karty. Wszystkie wnioski powyżej dotyczą wyłącznie warstwy frontend widocznej dla anonimowego odwiedzającego.

Poza zakresem tego pomiaru pozostają:

  • Warstwa danych zarejestrowanych użytkowników karty (dane osobowe, historia korzystania z usług)
  • Integracje z partnerami usługowymi karty (transport miejski, usługi rabatowe, kulturalne)
  • Model prawny umowy koncesji PPP i klauzule o przetwarzaniu danych
  • Rejestr czynności przetwarzania konsorcjum i Miasta Łodzi jako potencjalnych współadministratorów
  • Zachowanie serwisu po kliknięciu „Akceptuj" (jaki stack tagów rozwija się po zgodzie)

Te warstwy wymagają analizy dokumentacyjnej umowy koncesji, dostępu do rejestrów czynności przetwarzania oraz pomiarów po interakcji użytkownika — poza zakresem skanera anonimowego pomiaru frontendowego.

Porównanie z domenami jednostek miejskich

W kontekście zestawienia z pozostałymi analizowanymi domenami łódzkiego ekosystemu (aquapark, botaniczny, BIP-y, CSS, CUW, CUWDPS, invest, capz, samorzad), frontend kartalodzianina.pl jest wyraźnie lepiej zaimplementowany pod kątem consent i higieny trackingu:

ElementDomeny jednostek miejskichkartalodzianina.pl
Consent Mode v2❌ Brak komend consent w data_layer✅ Poprawnie zaimplementowany (denied default)
Cookies przed zgodą❌ 8-11 trackerów natychmiast✅ Tylko JSESSIONID
Facebook SDK/Pixel⚠️ Załadowane (SDK; Pixel na aquapark)✅ Brak
YouTube API⚠️ Załadowane, cookies YouTube✅ Brak
Twitter widgets⚠️ Załadowane, iframe✅ Brak
ads.biblioteka.lodz.pl❌ Załadowane✅ Brak
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: kartalodzianina.pl

Najnowszy skan: 20260306_201700_53607701

Podstawowe informacje

  • URL: https://kartalodzianina.pl/
  • Status Sesji Sterylnej: 🔴 NARUSZENIE (Ślady śledzenia/ciasteczek przed zgodą)
  • Żądania Ogółem: 101
  • Żądania Śledzące: 2
  • Ustawione Cookies: 1

Wnioski i Naruszenia

  • ⚠️ Wykryto parametr gcd w requestach trackingowych.
  • • Wykryto elementy CMP: consent.
  • ⚠️ Po sesji istnieją potencjalnie śledzące cookies (1 szt.).

Przepływ Danych (Zidentyfikowani Odbiorcy)

Serwisy zewnętrzne odbierające dane w tej sesji: - region1.google-analytics.com

Detekcja CMP (Zarządzanie Zgodami)

  • Wykryto mechanizmy/zmienne sugerujące użycie: consent

Raport wygenerowany automatycznie na podstawie analizy ruchu sieciowego i zmian w DOM w pustej sesji przeglądarki (Przed kliknięciem przycisku zgody).

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookie banner bez linku do polityki.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://zlm.lodz.pl/

SCAN ID: 20260306_201918_010ea978

ADO: Zarząd Lokali Miejskich

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 GA4 G-30F084ZHSL (Biblioteka) + legacy UA UA-25825547-40 z gcd=13l3l3l2l1l1 + npa=1
  • 🔴 CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode Google
  • ⚠️ Facebook SDK + YouTube widget + Twitter widgets + livebar lodz.pl/livebar/
  • - Ad server z Biblioteki Miejskiej (ads.biblioteka.lodz.pl)
  • - Błędy CSP przy ładowaniu obrazków z GTM / livebar (nie blokują trackingu)
  • - Timeline stabilny. GA cookies ustawiane natychmiast po DOMContentLoaded.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Cross-controller sharing GA4 Biblioteki Miejskiej na stronie Zarządu Lokali Miejskich. CMP cookie-box nie przekazuje sygnału zgody. Typowy wzorzec dla domen uml_portal.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Linki w stopce prowadzą do BIP ZLM

https://zlm.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
WYŁĄCZONA

https://zdit.uml.lodz.pl/

SCAN ID: 20260306_201618_f1dbf1a2

ADO: Zarząd Dróg i Transportu

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania12
Cookies8

Wnioski Techniczne

  • ⚠️Przekierowanie na stronę uml.lodz.pl z pełnym stackiem trackingu.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40 AW-790142032 AW-10940984035
Ocena Polityki P.: Wykryto Google Ads (AW-790142032, AW-10940984035) aktywne przed zgodą. Cross-domain (G-30F084ZHSL, UA-25825547-40 wspólne z uml.lodz.pl) bez deklaracji współadministrowania (art. 26 RODO). Połączenie do connect.facebook.net odnotowane w przepływie danych. CMP (Klaro) skonfigurowane nieprawidłowo — gcd=13l3l3l2l1l1 wykryty przed decyzją użytkownika (art. 6 ust. 1 lit. a RODO).
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Strona BIP polityka prywatności/RODO w stopce. Przekierowuje na uml.lodz.pl

Brak zarchiwizowanych snapshotów dla tej domeny.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://aquapark.lodz.pl/ Grupa ŁOT

SCAN ID: 20260309_103954_565488af

ADO: Aquapark Fala sp. z o.o.

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania15
Cookies12

Wnioski Techniczne

  • 🔴 Rozbudowany stack trackingu uruchamiał się natychmiast po wejściu — GA4 (dwie property), Universal Analytics, DoubleClick, Facebook Pixel i GTM z aktywnym scroll trackingiem.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny.
  • 🔴 Ten sam identyfikator klienta (cid) transmitowany równolegle do dwóch GA4 property należących do różnych administratorów — Biblioteki Miejskiej (G-30F084ZHSL) i aquapark (G-N60T196VLF). Cross-controller identity sharing bez publicznej podstawy prawnej.
  • 🔴 Facebook Pixel zainicjalizowany (config Pixel ID 1232725160738501 pobrany, cookie _fbp ustawione, biblioteka fbevents.js załadowana). Beacon facebook.com/tr nie został odnotowany w oknie pomiaru — Pixel gotowy do transmisji zdarzeń.
  • 🔴 Ad server Biblioteki Miejskiej (ads.biblioteka.lodz.pl, Revive Adserver, endpoint /www/delivery/asyncjs.php) ładowany na komercyjnej stronie miejskiego obiektu — żądanie do domeny odrębnego administratora danych.
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 (non-personalized ads), ale cid, sid, page_view, event scroll z parametrem epn.percent_scrolled=90 transmitowane mimo to.
  • - Po sesji pozostaje 11 cookies śledzących (6× GA/GTM, 4× YouTube, 1× Facebook Pixel _fbp) + 1 cookie zarządzania sesją F5 BIG-IP (nie tracker).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
GTM-T843X8ZC UA-25825547-40 G-30F084ZHSL G-N60T196VLF FB:1232725160738501
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólne GTM/GA4 z uml.lodz.pl). Brak deklaracji współadministrowania (art. 26 RODO). Tagi uruchamiały się bez widocznego mechanizmu Consent Mode, który w momencie realizacji audytu realizowany był przez skrypt: https://aquapark.lodz.pl/typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js dostępny na Githubie w 2014 roku a aktualizowany 31.01.2016, czyli w mojej opinii dalece od aktualnych wymagań prawnych i technicznych. Ten sam pakiet TYPO3 (uml_portal) z tą samą wersją cache-buster, którą mamy na botaniczny, bip.uml i bip.zlm oraz innych serwisach z podobnym mechanizmem.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Oba linki w stopce

https://aquapark.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://mpk.lodz.pl/ Grupa ŁOT

SCAN ID: 20260309_103954_7e7bd54e

ADO: MPK Łódź sp. z o.o. (100% Miasto)

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania5
Cookies6

Wnioski Techniczne (Skaner)

  • 🔴 Brak CMP — scripts_dom.json nie zawiera żadnego mechanizmu zgody (brak cookie-box.js, klaro.js, Funding Choices, CookieYes). Zewnętrzny kod third-party ładowany bezwarunkowo.
  • 🔴 Facebook legacy SDK (connect.facebook.net/pl_PL/all.js) załadowany bezpośrednio na mpk.lodz.pl. Inicjalizacja potwierdzona w sessionStorage (fbssls_).
  • ⚠️ YouTube + Google Analytics ładowane pośrednio przez iframe lodz.pl/livebar/ (widget UMŁ). W kontekście livebar: YouTube widget API + gtag.js (UA-25825547-40 i G-30F084ZHSL).
  • - Cookies YouTube (VISITOR_INFO1_LIVE, YSC, __Secure-ROLLOUT_TOKEN) pojawiają się z partitionKey mpk.lodz.pl — efekt uboczny widgetu livebar.
  • - First-party: JSESSIONID (sesja) + custom cookie scrlPgrCrntPgId4CckNmsnews (scroll progress). Timeline stabilny, before_navigation = 0.
  • - Brak bezpośredniego embedu YouTube na mpk.lodz.pl. Brak beacona GA bezpośrednio na głównej domenie w tym pomiarze.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
Facebook all.js (legacy) UA-25825547-40 (w livebar) G-30F084ZHSL (w livebar)
Ocena Polityki P.: Brak CMP na stronie MPK Łódź Sp. z o.o. przy jednoczesnym ładowaniu legacy Facebook SDK bezpośrednio na domenie. Dodatkowy tracking (YouTube + GA) jest wprowadzany pośrednio przez widget lodz.pl/livebar/ (administrowany przez Bibliotekę Miejską). Naruszenie art. 173 Prawa telekomunikacyjnego jest oczywiste.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Całkowity brak CMP — w `scripts_dom.json` nie wykryto żadnego mechanizmu zgody cookies. Brak cookie-box.js, klaro.js, Funding Choices, CookieYes oraz Drupal EU Cookie Compliance. Zewnętrzny kod third-party (Facebook SDK) ładowany jest bezwarunkowo na każdej wizycie.
  • 🔴 Facebook legacy SDK bez kontroli — bezpośrednio na `mpk.lodz.pl` ładowany jest connect.facebook.net/pl_PL/all.js (dwie instancje). SDK inicjalizuje się (potwierdzone w sessionStorage: fbssls_ ze statusem „unknown”). Brak aktywnego Pixela, ale samo ładowanie SDK wymaga zgody.
  • ⚠️ Pośredni tracking przez widget livebar — iframe https://lodz.pl/livebar/ (UMŁ) wprowadza na stronę: YouTube widget API, gtag.js z UA-25825547-40 oraz G-30F084ZHSL. Cookies YouTube pojawiają się z partitionKey mpk.lodz.pl, mimo że nie ma bezpośredniego embedu YouTube na głównej domenie.
  • ⚠️ Legacy Universal Analytics w kontekście widgetuanalytics.js oraz gtag z UA-25825547-40 ładowane są wewnątrz ramki livebar. Na głównej domenie mpk.lodz.pl nie przechwycono bezpośredniego beacona GA.
  • - First-party infrastrukturaJSESSIONID (sesja aplikacyjna) oraz custom cookie scrlPgrCrntPgId4CckNmsnews=1 (wewnętrzny tracking postępu scrolla newsów). Oba są first-party i nieprofilujące.
  • - Ograniczenia wcześniejszego capture — `payloads.ndjson` był niekompletny. Pełny obraz (YouTube widget API + gtag w livebar) dały dopiero `requests.ndjson` i `responses.ndjson`.

Kontekst prawny (Miejskie Przedsiębiorstwo Komunikacyjne w Łodzi)

MPK Łódź Sp. z o.o. to komunalna spółka transportu publicznego (ustawa o publicznym transporcie zbiorowym). Strona pełni funkcję informacyjno-usługową i jest odwiedzana m.in. przez nieletnich (uczniowie). Nie przetwarza szczególnych kategorii danych w rozumieniu art. 9 RODO, ale jako podmiot publiczny podlega wysokim standardom transparentności.

Warstwa A — kultura compliance administratora. Na stronie nie wdrożono żadnego CMP, mimo że osadzany jest legacy Facebook SDK oraz widget livebar wprowadzający dodatkowe third-party cookies i skrypty. To nie jest błąd konfiguracji — to brak podstawowej warstwy zgody.

Warstwa B — wartość rynkowa sygnału. Niska po stronie MPK (brak własnego kontenera GA4/AdSense). Głównym beneficjentem trackingu jest widget livebar (YouTube + GA Biblioteki Miejskiej). Nie zwalnia to jednak administratora z obowiązku uzyskania zgody przed osadzeniem takich elementów.

Podsumowanie oceny – mpk.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — Facebook SDK bezpośrednio + tracking z livebar bez CMP
Obecność / skuteczność CMP🔴 CMP nie istnieje
Transmisja do podmiotów trzecich⚠️ Pośrednia (przez widget lodz.pl/livebar) + bezpośredni Facebook SDK
Facebook Pixel / SDK⚠️ Legacy SDK załadowany, brak aktywnego Pixela
YouTube / GA⚠️ Pośrednie przez livebar (UA-25825547-40 + G-30F084ZHSL)
Ogólna ocena🔴 Poważne naruszenie — brak CMP + legacy Facebook SDK na stronie komunikacji miejskiej

Werdykt: Na mpk.lodz.pl występuje jedno z najczystszych naruszeń w audycie — całkowity brak mechanizmu zgody cookies przy jednoczesnym ładowaniu legacy Facebook SDK bezpośrednio na domenie. Dodatkowy tracking (YouTube widget API oraz Google Analytics) jest wprowadzany pośrednio przez osadzony widget lodz.pl/livebar/. Nie ma tu bezpośredniego embedu YouTube ani własnego kontenera GA4 na głównej domenie, ale to nie zmniejsza wagi naruszenia art. 173 Prawa telekomunikacyjnego. MPK Łódź Sp. z o.o. udostępnia treści generujące third-party cookies bez jakiejkolwiek możliwości wyrażenia zgody przez użytkownika.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte w trybie incognito: widać banner i rozbudowaną sekcję "RODO w MPK" na stronie głównej.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
ŚREDNIA

https://www.makis.pl/ Grupa ŁOT

SCAN ID: 20260309_103954_f4656360

ADO: Miejska Arena Kultury i Sportu Sp z o.o. (100% Miasto)

Hosting/IT: IONOS-AS This is the joint network for IONOS, Fasthosts, Arsys, 1&1 Mail and Media and 1&1 Telecom. Formerly known as 1&1 Internet SE., DE

Żądania0
Cookies1

Wnioski Techniczne (Skaner)

  • CMP Cookiebot aktywny i skonfigurowany
  • Legacy UA UA-22415839-4 załadowany z type="text/plain" (zablokowany przez CMP)
  • - Narzędzie accessibility: Userway (cdn.userway.org)
  • - Brak GA4, Facebook Pixel, Google Ads, Crazy Egg
  • - Cookie: tylko sesyjne first-party (ba6ac1318ea3a0a881974ef325909922)
  • - Brak aktywnych beaconów marketingowych w payloadach

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-22415839-4
Ocena Polityki Prywatności: CMP Cookiebot aktywny. UA zablokowany przed zgodą. Brak nowoczesnego trackingu marketingowego (GA4 / Pixel / Ads). Stan faktyczny znacznie lepszy niż w większości domen uml.lodz.pl.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • CMP Cookiebot działa — załadowano skrypty Cookiebot (`consent.cookiebot.com`) oraz iframe consent. To jeden z niewielu przypadków w audycie, gdzie CMP jest realnie aktywny.
  • Legacy UA zablokowany — tag gtag/js?id=UA-22415839-4 ma atrybut type="text/plain", co oznacza, że Cookiebot go blokuje przed zgodą użytkownika.
  • ⚠️ Brak GA4 — używają starego Universal Analytics (UA-22415839-4). Nie wykryto GA4.
  • Brak Pixel / Ads / session recording — nie załadowano Facebook SDK (poza ewentualnym embedem), Google Ads ani narzędzi do nagrywania sesji.
  • - Userway (accessibility) — załadowano widget dostępności. Nie jest to tracker marketingowy, ale narzędzie wspomagające (zapisuje preferencje w localStorage).

Kontekst prawny (Miejska Arena Kultury i Sportu)

makis.pl to strona spółki miejskiej odpowiedzialnej za obiekty sportowe i kulturalne w Łodzi (hale sportowe, lodowisko, wydarzenia). Odwiedzający to głównie osoby zainteresowane sportem, wydarzeniami i biletami — kontekst znacznie mniej wrażliwy niż portale świadczeń czy schronisko.

Warstwa A — kultura compliance administratora. Najlepsza spośród przeanalizowanych domen miejskich. Używają profesjonalnego CMP (Cookiebot) i blokują tagi przed zgodą. To wzorcowe podejście w porównaniu do reszty ekosystemu uml.lodz.pl.

Warstwa B — wartość rynkowa sygnału behawioralnego. Niska/umiarkowana. Dane o zainteresowaniach wydarzeniami sportowymi i kulturalnymi mają ograniczoną wartość komercyjną.

Podsumowanie oceny – www.makis.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą✅ Nie — UA zablokowany przez Cookiebot
Skuteczność CMP✅ Cookiebot aktywny i blokujący
Nowoczesny tracking (GA4 / Pixel / Ads)✅ Brak
Narzędzia third-party⚠️ Tylko Userway (accessibility) + Cookiebot
Ogólna ocena✅ Pozytywna / Średnia — jedna z najlepszych domen w audycie

Werdykt: Na www.makis.pl zastosowano znacznie lepszą praktykę niż na większości domen miejskich. Używają Cookiebot jako CMP, który skutecznie blokuje legacy UA przed zgodą użytkownika. Nie wykryto GA4, Facebook Pixel ani Google Ads. Jedynym dodatkowym narzędziem jest Userway (accessibility). To przykład poprawnego podejścia do trackingu w spółce miejskiej.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookie banner odsyła do: https://makis.pl/polityka-prywatnosci — ta sama strona

https://makis.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
WYŁĄCZONA

https://pup-lodz.pl/

ADO: Powiatowy Urząd Pracy w Łodzi

Domena wyłączona z analizy

Strona pup-lodz.pl jest technicznym przekierowaniem prowadzącym do serwisu lodz.praca.gov.pl. Raport z audytu znajduje się przy docelowej domenie.

NARUSZENIE

https://lodz.praca.gov.pl/

SCAN ID: 20260309_104016_c5852ac5

ADO: Powiatowy Urząd Pracy w Łodzi

Hosting/IT: TM, PL

Żądania24
Cookies8

Wnioski Techniczne (Skaner)

  • 🔴 Ping GA4 do www.google-analytics.com/j/collect przed decyzją użytkownika: tid=G-07E8YF01RN, cid=698957334.
  • 🔴 Brak Google Consent Mode w jakiejkolwiek postaci — żaden parametr gcd, npa, dma, pscdl. Strona w ogóle nie sygnalizuje stanu zgody.
  • 🔴 Konfiguracja hybrydowa UA/GA4: cookies w formacie Universal Analytics (_ga=GA1.3.*, _gid, _gat), property GA4 (G-07E8YF01RN), endpoint legacy /j/collect, załadowany analytics.js. Niedokończona migracja po wygaszeniu UA (lipiec 2023).
  • 🔴 Google Maps embedded (2 iframe oddziałów PUP) — 15 requestów kafelków vector tiles do www.google.com/maps/vt. IP użytkownika transmitowany do Google przy renderowaniu każdego kafelka.
  • 🔴 Google Translate widget (translate.google.com/translate_a/element.js) i Google Fonts (fonts.gstatic.com) — dodatkowe transmisje IP do Google bez zgody.
  • ⚠️ Cookies GA scope na .praca.gov.pl — tożsamość analityczna wychodzi poza zakres tej domeny, propagowana na parent domain.
  • - 8 cookies stabilnie przez cały cykl. Infrastruktura: Liferay CMS (LFR_SESSION_STATE_10206) + F5 BIG-IP (BIGipServerPool_Wortal-new, klaster wortal-77bccd544c-g2xhq). data_layer.json pusty — brak GTM.
  • - Uwaga metodologiczna: brak pliku scripts_dom.json w uploadzie — pełna lista załadowanych skryptów niepotwierdzona, wnioski oparte na payloadach.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-07E8YF01RN
Ocena Polityki P.: Strona Powiatowego Urzędu Pracy w Łodzi — brak jakiejkolwiek implementacji Google Consent Mode, transmisja identyfikatora klienta oraz IP użytkownika do Google przez GA4, Google Maps, Translate i Fonts przed decyzją użytkownika. Populacja odwiedzająca (osoby bezrobotne, poszukujący pracy) objęta reżimem szczególnej ochrony z art. 9 RODO oraz ustawy z 20 kwietnia 2004 r. o promocji zatrudnienia i instytucjach rynku pracy.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Ping GA4 przed decyzją użytkownika. Wywołanie www.google-analytics.com/j/collect z tid=G-07E8YF01RN, cid=698957334.1773049222, dl=https://lodz.praca.gov.pl/, vp=1440x2200. Cookies _ga, _gid, _gat ustawione po after_domcontentloaded.
  • 🔴 Brak Google Consent Mode w jakiejkolwiek postaci. Payload GA4 nie zawiera żadnego z parametrów gcd, npa, dma, pscdl, gcs. Strona nie sygnalizuje ani zgody, ani odmowy zgody — klasyczna konfiguracja pre-Consent Mode. W przeciwieństwie do domen miejskich Łodzi (które przynajmniej wysyłają gcd=13l3l3l2l1l1 jako „consent not set"), lodz.praca.gov.pl nie ma żadnej sygnalizacji.
  • 🔴 Hybrydowa konfiguracja UA/GA4 — niedokończona migracja. Cookies w formacie Universal Analytics (_ga=GA1.3.698957334, _gid=GA1.3.1484994928, _gat=1), property GA4 (prefix G-), endpoint legacy /j/collect (nie region1.analytics.google.com/g/collect), załadowana biblioteka analytics.js (Universal Analytics). Google wygasił Universal Analytics 1 lipca 2023 r. — konfiguracja nie została w pełni zmigrowana przez ponad 2,5 roku.
  • 🔴 Google Maps embedded — 15 requestów vector tiles. Dwa osadzone iframe map (Powiatowy Urząd Pracy w Łodzi + Powiatowy Urząd Pracy nr 2) generują 15 requestów do www.google.com/maps/vt — każdy request kafelka mapy transmituje adres IP użytkownika, user-agent i szczegóły przeglądarki do Google. Bez zgody, bez podstawy prawnej wskazanej w polityce.
  • 🔴 Google Translate widget i Google Fonts — dodatkowe transmisje IP. Załadowany widget tłumaczenia strony (translate.google.com/translate_a/element.js + translate.googleapis.com + www.gstatic.com/_/translate_http/) transmituje IP do Google przy samym załadowaniu. Google Fonts z fonts.gstatic.com — analogicznie do argumentacji z wyroku LG München I z 20 stycznia 2022 r. (sygn. 3 O 17493/20), zgodnie z którym zdalne ładowanie Google Fonts stanowi naruszenie art. 6 ust. 1 RODO. Rozwiązanie techniczne dla obu: hosting lokalny.
  • ⚠️ Cookies GA scope na .praca.gov.pl — poza zakresem domeny. Ciasteczka _ga, _gid, _gat ustawione są na superdomenie .praca.gov.pl, nie na lodz.praca.gov.pl. Tożsamość analityczna użytkownika PUP w Łodzi jest propagowana na parent domain — poza zakresem lokalnej odpowiedzialności administratora tej domeny.
  • ⚠️ Uwaga metodologiczna — brak pliku scripts_dom.json w uploadzie. Pełna lista załadowanych skryptów nie została zweryfikowana. Wnioski oparte na plikach payloads.ndjson, cookies_timeline.ndjson, cookies.json, data_layer.json, iframes.json, local_storage.json, session_storage.json. Weryfikacja obecności lub braku dodatkowych skryptów trackingowych wymagałaby dostarczenia scripts_dom lub ponowienia pomiaru z tym plikiem.

Kontekst prawny (Powiatowy Urząd Pracy w Łodzi)

lodz.praca.gov.pl to strona lokalnego Powiatowego Urzędu Pracy w Łodzi, realizującego zadania z zakresu ustawy z 20 kwietnia 2004 r. o promocji zatrudnienia i instytucjach rynku pracy. Populacja odwiedzająca to głównie osoby bezrobotne, poszukujące pracy, osoby korzystające z form aktywizacji zawodowej (staże, szkolenia, dotacje na działalność gospodarczą) oraz pracodawcy zgłaszający oferty. Sam fakt odwiedzenia domeny PUP ujawnia okoliczności życiowe kwalifikowane w reżim szczególnej ochrony art. 9 RODO — dane o sytuacji socjalnej (bezrobocie), potencjalnie o stanie zdrowia (osoby z niepełnosprawnością rejestrujące się w PUP korzystają z odrębnych form wsparcia).

Administrator jednostki publicznej obsługującej wrażliwe grupy zawodowo-społeczne w 2026 roku, po ponad 8 latach obowiązywania RODO i po dwóch latach obowiązywania Google Consent Mode v2, wciąż wykorzystuje konfigurację pre-Consent Mode — bez jakiejkolwiek próby implementacji sygnalizacji zgody. Do tego dochodzi transmisja IP do Google przez trzy dodatkowe usługi (Maps, Translate, Fonts), z których wszystkie mają standardowe rozwiązania techniczne umożliwiające hosting lokalny lub eliminację zewnętrznego wywołania.

Podsumowanie oceny – lodz.praca.gov.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Silne naruszenie
Google Consent Mode🔴 Brak w jakiejkolwiek postaci
Konfiguracja GA (UA/GA4)🔴 Hybrydowa, niedokończona migracja po wygaszeniu UA
Google Maps embedded🔴 15 requestów tiles, IP do Google
Google Translate + Google Fonts🔴 Zdalne, transmisja IP
Cookies scope⚠️ Superdomena .praca.gov.pl
Skrypty third-party (Facebook, Twitter, YouTube, DoubleClick)✅ Brak
Monetyzacja reklamowa✅ Brak (AdSense, Ads, Pixel)
Kontekst prawny🔴 Podwyższony reżim (art. 9 RODO + ustawa o promocji zatrudnienia)
Ogólna ocena🔴 Słaba (całkowity brak Consent Mode + wrażliwy kontekst)

Werdykt: Strona Powiatowego Urzędu Pracy w Łodzi prowadzi pomiar GA4 (property G-07E8YF01RN) bez jakiejkolwiek implementacji Google Consent Mode — żadnego z parametrów gcd, npa, dma, pscdl w payloadach. Konfiguracja hybrydowa UA/GA4 z endpointem legacy /j/collect wskazuje na niedokończoną migrację po wygaszeniu Universal Analytics w lipcu 2023 r. Dodatkowe transmisje IP użytkownika do Google przez Google Maps (15 requestów kafelków), Google Translate i Google Fonts. Populacja odwiedzająca objęta reżimem szczególnej ochrony art. 9 RODO oraz ustawy o promocji zatrudnienia i instytucjach rynku pracy.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Link w menu „Urząd"

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://architektmiasta.uml.lodz.pl/

SCAN ID: 20260309_104021_61f1f764

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies11

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika. Po etapie after_domcontentloaded pojawiły się ciasteczka Google Analytics i YouTube.
  • ⚠️ Wykryto CMP Klaro, jednak nie blokował skutecznie tagów przed interakcją użytkownika. W data_layer.json brak komend consent default lub consent update.
  • ⚠️ Dane były transmitowane do podmiotów trzecich (Google, Meta, YouTube, Twitter) przed wyrażeniem zgody.
  • - Po sesji istnieją potencjalnie śledzące cookies (11 szt.).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólny kontener UA-25825547-40 z uml.lodz.pl i lodz.pl) bez deklaracji współadministrowania (art. 26 RODO). Tagi Google i Facebook uruchamiały się przed interakcją z mechanizmem zgody.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: Banner odsyła tylko do uml.lodz.pl, brak dedykowanego RODO w stopce

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
WYŁĄCZONA

https://teatr-muzyczny.lodz.pl/

SCAN ID: 20260309_104016_fff92000

ADO: Teatr Muzyczny w Łodzi

Hosting/IT: TARRCI-AS, PL

Żądania0
Cookies0

Wnioski Techniczne

  • ⚠️Pozycja wyłączona z oceny porównawczej z uwagi na problem TLS / niedostępność domeny wejściowej, uniemożliwiający przeprowadzenie pełnego testu sterylnej sesji na warunkach porównywalnych z pozostałymi domenami.

Analiza Polityki Prywatności vs Tagi

Brak weryfikowalnych kontenerów.

Ocena Polityki Prywatności: Wynik nierozstrzygnięty — domena WYŁĄCZONA Z OCENY.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Błąd TLS — certyfikat niezaufany. Strona niedostępna.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
ŚREDNIA

https://bip.biblioteka.lodz.pl/

SCAN ID: 20260309_104042_b2ce5a56

ADO: Biblioteka Miejska w Łodzi

Hosting/IT: CF-KRK, PL

Żądania0
Cookies1

Wnioski Techniczne

  • -Po sesji istnieją potencjalnie śledzące cookies (1 szt.).

Analiza Polityki Prywatności vs Tagi

Brak przypisanych kontenerów w tabeli dziennikarskiej.

Ocena Polityki Prywatności: Polityka prywatności prawidłowo deklaruje użycie zidentyfikowanych narzędzi (kodów śledzących) lub nie stwierdzono wyraźnego zatajenia (Pełna Zgodność deklaracji ze stanem faktycznym).
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: bip.biblioteka.lodz.pl

Wnioski

  • 🟢 Brak uruchamiania jakichkolwiek tagów śledzących przed decyzją użytkownika. Po after_domcontentloaded ustawione zostało tylko jedno ciasteczko sesyjne Joomla.
  • 🟢 Brak zewnętrznych skryptów śledzących i trackerów. Wszystkie skrypty są first-party (Joomla + szablon govarticle).
  • 🟢 Brak transmisji danych do podmiotów trzecich. Wszystkie requesty są first-party.
  • 🟢 Brak potrzeby stosowania CMP – strona nie ładuje żadnych trackerów wymagających zgody.

Ocena ogólna: Strona wypada wzorcowo pod względem prywatności. Jest to przykład dobrze zaprojektowanej strony publicznej administracji.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Link w menu serwisu

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://capz.lodz.pl/

SCAN ID: 20260309_104044_19fa3625

ADO: Centrum Administracyjne Pieczy Zastępczej

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies8

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny.
  • 🔴 Dane transmitowane do Google (GA4 G-30F084ZHSL + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api oraz iframe Twittera. Ad server Biblioteki Miejskiej (ads.biblioteka.lodz.pl) i widget lodz.pl/livebar osadzone na stronie.
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 wymusza non-personalized ads, ale cid, sid i page_view transmitowane mimo to.
  • - Po sesji pozostaje 8 cookies śledzących (4× GA, 4× YouTube). Brak Facebook Pixel — załadowany tylko Facebook SDK.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólne GA4/UA z innymi domenami miejskimi) bez deklaracji współadministrowania (art. 26 RODO) w polityce prywatności. Parametr gcd=13l3l3l2l1l1 wysyłany przed udzieleniem zgody (art. 6 ust. 1 lit. a RODO).
📄 Pokaż Ocenę Domeny

Podsumowanie Audytu: bip.biblioteka.lodz.pl

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
    Po etapie after_domcontentloaded automatycznie ustawiono ciasteczka Google Analytics (_ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40) oraz ciasteczka YouTube. Jednocześnie załadowano skrypty: google-analytics.com/analytics.js, googletagmanager.com/gtag/js (G-30F084ZHSL + UA-25825547-40), connect.facebook.net/sdk.js, youtube.com/player_api, platform.twitter.com/widgets.js.
  • 🔴 Wdrożono własny mechanizm zarządzania zgodą (CMP), który nie blokuje trackerów przed decyzją użytkownika.
    Na stronie obecny jest własny CMP: typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js. Mechanizm ładuje się, ale nie stanowi skutecznego opt-in — skrypty śledzące Google, Facebook, YouTube i Twitter uruchamiają się bez blokady. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane były transmitowane do podmiotów trzecich przed wyrażeniem zgody.
    Potwierdzone requesty:
    • Google Analytics 4 (G-30F084ZHSL) → region1.analytics.google.com/g/collect (page_view, cid=1213265501)
    • Universal Analytics (UA-25825547-40)
    • DoubleClick → stats.g.doubleclick.net/g/collect (ten sam cid)
    • Facebook SDK (bez Pixela — brak fbevents.js, brak cookie _fbp)
    • YouTube (player_api + widget)
    • Twitter widgets (iframe z origin=capz.lodz.pl)
    ads.biblioteka.lodz.pl (Revive Adserver należący do Biblioteki Miejskiej — odrębnego administratora danych)
    lodz.pl/livebar.js (widget livebar).
  • ⚠️ Ciasteczka YouTube są partitioned (CHIPS).
    Zawierają "partitionKey": "https://capz.lodz.pl" oraz "_crHasCrossSiteAncestor": true. Są izolowane per top-level origin — nie umożliwiają klasycznego cross-site trackingu, ale nadal stanowią dane zbierane bez zgody użytkownika.
  • ⚠️ Parametry Consent Mode wskazują na brak zintegrowanego sygnału zgody.
    W requestach widoczne są parametry: gcd=13l3l3l2l1l1, npa=1, dma=1, dma_cps=a. Konfiguracja wskazuje na „consent not set" z jednoczesnym wymuszeniem non-personalized ads — mimo to identyfikator klienta (cid), identyfikator sesji (sid) i event page_view są transmitowane.
  • ⚠️ Współdzielenie infrastruktury pomiarowej.
    Strona używa GA4 property G-30F084ZHSL (należącej do innego administratora niż CAPZ) oraz wspólnego kontenera UA-25825547-40 — obu obecnych na innych domenach miejskich. Dodatkowo ładuje skrypt z ads.biblioteka.lodz.pl, transmitując żądanie do zewnętrznego ad servera bez publicznej deklaracji współadministrowania.

Podsumowanie oceny – capz.lodz.pl

KryteriumOcenaKomentarz
Uruchamianie trackerów przed zgodą🔴 Silne naruszeniePotwierdzone przez cookies_timeline + payloads
Skuteczność wdrożonego CMP🔴 Niska / pozornaWłasny cookie-box TYPO3 nie blokuje tagów
Transmisja danych do podmiotów trzecich🔴 TakGoogle (w tym DoubleClick), Meta, YouTube, Twitter, ads.biblioteka.lodz.pl
Parametry Consent Mode⚠️ Consent not setgcd=13l3l3l2l1l1 + npa=1
Ciasteczka YouTube⚠️ Partitioned (CHIPS)Izolowane per top-level origin
Wspólna infrastruktura pomiarowa⚠️ TakWspólny GA4 (należący do innego administratora) + UA + ad server Biblioteki
Ogólna ocena🔴 SłabaPozorny CMP przy pełnym stack'u trackerów Google + Meta + YouTube + Twitter
---

Werdykt:
Na stronie capz.lodz.pl wdrożono własny CMP (cookie-box z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika. Ten sam identyfikator klienta (cid) transmitowany jest równolegle do property GA4 G-30F084ZHSL (należącej do innego administratora danych niż CAPZ) oraz do DoubleClick. Strona transmituje dane do Google, Meta, YouTube, Twittera i zewnętrznego ad servera Biblioteki Miejskiej bez skutecznej zgody i bez publicznej deklaracji współadministrowania z art. 26 RODO.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Link „Ochrona Danych" w menu

https://capz.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://botaniczny.lodz.pl/

SCAN ID: 20260309_104043_d3c46fd7

ADO: Ogród Botaniczny w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania9
Cookies9

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wdrożono własny CMP (cookiebox TYPO3), ale jest nieskuteczny – tagi Google, Facebook i YouTube ładują się bez blokady.
  • 🔴 Dane były transmitowane do Google, Meta, YouTube, Twitter i DoubleClick przed wyrażeniem zgody.
  • ⚠️ Parametry Consent Mode wskazują na „consent not set” (gcd=13l3l3l2l1l1, npa=1).
  • - Po sesji istnieją potencjalnie śledzące cookies (9 szt.).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólny GA4 G-30F084ZHSL i UA-25825547-40 z innymi domenami uml.lodz.pl). Wdrożono własny CMP, ale jest nieskuteczny. Brak deklaracji DoubleClick i YouTube. Wspólna infrastruktura z Biblioteką Miejską (ten sam GA4 + skrypt z ads.biblioteka.lodz.pl).
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

RODO ZZM (Zarząd Zieleni Miejskiej); klauzula monitoring: https://zzm.lodz.pl/files/public/uploads/RODO/KLAUZULA_INFORMACYJNA__MONITORING_ZZM.pdf

https://www.botaniczny.lodz.pl Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://cuwdps.uml.lodz.pl/

SCAN ID: 20260309_104106_41c1beb1

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies10

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto własny CMP (cookiebox TYPO3 z pakietu uml_portal), który nie blokuje ładowania trackerów przed decyzją użytkownika — mechanizm pozorny.
  • 🔴 Dane transmitowane do Google (GA4 G-30F084ZHSL + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api, iframe Twittera oraz skrypt ad servera Biblioteki Miejskiej (ads.biblioteka.lodz.pl).
  • ⚠️ Cookies GA ustawione na superdomenie .uml.lodz.pl — tożsamość analityczna wspólna z uml.lodz.pl, bip.uml.lodz.pl i cuw.uml.lodz.pl (szczegóły w rozwinięciu).
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 wymusza non-personalized ads, ale cid, sid i page_view transmitowane mimo to — sygnał zasilający modele audience Google idzie i tak.
  • - Po sesji pozostaje 9 cookies śledzących (4× GA, 5× YouTube) + 1 cookie zarządzania sesją F5 BIG-IP (nie tracker). Architektura hostingowa taka sama jak bip.uml.lodz.pl.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie cross-subdomain (wspólny scope .uml.lodz.pl) bez deklaracji współadministrowania (art. 26 RODO). Strona jednostki obsługującej Domy Pomocy Społecznej — sam fakt wizyty ujawnia okoliczności życiowe kwalifikowane w reżim szczególnej ochrony z art. 9 RODO (opieka nad seniorem, osobą z niepełnosprawnością, chorobą psychiczną).
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
    Po etapie after_domcontentloaded automatycznie ustawiono ciasteczka Google Analytics (_ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40) oraz ciasteczka YouTube. Załadowano skrypty: google-analytics.com/analytics.js, googletagmanager.com/gtag/js (G-30F084ZHSL + UA-25825547-40), connect.facebook.net/sdk.js, youtube.com/player_api, platform.twitter.com/widgets.js, ads.biblioteka.lodz.pl/www/delivery/asyncjs.php.
  • 🔴 Wdrożono własny mechanizm zarządzania zgodą (CMP), który nie blokuje trackerów przed decyzją użytkownika.
    Na stronie obecny jest własny CMP: typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js. Mechanizm ładuje się, ale nie stanowi skutecznego opt-in — skrypty śledzące uruchamiają się bez blokady. W data_layer.json brak komend consent default ani consent update. W przeciwieństwie do css.samorzad.lodz.pl nie wdrożono dodatkowo Klaro z centralnej infrastruktury cookies.uml.lodz.pl.
  • 🔴 Dane były transmitowane do podmiotów trzecich przed wyrażeniem zgody.
    Potwierdzone requesty:
    • Google Analytics 4 (G-30F084ZHSL, należąca do Biblioteki Miejskiej) → region1.analytics.google.com/g/collect (page_view, cid=993688511)
    • Universal Analytics (UA-25825547-40) — cookie _gat_gtag_UA_25825547_40 ustawione
    • DoubleClick → stats.g.doubleclick.net/g/collect (ten sam cid)
    • Facebook SDK (bez Pixela — brak fbevents.js, brak cookie _fbp)
    • YouTube (player_api + widgetapi)
    • Twitter widgets (iframe z origin=cuwdps.uml.lodz.pl)
    ads.biblioteka.lodz.pl — Revive Adserver Biblioteki Miejskiej (odrębny administrator danych)
  • 🔴 Cross-subdomain scope cookies GA — najsilniejszy wektor tej domeny.
    Ciasteczka _ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40 ustawione są na superdomenie .uml.lodz.pl, nie na .cuwdps.uml.lodz.pl. Oznacza to, że CUWDPS dzieli tożsamość analityczną z głównym portalem miasta (uml.lodz.pl), z Biuletynem Informacji Publicznej urzędu (bip.uml.lodz.pl) oraz z Centrum Usług Wspólnych (cuw.uml.lodz.pl) — pomiar identyfikuje tego samego użytkownika przez cztery formalnie odrębne serwisy różnych jednostek miejskich, mimo że jednostki te obsługują zupełnie różne obszary tematyczne (świadczenia z zakresu opieki społecznej vs. drogi, transport, inwestycje).
  • ⚠️ Ciasteczka YouTube są partitioned (CHIPS), ale z anomalią.
    Zawierają "partitionKey": "https://uml.lodz.pl" (nie cuwdps.uml.lodz.pl) oraz "_crHasCrossSiteAncestor": true. Powtarzalna cecha pomiarów na subdomenach *.uml.lodz.pl.
  • ⚠️ Parametry Consent Mode wskazują na brak zintegrowanego sygnału zgody.
    W requestach widoczne są parametry: gcd=13l3l3l2l1l1, npa=1, dma=1, dma_cps=a. Konfiguracja wskazuje na „consent not set" z jednoczesnym wymuszeniem non-personalized ads — mimo to identyfikator klienta (cid), identyfikator sesji (sid) i event page_view są transmitowane. Flaga npa=1 ogranicza personalized display, ale nie wyłącza zasilania modeli audience Google — sygnał behawioralny wchodzi do systemu i tak.

Kontekst prawny i rynkowy (Centrum Usług Wspólnych Domów Pomocy Społecznej)

cuwdps.uml.lodz.pl to strona Centrum Usług Wspólnych Domów Pomocy Społecznej w Łodzi — jednostki budżetowej Miasta Łodzi realizującej wspólną obsługę dla miejskich Domów Pomocy Społecznej. DPS to instytucje opieki całodobowej dla osób w podeszłym wieku wymagających wsparcia, osób z niepełnosprawnościami intelektualnymi, osób z chorobami psychicznymi oraz osób przewlekle somatycznie chorych. Sam fakt odwiedzenia tej domeny ujawnia okoliczności życiowe kwalifikowane w reżim szczególnej ochrony art. 9 RODO — dane o stanie zdrowia w kontekście kwalifikacji do opieki instytucjonalnej wymagają orzeczeń lekarskich, orzeczeń o niepełnosprawności lub rozpoznań psychiatrycznych.

Reżim prawny obejmuje: ustawę z 12 marca 2004 r. o pomocy społecznej (procedury kwalifikacji, umieszczania i obsługi DPS), ustawę z 19 sierpnia 1994 r. o ochronie zdrowia psychicznego (dla DPS przyjmujących osoby z chorobami psychicznymi) oraz rozporządzenie Ministra Rodziny i Polityki Społecznej w sprawie domów pomocy społecznej. Administrator obsługujący ten obszar jest zobowiązany do zachowania szczególnej dyskrecji wobec osób ubiegających się o umieszczenie w DPS, ich rodzin oraz mieszkańców placówek.

Warstwa A — kultura compliance administratora. CUWDPS jest jednostką obsługującą placówki opieki całodobowej, w których przebywają jedne z najbardziej wrażliwych grup społecznych — seniorzy w kryzysie zdrowotnym, osoby z niepełnosprawnościami intelektualnymi, osoby z chorobami psychicznymi. Jednostka o takim mandacie powinna reprezentować podwyższony standard higieny compliance we wszystkich swoich systemach cyfrowych. Faktyczna implementacja: pozorny cookiebox TYPO3, transmisja identyfikatora klienta do Google, DoubleClick, Facebooka i ad servera Biblioteki Miejskiej przed jakąkolwiek decyzją użytkownika. Konfiguracja techniczna trackingu jest identyczna z konfiguracją komercyjnego aquaparku miejskiego — administrator nie różnicuje profilu ryzyka między odwiedzającym basen a rodziną szukającą miejsca w DPS dla starzejącej się matki.

Warstwa B — wartość rynkowa sygnału behawioralnego. Segment „użytkownicy powiązani z organizacją opieki instytucjonalnej dla bliskich" jest wysoce wartościowym inventory reklamowym dla sektorów silver economy: prywatnych domów opieki (bezpośrednia konkurencja komercyjna z publicznymi DPS), firm oferujących opiekę domową jako alternatywę dla DPS, sklepów z artykułami rehabilitacyjnymi i pielęgnacyjnymi, kancelarii prawnych specjalizujących się w prawie spadkowym i opiekuńczym, dostawców ubezpieczeń zdrowotnych dla seniorów, domów pogrzebowych. Transmisja cid do GA4 i DoubleClick zasila modele audience buildingu Google, które następnie są kupowane przez reklamodawców z tych sektorów. Fakt, że sygnał pochodzi z domeny publicznej jednostki opiekuńczej, oznacza że reklamodawca konkurencyjny wobec DPS może kupić profil rodziny, która właśnie ubiega się o umieszczenie bliskiego w DPS publicznym. Miasto nieświadomie dostarcza rynkowi remarketingu segmenty, na których zarabiają jego bezpośredni konkurenci komercyjni.

Podsumowanie oceny – cuwdps.uml.lodz.pl

KryteriumOcenaKomentarz
Uruchamianie trackerów przed zgodą🔴 Silne naruszeniePotwierdzone przez cookies_timeline + payloads
Skuteczność wdrożonego CMP🔴 Niska / pozornaWłasny cookie-box TYPO3 nie blokuje tagów (brak Klaro)
Transmisja danych do podmiotów trzecich🔴 TakGoogle (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl
Parametry Consent Mode⚠️ Consent not set + npa=1Sygnał zasila modele audience mimo non-personalized flag
Cross-subdomain scope🔴 Tak — na całą rodzinę .uml.lodz.plWspólna tożsamość z uml.lodz.pl, bip.uml.lodz.pl, cuw.uml.lodz.pl
Ciasteczka YouTube⚠️ Partitioned (CHIPS)partitionKey https://uml.lodz.pl
Kontekst prawny🔴 Podwyższony reżimArt. 9 RODO + ustawa o pomocy społecznej + ustawa o ochronie zdrowia psychicznego
Wartość rynkowa profilu🔴 Sektor silver economySegment audience wartościowy dla komercyjnej konkurencji publicznych DPS
Ogólna ocena🔴 Kwalifikowane naruszenieNajwrażliwsza populacja odwiedzających w analizowanej rodzinie domen

Werdykt: Na stronie cuwdps.uml.lodz.pl wdrożono pozorny CMP (cookiebox TYPO3), który nie blokuje ładowania trackerów przed decyzją użytkownika. Ta sama tożsamość klienta (cid) transmitowana jest równolegle do GA4 należącej do Biblioteki Miejskiej oraz do DoubleClick, a cross-subdomain scope cookies na .uml.lodz.pl identyfikuje użytkownika przez cztery formalnie odrębne serwisy — CUWDPS, CUW, UMŁ i BIP urzędu. Domena obsługuje jednostkę odpowiedzialną za miejskie Domy Pomocy Społecznej — okoliczność życiowa objęta podwyższonym reżimem ochrony z art. 9 RODO oraz obowiązkami wynikającymi z ustawy o pomocy społecznej i ustawy o ochronie zdrowia psychicznego. Sygnał behawioralny z tej domeny stanowi wartościowe inventory reklamowe dla sektora silver economy — w tym dla komercyjnej konkurencji publicznych DPS.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: Linki z bannera zwracają błąd 404. Dedykowana strona RODO dostępna w menu.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://css.samorzad.lodz.pl/

SCAN ID: 20260309_104105_22f6777d

ADO: Centrum Świadczeń Socjalnych w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies10

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto dwa równoczesne mechanizmy CMP: własny cookiebox TYPO3 (uml_portal) oraz Klaro hostowany na centralnej domenie cookies.uml.lodz.pl. Żaden z nich nie blokuje ładowania trackerów przed decyzją użytkownika.
  • 🔴 Dane transmitowane do Google (GA4 G-30F084ZHSL + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api, iframe Twittera oraz skrypt ad servera Biblioteki Miejskiej (ads.biblioteka.lodz.pl) i widget lodz.pl/livebar.
  • 🔴 Trzy równoczesne kontenery Google Analytics: GA4 G-30F084ZHSL (należąca do innego administratora), Universal Analytics UA-25825547-40 (shared) oraz UA-178238957-1 (dedykowany samorzad). Dwa równoczesne config UA w data_layer.
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 wymusza non-personalized ads, ale cid, sid i page_view transmitowane mimo to.
  • - Po sesji pozostaje 10 cookies śledzących (6× GA/UA, 4× YouTube). Brak Facebook Pixel — załadowany tylko Facebook SDK. Cookies GA ustawione na superdomenie .samorzad.lodz.pl — cross-subdomain identity persistence.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 UA-178238957-1 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie cross-domain (wspólne GA4/UA z innymi domenami miejskimi) bez deklaracji współadministrowania (art. 26 RODO). Strona przetwarza dane osób w kontekście świadczeń socjalnych — brak analizy proporcjonalności w rozumieniu art. 5(1)(c) RODO oraz szczególnego reżimu z art. 9 RODO.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
    Po etapie after_domcontentloaded automatycznie ustawiono ciasteczka Google Analytics (_ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40, _gat_gtag_UA_178238957_1) oraz ciasteczka YouTube. Załadowano skrypty: google-analytics.com/analytics.js, googletagmanager.com/gtag/js (G-30F084ZHSL + UA-25825547-40 + UA-178238957-1), connect.facebook.net/sdk.js, youtube.com/player_api, platform.twitter.com/widgets.js, ads.biblioteka.lodz.pl/www/delivery/asyncjs.php, lodz.pl/livebar.js.
  • 🔴 Wdrożono dwa równoczesne mechanizmy CMP — żaden z nich nie blokuje trackerów.
    Na stronie jednocześnie obecne są dwa systemy zarządzania zgodą:
    • własny cookiebox TYPO3 z pakietu uml_portal (typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js),
    • Klaro CMP hostowany na centralnej infrastrukturze UMŁ: cookies.uml.lodz.pl/klaro.js, cookies.uml.lodz.pl/cookie_config/config-c0e0b1f8065c1e3d26d050bac5180c66.js, cookies.uml.lodz.pl/embed.js.
    Klaro to profesjonalne, poważne rozwiązanie compliance — wybór tego narzędzia sugeruje świadomą decyzję o unifikacji systemu zgody w portalach miejskich. Jednak w praktyce oba mechanizmy ładują się bez efektu blokującego: skrypty śledzące Google, Facebook, YouTube i Twitter uruchamiają się przed jakąkolwiek decyzją użytkownika. W data_layer.json brak komend consent default ani consent update. Sam fakt uruchomienia Klaro obok cookiebox TYPO3 pokazuje, że administrator był świadomy obowiązku prawnego — implementacja jednak zakończyła się na załadowaniu skryptu.
  • 🔴 Dane były transmitowane do podmiotów trzecich przed wyrażeniem zgody.
    Potwierdzone requesty:
    • Google Analytics 4 (G-30F084ZHSL) → region1.analytics.google.com/g/collect (page_view, cid=1402779805)
    • Universal Analytics (UA-25825547-40) — cookie _gat_gtag_UA_25825547_40 ustawione (throttle token po pingu)
    • Universal Analytics (UA-178238957-1) — cookie _gat_gtag_UA_178238957_1 ustawione
    • DoubleClick → stats.g.doubleclick.net/g/collect (ten sam cid)
    • Facebook SDK (bez Pixela — brak fbevents.js, brak cookie _fbp)
    • YouTube (player_api + widgetapi)
    • Twitter widgets (iframe z origin=css.samorzad.lodz.pl)
    ads.biblioteka.lodz.pl — Revive Adserver Biblioteki Miejskiej (odrębny administrator danych)
    lodz.pl/livebar.js — widget livebar
    Ta sama tożsamość klienta (cid=1402779805) transmitowana równolegle do GA4 należącej do innego administratora (Biblioteka) oraz do DoubleClick.
  • 🔴 Trzy równoczesne kontenery Google Analytics.
    W data_layer.json widoczne są dwa równoczesne config: UA-25825547-40 i UA-178238957-1. Do tego dochodzi GA4 G-30F084ZHSL. To pierwsza analizowana domena z rodziny uml_portal z trzema równoczesnymi identyfikatorami pomiarowymi Google. UA-178238957-1 sprawia wrażenie dedykowanego dla portalu samorządowego, ale współistnienie z shared UA-25825547-40 skutkuje podwójnym streamem tych samych danych do dwóch różnych property.
  • ⚠️ Ciasteczka YouTube są partitioned (CHIPS).
    Zawierają "partitionKey": "https://samorzad.lodz.pl" oraz "_crHasCrossSiteAncestor": true. Są izolowane per top-level origin — nie umożliwiają klasycznego cross-site trackingu, ale nadal stanowią dane zbierane bez zgody użytkownika.
  • ⚠️ Parametry Consent Mode wskazują na brak zintegrowanego sygnału zgody.
    W requestach widoczne są parametry: gcd=13l3l3l2l1l1, npa=1, dma=1, dma_cps=a. Konfiguracja wskazuje na „consent not set" z jednoczesnym wymuszeniem non-personalized ads — mimo to identyfikator klienta (cid), identyfikator sesji (sid) i event page_view są transmitowane. Ani cookiebox TYPO3, ani Klaro nie integrują się z warstwą Google Consent Mode.
  • ⚠️ Cross-subdomain scope cookies GA.
    Ciasteczka _ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40, _gat_gtag_UA_178238957_1 ustawione są na superdomenie .samorzad.lodz.pl, nie na .css.samorzad.lodz.pl. Oznacza to, że tożsamość analityczna użytkownika Centrum Świadczeń Socjalnych jest kontynuowana między wszystkimi subdomenami portalu samorządowego.

Kontekst prawny (Centrum Świadczeń Socjalnych)

css.samorzad.lodz.pl to strona Centrum Świadczeń Socjalnych w Łodzi — jednostki realizującej zadania z zakresu pomocy społecznej na podstawie ustawy z 12 marca 2004 r. o pomocy społecznej oraz świadczeń rodzinnych i wychowawczych. Osoby odwiedzające tę stronę to najczęściej beneficjenci pomocy społecznej lub osoby ubiegające się o świadczenia — rodziny w trudnej sytuacji ekonomicznej, seniorzy, osoby z niepełnosprawnościami, osoby korzystające z pomocy dla ofiar przemocy domowej.

Sam fakt odwiedzenia tej domeny ujawnia pośrednio okoliczności życiowe użytkownika kwalifikowane w reżim szczególnej ochrony art. 9 RODO (dane o stanie zdrowia w kontekście świadczeń dla osób z niepełnosprawnościami, dane o sytuacji socjalnej). Transmisja identyfikatora klienta (cid) do trzech kontenerów Google Analytics, DoubleClick, Facebook SDK, ad servera Biblioteki Miejskiej i widgetu Twittera bez skutecznej zgody użytkownika nie spełnia standardu proporcjonalności z art. 5(1)(c) RODO. Dodatkowo administrator jest zobowiązany do zachowania szczególnej dyskrecji wobec beneficjentów pomocy społecznej.

Konfiguracja techniczna trackingu na css.samorzad.lodz.pl jest identyczna z konfiguracją komercyjnego obiektu miejskiego (aquapark.lodz.pl) — te same identyfikatory Google, ten sam gcd=13l3l3l2l1l1, ten sam pozorny cookiebox, ten sam ad server Biblioteki. Administrator nie różnicuje profilu ryzyka między odwiedzającym basen a osobą szukającą informacji o świadczeniu dla ofiary przemocy.

Podsumowanie oceny – css.samorzad.lodz.pl

KryteriumOcenaKomentarz
Uruchamianie trackerów przed zgodą🔴 Silne naruszeniePotwierdzone przez cookies_timeline + payloads
Skuteczność wdrożonych CMP🔴 Niska / pozornaDwa równoczesne CMP (cookiebox TYPO3 + Klaro), żaden nie blokuje tagów
Transmisja danych do podmiotów trzecich🔴 TakGoogle (3 kontenery + DoubleClick), Meta, YouTube, Twitter, ads.biblioteka.lodz.pl, livebar
Parametry Consent Mode⚠️ Consent not setgcd=13l3l3l2l1l1 + npa=1
Kontekst prawny🔴 Podwyższony reżimArt. 9 RODO + ustawa o pomocy społecznej z 12 marca 2004 r.
Ciasteczka YouTube⚠️ Partitioned (CHIPS)Izolowane per top-level origin
Cross-subdomain scope🔴 TakCookies GA na .samorzad.lodz.pl
Ogólna ocena🔴 Kwalifikowane naruszenieWrażliwy kontekst podmiotowy przy pełnym stack'u trackerów Google + Meta + YouTube + Twitter

Werdykt: Na stronie css.samorzad.lodz.pl wdrożono dwa równoczesne mechanizmy CMP (cookiebox TYPO3 z pakietu uml_portal oraz Klaro hostowany na centralnej infrastrukturze cookies.uml.lodz.pl) — żaden nie blokuje ładowania trackerów przed decyzją użytkownika. Ten sam identyfikator klienta transmitowany jest równolegle do trzech kontenerów Google Analytics (w tym GA4 należącej do odrębnego administratora danych — Biblioteki Miejskiej) oraz do DoubleClick. Konfiguracja techniczna jest identyczna z konfiguracją komercyjnego obiektu miejskiego (aquapark.lodz.pl), mimo że domena obsługuje beneficjentów pomocy społecznej — okoliczność życiowa objęta podwyższonym reżimem ochrony z art. 9 RODO oraz obowiązkiem szczególnej dyskrecji z ustawy o pomocy społecznej.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Cookies + RODO w stopce

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://invest.lodz.pl/

SCAN ID: 20260309_104106_fb027515

ADO: Urząd Miasta Łodzi (Invest in Łódź)

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania6
Cookies6

Wnioski Techniczne

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wykryto dwa równoczesne mechanizmy CMP: własny cookiebox TYPO3 (z pakietu invest_in_lodz) oraz Klaro hostowany na centralnej infrastrukturze cookies.uml.lodz.pl. Żaden z nich nie blokuje ładowania trackerów przed decyzją użytkownika.
  • 🔴 Dane transmitowane do Google (GA4 G-30F084ZHSL + DoubleClick) przed jakąkolwiek decyzją. Załadowano również Facebook SDK, YouTube player_api, iframe Twittera oraz skrypt ad servera Biblioteki Miejskiej (ads.biblioteka.lodz.pl). Formularz newsletter'a zbiera adresy e-mail do bazy newsletter.uml.lodz.pl.
  • ⚠️ Wykryto załadowanie skryptu countUp.js z domeny inorganik.github.io (GitHub Pages) — bez podpisu integralności (SRI). Ryzyko supply chain dla publicznej strony miejskiej.
  • 🔴 Google Consent Mode: parametr gcd=13l3l3l2l1l1 we wszystkich wywołaniach /g/collect wskazuje na brak zintegrowanego sygnału zgody. Flaga npa=1 ogranicza personalized display, ale sygnał behawioralny wchodzi do modeli audience Google i tak.
  • - Po sesji pozostaje 6 cookies śledzących (2× GA, 4× YouTube) — nietypowo mniej niż na innych domenach miejskich; brak klasycznych _ga i _gid mimo załadowanego analytics.js. Identyfikacja klienta odbywa się przez _ga_30F084ZHSL i parametr cid w pingu.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Aktywne śledzenie (wspólny GA4/UA z innymi domenami miejskimi) bez deklaracji współadministrowania (art. 26 RODO). Strona promocyjna dla inwestorów — profil odwiedzającego (decydent M&A / corporate real estate) transmitowany do Google Ads, gdzie może zostać kupiony przez konkurencyjne miasta prowadzące analogiczną kampanię inwestycyjną.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
    Po etapie after_domcontentloaded automatycznie ustawiono ciasteczka Google Analytics (_ga_30F084ZHSL, _gat_gtag_UA_25825547_40) oraz ciasteczka YouTube. Załadowano skrypty: google-analytics.com/analytics.js, googletagmanager.com/gtag/js (G-30F084ZHSL + UA-25825547-40), connect.facebook.net/sdk.js, youtube.com/player_api, platform.twitter.com/widgets.js, ads.biblioteka.lodz.pl/www/delivery/asyncjs.php. Nietypowo mało cookies GA (brak klasycznych _ga i _gid mimo załadowanego analytics.js) — konfiguracja gtag prawdopodobnie ogranicza część storage'u, jednak identyfikacja klienta odbywa się przez _ga_30F084ZHSL i parametr cid w pingu.
  • 🔴 Wdrożono dwa równoczesne mechanizmy CMP — żaden z nich nie blokuje trackerów.
    Na stronie jednocześnie obecne są dwa systemy zarządzania zgodą:
    • własny cookiebox TYPO3 z pakietu invest_in_lodz (typo3conf/ext/invest_in_lodz/Resources/Public/Vendors/cookie-box/cookiebox.js) — inny pakiet niż w rodzinie uml_portal, ale identyczna implementacja pozorna,
    • Klaro CMP hostowany na centralnej infrastrukturze UMŁ: cookies.uml.lodz.pl/klaro.js, cookies.uml.lodz.pl/embed.js, plik konfiguracyjny cookies.uml.lodz.pl/cookie_config/config-c287af79d1bade7fe699eb8513f8c534.js.
    Klaro to profesjonalne rozwiązanie compliance, jego obecność świadczy o świadomości obowiązku prawnego. W praktyce jednak oba mechanizmy ładują się bez efektu blokującego — skrypty Google, Facebook, YouTube i Twitter uruchamiają się przed jakąkolwiek decyzją użytkownika. W data_layer.json brak komend consent default ani consent update.
  • 🔴 Dane były transmitowane do podmiotów trzecich przed wyrażeniem zgody.
    Potwierdzone requesty:
    • Google Analytics 4 (G-30F084ZHSL, należąca do Biblioteki Miejskiej) → region1.analytics.google.com/g/collect (page_view, cid=2057842702)
    • Universal Analytics (UA-25825547-40) — cookie _gat_gtag_UA_25825547_40 ustawione
    • DoubleClick → stats.g.doubleclick.net/g/collect (ten sam cid)
    • Facebook SDK (bez Pixela — brak fbevents.js, brak cookie _fbp)
    • YouTube (player_api + widgetapi)
    • Twitter widgets (iframe z origin=invest.lodz.pl)
    ads.biblioteka.lodz.pl — Revive Adserver Biblioteki Miejskiej (odrębny administrator danych)
    newsletter.uml.lodz.pl — formularz zbierający adresy e-mail (webforms_id=5) osadzony jako iframe.
  • ⚠️ Zewnętrzny skrypt z GitHub Pages bez podpisu integralności — ryzyko supply chain.
    Strona ładuje bibliotekę countUp.js bezpośrednio z inorganik.github.io/countUp.js/dist/countUp.umd.js — infrastruktura deweloperska GitHub Pages, bez SLA, bez atrybutu integrity (Subresource Integrity). Publiczna strona miejska powinna hostować własne kopie skryptów zewnętrznych lub weryfikować je hashem SRI. Skrypt animacji liczników sam w sobie nie stanowi trackera, ale odpowiedzialność za bezpieczeństwo warstwy front-end wymaga standardu wyższego niż inline load z konta prywatnego dewelopera.
  • ⚠️ Consent Mode wskazuje na brak zintegrowanego sygnału zgody.
    Parametry: gcd=13l3l3l2l1l1, npa=1, dma=1, dma_cps=a. Konfiguracja „consent not set" z jednoczesnym wymuszeniem non-personalized ads — mimo to identyfikator klienta, identyfikator sesji i event page_view są transmitowane. Flaga npa=1 ogranicza personalized display, ale nie wyłącza zasilania modeli audience Google. Ani cookiebox invest_in_lodz, ani Klaro nie integrują się z warstwą Google Consent Mode.
  • ⚠️ YouTube partitioned cookies (CHIPS) — poprawna izolacja.
    __Secure-ROLLOUT_TOKEN zawiera "partitionKey": "https://invest.lodz.pl" — zgodny z top-frame origin, w odróżnieniu od domen z rodziny *.uml.lodz.pl, gdzie partitionKey ustawiał się na parent. Naruszenie RODO pozostaje (cookies zbierane bez zgody), ale klasyczny wektor cross-site tracking jest zamknięty przez izolację CHIPS.

Kontekst prawny i rynkowy (Invest in Łódź)

invest.lodz.pl to portal Biura Obsługi Inwestora Urzędu Miasta Łodzi — strona promocyjna kierowana do inwestorów krajowych i zagranicznych rozważających lokalizację w Łodzi. Populacja odwiedzająca: kierownicy działów ekspansji korporacji międzynarodowych, fundusze inwestycyjne i private equity, deweloperzy nieruchomości komercyjnych, doradcy M&A, doradcy podatkowi obsługujący ekspansję (w tym w reżimie ustawy o wspieraniu nowych inwestycji z 10 maja 2018 r.), prawnicy specjalizujący się w inwestycjach zagranicznych, agencje relokacji biznesowej.

Warstwa A — prawna. W odróżnieniu od domen obsługujących pomoc społeczną (CSS, CUWDPS), invest.lodz.pl nie podlega podwyższonemu reżimowi art. 9 RODO. Standardowe naruszenia dotyczą tu art. 5(1)(c) RODO (zasada minimalizacji), art. 6 RODO (brak podstawy prawnej dla transmisji danych do podmiotów trzecich przed uzyskaniem zgody) oraz art. 26 RODO (brak deklaracji współadministrowania z Biblioteką Miejską dla property GA4 G-30F084ZHSL). Formularz newsletter'a zbierający adresy e-mail do bazy newsletter.uml.lodz.pl wymaga oddzielnej analizy w zakresie zgód na komunikację marketingową (art. 10 ustawy z 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną, art. 172 ustawy Prawo telekomunikacyjne).

Warstwa B — biznesowa (auto-sabotaż celu strony). Segment „corporate real estate decision makers" i „international expansion planners" należy do najdroższych segmentów B2B w systemach reklamowych — koszty pozyskania takiego użytkownika w Google Ads mierzone są w setkach złotych za konwersję. invest.lodz.pl transmituje identyfikator odwiedzającego (cid) do property GA4 zarządzanego przez Bibliotekę Miejską oraz do DoubleClick — sygnał wchodzi do modeli audience buildingu Google. Wynikowe segmenty audience są dostępne dla wszystkich reklamodawców korzystających z Google Ads, w tym dla bezpośredniej konkurencji miast prowadzących analogiczną promocję inwestycyjną (Wrocław, Poznań, Kraków, Katowice, Gdańsk). Miasto płaci za promocję marki „Invest in Łódź", pozyskuje leada, i jednocześnie oddaje jego profil rynkowi remarketingu, gdzie konkurencja może przekierować mu ofertę własnej lokalizacji. Wektor RODO uzupełnia się tu z wektorem strategii marki miasta — obie warstwy prowadzą do tego samego wniosku, tylko z innej perspektywy.

Warstwa C — supply chain.⚠️⚠️⚠️⚠️⚠️ Ładowanie skryptu countUp.js z konta prywatnego dewelopera na GitHub Pages, bez SRI, jest niezgodne ze standardem obsługi publicznej strony administracji. W razie kompromitacji repozytorium inorganik/countUp.js, skrypt na invest.lodz.pl mógłby zostać zamieniony na dowolny inny — z możliwością wykonania w kontekście origin invest.lodz.pl, dostępu do form newsletter'a, przechwycenia adresów e-mail. To nie jest teoretyczne ryzyko — ataki supply chain na powszechnie używane biblioteki JavaScript zdarzają się regularnie (event-stream 2018, ua-parser-js 2021, popular npm packages).

Podsumowanie oceny – invest.lodz.pl

KryteriumOcenaKomentarz
Uruchamianie trackerów przed zgodą🔴 Silne naruszeniePotwierdzone przez cookies_timeline + payloads
Skuteczność wdrożonych CMP🔴 Niska / pozornaDwa równoczesne CMP (cookiebox invest_in_lodz + Klaro), żaden nie blokuje tagów
Transmisja danych do podmiotów trzecich🔴 TakGoogle (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl, newsletter.uml.lodz.pl
Parametry Consent Mode⚠️ Consent not set + npa=1Sygnał zasila modele audience mimo non-personalized flag
Ciasteczka YouTube⚠️ Partitioned (CHIPS)partitionKey https://invest.lodz.pl — poprawna izolacja
Ryzyko supply chain⚠️ Skrypt z GitHub Pages bez SRIcountUp.js z inorganik.github.io
Auto-sabotaż celu strony🔴 TakProfile inwestorów dostępne konkurencyjnym miastom przez Google Ads
Formularz newsletter⚠️ Osadzony iframeZbiera e-maile do bazy newsletter.uml.lodz.pl
Ogólna ocena🔴 Słaba (podwójna warstwa)Naruszenie RODO + auto-sabotaż strategii promocji miasta

Werdykt: Na stronie invest.lodz.pl wdrożono dwa równoczesne mechanizmy CMP (cookiebox TYPO3 z dedykowanego pakietu invest_in_lodz oraz Klaro hostowany na centralnej infrastrukturze cookies.uml.lodz.pl) — żaden nie blokuje ładowania trackerów przed decyzją użytkownika. Ta sama tożsamość klienta (cid) transmitowana jest równolegle do GA4 należącej do Biblioteki Miejskiej oraz do DoubleClick. Portal promocyjny kierowany do inwestorów zagranicznych transmituje profile decydentów M&A i corporate real estate do systemu Google Ads — segment audience wartościowy dla konkurencyjnych miast prowadzących analogiczną promocję inwestycyjną. Naruszenie RODO nakłada się tu na sabotaż celu biznesowego strony. Dodatkowe ryzyko: skrypt countUp.js ładowany z GitHub Pages bez podpisu integralności (SRI) — publiczna strona miejska nie powinna importować skryptów z kont deweloperskich bez weryfikacji.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: stopka ma linki, ale polityka/rodo prowadzą do głównego BIP UMŁ

https://invest.lodz.pl/cookies/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
https://invest.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://lckm.uml.lodz.pl/

SCAN ID: 20260309_104127_b6560cd6

ADO: Łódzkie Centrum Kontaktu z Mieszkańcami

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL (Stack DRUPAL odmienny od standardu UMŁ w postaci TYPO3, inny wykonawca)

Żądania5
Cookies5

Wnioski Techniczne (Skaner)

  • 🔴 Pingi do dwóch GA4 (własna G-FFBHTEJ4R4 + G-30F084ZHSL Biblioteki) oraz DoubleClick z tym samym cid — przed jakąkolwiek decyzją użytkownika.
  • 🔴 Wdrożono Drupal EU Cookie Compliance v10.2.4 — mechanizm ustawia cookies GA, a następnie usuwa je retroaktywnie (widoczne w timeline: 9 cookies po dom → 5 po load). Pingi z cid zostały jednak wysłane wcześniej. CMP działa pozornie.
  • ⚠️ Konfiguracja GTM z niepodmienionym placeholderem: parametr ep.page_placeholder=PLACEHOLDER_page_location trafia jako wartość do Google. Sygnał niezweryfikowanego wdrożenia.
  • 🔴 Cookies GA scope na superdomenie .uml.lodz.pl — tożsamość analityczna wspólna z uml.lodz.pl, bip.uml.lodz.pl, cuw.uml.lodz.pl, cuwdps.uml.lodz.pl.
  • - Consent Mode: gcd=13l3l3l2l1l1, npa=1. Brak Facebook SDK, brak Twittera, brak ads.biblioteka.lodz.pl. YouTube cookies obecne pośrednio przez iframe lodz.pl/livebar.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-FFBHTEJ4R4 G-30F084ZHSL
Ocena Polityki P.: Cross-controller identity sharing (ten sam cid do własnej GA4 LCKM i GA4 Biblioteki Miejskiej) bez deklaracji współadministrowania (art. 26 RODO). CMP retroaktywne — cookies kasowane po fakcie, ale pingi z identyfikatorem klienta już transmitowane.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Retroaktywne czyszczenie cookies — mechanizm pozorny. Drupal EU Cookie Compliance v10.2.4 (+ custom mod) ustawia cookies GA (_ga, _ga_FFBHTEJ4R4, _ga_30F084ZHSL), a następnie usuwa je między etapami after_domcontentloaded i after_load. Pingi do region1.google-analytics.com/g/collect i stats.g.doubleclick.net/g/collect z cid=1220176430 zostały wysłane przed czyszczeniem. Efekt techniczny: identyfikator klienta transmitowany do Google mimo pozornej konfiguracji „bez cookies GA".
  • 🔴 Dwa GA4 z tym samym cid. Własna property G-FFBHTEJ4R4 (LCKM) i G-30F084ZHSL (należąca do Biblioteki Miejskiej) otrzymują ten sam identyfikator klienta w równoczesnych wywołaniach. Cross-controller identity sharing bez deklaracji współadministrowania w rozumieniu art. 26 RODO. DoubleClick (stats.g.doubleclick.net/g/collect) również otrzymuje ten sam cid.
  • 🔴 Cross-subdomain scope cookies GA na .uml.lodz.pl. Ta sama tożsamość analityczna wspólna z rodziną domen uml.lodz.pl, bip.uml.lodz.pl, cuw.uml.lodz.pl, cuwdps.uml.lodz.pl. Pomiar identyfikuje tego samego użytkownika przez pięć formalnie odrębnych serwisów miejskich.
  • ⚠️ Niezweryfikowana konfiguracja GTM — placeholder w wartości event parameter. Parametr ep.page_placeholder=PLACEHOLDER_page_location transmitowany do Google w każdym wywołaniu /g/collect. Deweloper skopiował templatę konfiguracji i nie podmienił placeholdera na rzeczywistą funkcję dynamicznego pobierania URL. Sygnał, że wdrożenie nie zostało zweryfikowane po deploymencie. Dodatkowo w data_layer.json obecny developer_id.dMDhkMT — Google Analytics developer ID przypisywany firmom integratorskim, wskazuje że wdrożenie robiła firma zewnętrzna.
  • ⚠️ Consent Mode: brak zintegrowanego sygnału zgody. Parametry gcd=13l3l3l2l1l1, npa=1, dma=1. „Consent not set" z non-personalized ads — mimo to cid, sid, page_view transmitowane. EU Cookie Compliance nie integruje się z warstwą Google Consent Mode.
  • ⚠️ Iframe livebar jako pośrednie źródło cookies YouTube. W scripts_dom.json brak bezpośrednich skryptów YouTube, ale w cookie jar obecne __Secure-YNID, YSC, VISITOR_INFO1_LIVE, __Secure-ROLLOUT_TOKEN, VISITOR_PRIVACY_METADATA — pochodzą z iframe lodz.pl/livebar/, który wewnętrznie osadza treści YouTube. partitionKey https://uml.lodz.pl (nie lckm.uml.lodz.pl) — powtarzalna cecha rodziny.

Podsumowanie oceny – lckm.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Silne naruszenie
Skuteczność CMP (Drupal EU Cookie Compliance)🔴 Retroaktywne czyszczenie — pozorne
Cross-controller identity sharing🔴 Dwa GA4 z tym samym cid
Cross-subdomain scope🔴 Cała rodzina .uml.lodz.pl
Higiena konfiguracji⚠️ Placeholder niepodmieniony
Third-party (Facebook, Twitter, ads.biblioteka)✅ Brak
Ogólna ocena🔴 Słaba (Drupal z pozornym CMP)

Werdykt: LCKM to pierwsza domena rodziny *.uml.lodz.pl na Drupalu — z modułem EU Cookie Compliance v10.2.4, który zamiast blokować cookies GA, ustawia je i kasuje retroaktywnie. Pingi z cid trafiają do dwóch GA4 (własnego LCKM i Biblioteki Miejskiej) oraz DoubleClick zanim czyszczenie zdąży zadziałać. Konfiguracja GTM zawiera niepodmieniony placeholder, wdrożenie robiła firma zewnętrzna (widoczny developer_id).

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Tylko polityka cookies; brak RODO

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://li.lodz.pl/

SCAN ID: 20260309_104127_03e9a4c1

ADO: Łódzkie Inwestycje sp. z o.o.

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 Tagi śledzące uruchamiały się natychmiast po wejściu, przed decyzją użytkownika. Ping do GA4 G-30F084ZHSL (Biblioteka Miejska) + shared UA UA-25825547-40 + DoubleClick — wszystkie z tym samym cid=94267638.
  • 🔴 Cookiebox TYPO3 (pakiet uml_portal) nie blokuje ładowania trackerów — mechanizm pozorny. Brak Klaro.
  • 🔴 Odbiorcy: Google (GA4 + UA + DoubleClick), Facebook SDK, YouTube, Twitter iframe, ads.biblioteka.lodz.pl, lodz.pl/livebar. Consent Mode gcd=13l3l3l2l1l1, npa=1.
  • - 9 cookies śledzących (4× GA, 5× YouTube). Cross-domain scope na .li.lodz.pl (wewnętrzny). YouTube partitionKey https://li.lodz.pl — prawidłowy.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
UA-25825547-40 G-30F084ZHSL
Ocena Polityki P.: Spółka z o.o. gminy używa property GA4 Biblioteki Miejskiej oraz shared kontenera UA jednostek miejskich — cross-controller identity sharing między odrębnymi osobami prawnymi bez publicznej umowy powierzenia/współadministrowania (art. 26/28 RODO). Standardowe naruszenia RODO plus wektor Prawa zamówień publicznych dla informacji o przetargach.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Tagi śledzące przed zgodą. Cookies GA (_ga, _ga_30F084ZHSL, _gid, _gat_gtag_UA_25825547_40) i YouTube ustawione po after_domcontentloaded. Payloady: region1.google-analytics.com/g/collect (G-30F084ZHSL Biblioteka), region1.analytics.google.com/g/collect (UA-25825547-40), stats.g.doubleclick.net/g/collect — wszystkie z cid=94267638.
  • 🔴 Cookiebox TYPO3 pozorny. typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js ładuje się, nie blokuje tagów. Brak komend consent w data_layer. Brak Klaro.
  • 🔴 Cross-controller identity sharing. Ten sam cid transmitowany do GA4 G-30F084ZHSL (Biblioteka Miejska) i do shared UA-25825547-40 (rodzina domen miejskich). Łódzkie Inwestycje to spółka z o.o. — odrębna osoba prawna, odrębny administrator danych względem Miasta Łodzi i Biblioteki. Brak publicznej deklaracji współadministrowania (art. 26 RODO) ani umowy powierzenia (art. 28 RODO).
  • 🔴 Odbiorcy third-party bez zgody: Google (GA4 + UA + DoubleClick), Meta (Facebook SDK, bez Pixela), YouTube (player_api + widgetapi), Twitter (widgets.js + iframe origin=li.lodz.pl), ads.biblioteka.lodz.pl (Revive Adserver Biblioteki), lodz.pl/livebar.js.
  • ⚠️ Consent Mode „consent not set": gcd=13l3l3l2l1l1, npa=1, dma=1. Sygnał zasila modele audience Google mimo non-personalized flag.
  • ⚠️ Kontekst PZP. Strona zawiera informacje o przetargach z odesłaniem do BIP. Wykonawcy w postępowaniach zamówień publicznych podlegają obowiązkom z ustawy z 11 września 2019 r. — Prawo zamówień publicznych; transmisja ich cid do Google/DoubleClick wykracza poza cele przetwarzania określone w postępowaniu.

Podsumowanie oceny – li.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Silne naruszenie
Skuteczność CMP (cookiebox TYPO3)🔴 Pozorna
Cross-controller identity sharing🔴 Spółka z o.o. używa property Biblioteki
Transmisja do third-party🔴 Pełny stack rodziny uml_portal
Consent Mode⚠️ Consent not set + npa=1
Kontekst prawny⚠️ PZP + odrębna osobowość prawna spółki
Ogólna ocena🔴 Słaba

Werdykt: Standardowy wzorzec rodziny uml_portal (pozorny cookiebox, pełny stack third-party, ten sam cid do dwóch kontenerów Google + DoubleClick). Istotny dodatek prawny: Łódzkie Inwestycje to spółka z o.o. — odrębna osoba prawna względem Miasta Łodzi i Biblioteki Miejskiej. Wspólne używanie infrastruktury pomiarowej (property GA4 Biblioteki, shared kontener UA) bez publicznej deklaracji współadministrowania z art. 26 RODO ani umowy powierzenia z art. 28 RODO. Populacja odwiedzająca obejmuje wykonawców w postępowaniach zamówień publicznych — dodatkowy kontekst reżimu PZP.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Link „Klauzula Informacyjna" w stopce

https://li.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://mops.uml.lodz.pl/

SCAN ID: 20260309_104129_ee8767e9

ADO: Miejski Ośrodek Pomocy Społecznej

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies10

Wnioski Techniczne (Skaner)

  • 🔴 GA4 (G-30F084ZHSL) i UA (UA-25825547-40) uruchamiane z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi — brak integracji Consent Mode z cookie-box
  • 🔴 Cross-controller: property GA4 G-30F084ZHSL (Biblioteka Miejska) aktywna na subdomenie MOPS (pomoc społeczna)
  • ⚠️ Facebook SDK (connect.facebook.net/pl_PL/sdk.js) załadowany, ale bez aktywnego Pixela (brak fbevents.js, _fbp i wywołań signals/config)
  • - YouTube widget API + Twitter widgets.js + iframe lodz.pl/livebar/ → third-party cookies (VISITOR_INFO1_LIVE, YSC) bez kontroli first-party
  • - CMP: cookie-box.js (TYPO3 uml_portal) obecny; F5 BIG-IP (TS01a62d2a, TS01619efc) — infrastruktura load balancera
  • - Timeline cookies stabilny (before_navigation = 0, brak retroaktywnego czyszczenia); localStorage/sessionStorage puste

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Brak wzmianki o współadministrowaniu (art. 26 RODO) z Biblioteką Miejską przy użyciu property GA4 G-30F084ZHSL na subdomenie MOPS. Domena przetwarza dane szczególne klientów pomocy społecznej (art. 9 RODO + ustawa o pomocy społecznej z 12 marca 2004 r.). CMP cookie-box nie przekazuje sygnału do gtag — klasyczny wzorzec rodziny uml.lodz.pl.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 Brak zintegrowanego Consent Mode — beacon GA4 do region1.analytics.google.com/g/collect zawiera gcd=13l3l3l2l1l1 (wszystkie litery „l” = signal not set), npa=1, pscdl=noapi i dma=1. CMP cookie-box.js nie integruje się z Consent API Google. Tagi uruchamiają się niezależnie od decyzji użytkownika.
  • 🔴 Cross-controller identity sharing — property GA4 G-30F084ZHSL (właściciel: Biblioteka Miejska w Łodzi) jest skonfigurowana i aktywnie pingowana na mops.uml.lodz.pl. cid=1271838583.1773049290 jest wspólny dla całego ekosystemu lodz.pl/uml.lodz.pl. Naruszenie art. 26 RODO (współadministrowanie bez transparentności).
  • 🔴 Legacy UA nadal aktywnyUA-25825547-40 (shared kontener rodziny miejskiej) jest ładowany równolegle z GA4 przez gtag.js. Legacy Universal Analytics wygaszony w 2023 r., ale nadal generuje ruch i _gid / _gat_gtag_UA_25825547_40.
  • ⚠️ Facebook SDK bez Pixela — załadowano connect.facebook.net/pl_PL/sdk.js (dwie instancje, w tym z parametrem xfbml=1). Brak jednak fbevents.js, cookie _fbp oraz wywołań signals/config/<ID>. SDK sam w sobie nie stanowi aktywnego trackingu, ale zwiększa powierzchnię ataku i potencjalnie umożliwia przyszłe dodanie Pixela bez aktualizacji CMP.
  • ⚠️ Third-party widgets na domenie pomocy społecznej — osadzone: YouTube player_api + widgetapi, Twitter widgets.js + iframe, livebar UMŁ (lodz.pl/livebar/). Generują cookies VISITOR_INFO1_LIVE, YSC, __Secure-ROLLOUT_TOKEN oraz potencjalnie profilowanie poza kontrolą administratora MOPS.
  • - CMP technicznie obecny, ale nieskuteczny wobec Google/typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.js (TYPO3). Brak w data_layer komend consent default / consent update oraz brak integracji z gtag Consent Mode. Dane z payloads potwierdzają, że tagi Google ładują się przed jakąkolwiek interakcją z banerem.
  • - Brak sygnałów w storage — localStorage i sessionStorage puste (brak _fbp, _gcl_ls, google_auto_fc_cmp_setting). Timeline cookies stabilny — zero anomalii retroaktywnego czyszczenia.

Kontekst prawny (Miejski Ośrodek Pomocy Społecznej w Łodzi)

MOPS jest jednostką organizacyjną pomocy społecznej realizującą zadania własne gminy (ustawa o pomocy społecznej z dnia 12 marca 2004 r.). Strona obsługuje osoby w trudnej sytuacji życiowej, w tym dane szczególne dotyczące stanu zdrowia, sytuacji materialnej, rodzinnej i uzależnień (art. 9 RODO). Domena mops.uml.lodz.pl podlega reżimowi ścisłej ochrony danych wrażliwych.

Warstwa A — kultura compliance administratora. Administrator (MOPS / UMŁ) wdrożył CMP cookie-box, ale nie zintegrował go z Consent Mode Google ani nie wyłączył tagów przed zgodą. Property GA4 należąca do innego podmiotu (Biblioteka Miejska) jest aktywnie wykorzystywana bez transparentnego współadministrowania (art. 26 RODO). To systemowe niedopatrzenie, a nie incydent techniczny.

Warstwa B — wartość rynkowa sygnału behawioralnego. Dane z MOPS (osoby korzystające z pomocy społecznej) mają wysoką wartość dla profilowania wrażliwych grup (ubóstwo, wykluczenie, problemy zdrowotne). Udostępnianie takiego sygnału poprzez shared GA4 property zwiększa ryzyko wtórnego wykorzystania danych poza celami statutowymi MOPS.

Podsumowanie oceny – mops.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — GA4/UA z gcd=13l3l3l2l1l1 i pscdl=noapi
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode Google
Transmisja do podmiotów trzecich🔴 Tak — shared GA4 Biblioteki Miejskiej + YouTube/Twitter SDK/iframes
Cross-controller identity🔴 Aktywne (G-30F084ZHSL na MOPS)
Facebook Pixel✅ Nieaktywny (tylko SDK, brak beaconów i _fbp)
Ogólna ocena🔴 Poważne naruszenie — trackery Google uruchamiane bez skutecznego sygnału zgody na domenie przetwarzającej dane szczególne

Werdykt: Na mops.uml.lodz.pl potwierdzono uruchomienie GA4 (G-30F084ZHSL) i legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi przed jakąkolwiek decyzją użytkownika. CMP cookie-box nie przekazuje sygnału do Google. Dodatkowo następuje cross-controller sharing z Biblioteką Miejską na subdomenie pomocy społecznej przetwarzającej dane szczególne (art. 9 RODO). Stanowi to naruszenie zasad minimalizacji i legalności przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO). Facebook Pixel nie jest aktywny, ale sam fakt załadowania SDK na tej domenie wymaga oceny ryzyka.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: Banner cookies do UMŁ. Dedykowana strona RODO z IOD i klauzulami.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://mzz.lodz.pl/

SCAN ID: 20260309_104148_f5fd6c65

ADO: Miejski Zespół Żłobków

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies10

Wnioski Techniczne (Skaner)

  • 🔴 GA4 G-30F084ZHSL (Biblioteka Miejska) + legacy UA UA-25825547-40 uruchamiane z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi
  • 🔴 CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode Google — tagi uruchamiają się przed zgodą
  • ⚠️ Facebook SDK + YouTube widget API + Twitter widgets + livebar lodz.pl/livebar/
  • - F5 BIG-IP cookie (TS014e08b6) — infrastruktura load balancera
  • - Timeline stabilny (before_navigation = 0). Brak retroaktywnego czyszczenia cookies.
  • - Brak dedykowanej property GA4 dla MPU — tylko shared G-30F084ZHSL + legacy UA

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Aktywny marketingowy tracking na stronie żłobków (jednostka zajmująca się opieką nad najmłodszymi dziećmi) bez skutecznego consent. Property G-30F084ZHSL (Biblioteka Miejska) działa cross-controller. CMP cookie-box nie przekazuje sygnału do Google.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 GA4 + legacy UA bez Consent Mode — aktywny beacon do G-30F084ZHSL z parametrami gcd=13l3l3l2l1l1, npa=1 i pscdl=noapi. CMP cookie-box.js nie integruje się z Consent API Google.
  • 🔴 Cross-controller sharing na domenie żłobków — property GA4 należąca do Biblioteki Miejskiej (G-30F084ZHSL) jest aktywnie wykorzystywana na stronie Miejskiego Zespołu Żłobków. Brak transparentnego współadministrowania (art. 26 RODO).
  • ⚠️ Facebook SDK + third-party widgets — załadowano connect.facebook.net/pl_PL/sdk.js, YouTube widget API oraz Twitter widgets.js. Obecny również iframe lodz.pl/livebar/.
  • - CMP obecny, ale nieskuteczny wobec Googlecookie-box.js (TYPO3) jest załadowany, jednak tagi Google uruchamiają się niezależnie od decyzji użytkownika.
  • - Infrastruktura — F5 BIG-IP cookie (TS014e08b6) — poprawnie sklasyfikowane jako persistence load balancera. Timeline stabilny.

Kontekst prawny (Miejski Zespół Żłobków w Łodzi)

Miejski Zespół Żłobków w Łodzi to jednostka organizacyjna Miasta Łodzi zajmująca się opieką nad dziećmi w wieku 0–3 lat. Strona pełni funkcję informacyjno-rekrutacyjną i jest odwiedzana przez rodziców małych dzieci. Choć nie przetwarza szczególnych kategorii danych w rozumieniu art. 9 RODO w sposób systematyczny, kontekst (opieka nad najmłodszymi) nakłada podwyższone standardy ochrony prywatności.

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box, ale nie zintegrowano go z Consent Mode Google. Uruchomiono shared property GA4 Biblioteki Miejskiej bez transparentnego współadministrowania. To systemowe niedopatrzenie w jednostce zajmującej się opieką nad dziećmi.

Warstwa B — wartość rynkowa sygnału behawioralnego. Domena żłobków generuje dane o zainteresowaniach opieką nad dziećmi i rekrutacją — umiarkowanie wartościowe dla profilowania. Udostępnianie takiego sygnału poprzez shared GA4 zwiększa ryzyko wtórnego wykorzystania danych.

Podsumowanie oceny – mzz.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — GA4 + UA z gcd=13l3l3l2l1l1 i pscdl=noapi
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL + YouTube/Twitter widgets + livebar
Cross-controller identity🔴 Aktywne (G-30F084ZHSL na domenie żłobków)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Negatywna — aktywny marketingowy tracking bez skutecznego consent na stronie żłobków

Werdykt: Na mzz.lodz.pl potwierdzono uruchomienie GA4 (G-30F084ZHSL) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską na domenie zajmującej się opieką nad dziećmi. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO). Kontekst żłobków dodatkowo podnosi wagę naruszenia.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: Banner cookies do UMŁ. Dedykowana strona RODO z IOD i klauzulami.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
🔴 NARUSZENIE

https://rewitalizacja.uml.lodz.pl/

SCAN ID: 20260309_104150_9c36cb31

ADO: Biuro ds. Rewitalizacji UMŁ

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania 6
Cookies 4

Wnioski Techniczne (Skaner)

  • Consent Mode NIE jest skonfigurowany — gcd=13l3l3l2l2l1 (wszystkie „l” = consent not set). Brak parametru gcs i pscdl=noapi. Identycznie jak w domenach ocenionych 🔴.
  • npa=0 jest hardcodowane w tagu — allow_ad_personalization_signals: true + allow_display_features: true w data_layer.json (config G-1EC6G25418). Nie pochodzi z CMP ani decyzji użytkownika.
  • Cookies przed zgodą — after_domcontentloaded, before_navigation=0: _ga (ważne do kwietnia 2027), _gid, _gat, _ga_1EC6G25418. Wzorzec identyczny z domenami 🔴.
  • ⚠️ Legacy UA odpala pełny pageview przed zgodą — /j/collect tid=UA-113466830-1, status 200. Response body zawiera „2,cG-1EC6G25418” (dual-tagging, is_legacy_loaded: true).
  • ⚠️ Dodatkowe third-party trackery — platform.twitter.com/widgets.js + dwie instancje connect.facebook.net (SDK), iframe rufous-sandbox (Twitter telemetry/scribe).
  • Dedykowana property GA4 G-1EC6G25418 (nie współdzielona z innymi domenami UMŁ)
  • Brak Facebook Pixel, Google Ads Conversion, Crazy Egg i session recording

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-1EC6G25418 UA-113466830-1
Ocena Polityki P.: Naruszenie zasad minimalizacji i legalności przetwarzania. Tracking GA4 + legacy UA uruchamiany bez skutecznego sygnału zgody. CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode (brak komend consent default / consent update w dataLayer). npa=0 jest hardcodowane, nie wynika z decyzji użytkownika. Dodatkowe skrypty Twittera i Facebook SDK.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • Brak skutecznego Consent Mode — beacon GA4 do region1.google-analytics.com/g/collect niesie gcd=13l3l3l2l2l1. Wszystkie pozycje literowe to „l” = consent not set. Brak gcs i pscdl=noapi. W data_layer.json nie ma żadnej komendy consent default ani consent update.
  • npa=0 nie pochodzi z CMP — w data_layer.json widnieje czarno na białym: allow_ad_personalization_signals: true oraz allow_display_features: true w komendzie config dla G-1EC6G25418. To statyczna flaga wdrożeniowa. W sesji sterylnej (bez interakcji) personalizacja reklamowa jest jawnie dozwolona.
  • Cookies stawiane przed zgodą — timeline: before_navigation = 0after_domcontentloaded = komplet _ga, _gid, _gat, _ga_1EC6G25418. _ga ważne do kwietnia 2027 (cookie_expires: 63072000).
  • Legacy UA odpala pageview przed zgodą/j/collect?tid=UA-113466830-1 status 200. Response body zawiera „2,cG-1EC6G25418” — potwierdzenie dual-tagging (is_legacy_loaded: true).
  • ⚠️ Dodatkowe third-party trackeryplatform.twitter.com/widgets.js + dwie instancje connect.facebook.net (SDK, bez Pixela), iframe rufous-sandbox (Twitter telemetry/scribe/analytics).
  • Dedykowana property GA4G-1EC6G25418 (brak zarzutu współdzielenia danych z art. 26 RODO, w przeciwieństwie do G-30F084ZHSL).
  • Brak agresywnego trackingu marketingowego — nie wykryto Facebook Pixela, Google Ads Conversion ID ani Crazy Egg / session recording.

Kontekst prawny (Portal Rewitalizacja)

Portal Rewitalizacja to dedykowana strona projektu rewitalizacji Łodzi (finansowanego m.in. z funduszy UE). Ma charakter informacyjno-komunikacyjny. Nie przetwarza szczególnych kategorii danych i nie prowadzi agresywnej monetyzacji reklamowej.

Warstwa A — kultura compliance administratora. Słaba. CMP cookie-box.js jest załadowany, ale nie przekazuje realnego sygnału zgody do Google (brak integracji Consent Mode, gcd typu all-l, hardcoded npa=0). Tracking analityczny (GA4 + legacy UA) oraz dodatkowe skrypty uruchamiane są przed jakąkolwiek decyzją użytkownika — dokładnie tak samo jak w domenach ocenionych negatywnie.

Warstwa B — wartość rynkowa sygnału behawioralnego. Niska. Strona ma charakter informacyjny (rewitalizacja, mapy, dokumenty). Nie generuje atrakcyjnych danych do profilowania audience’ów reklamowych.

Podsumowanie oceny – rewitalizacja.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą❌ Cookies (_ga*) i beacon GA4/UA stawiane po DOMContentLoaded, before_navigation=0
Skuteczność CMP❌ Obecny (cookie-box.js), ale niezintegrowany z Consent Mode (brak consent update, gcd=13l3l3l2l2l1)
Transmisja do podmiotów trzecich⚠️ GA4 + legacy UA + Twitter widgets + FB SDK + rufous-sandbox
Facebook Pixel✅ Nieaktywny (tylko SDK, bez config Pixela i _fbp)
Google Ads / Conversion✅ Brak
Ogólna ocena❌ Negatywna / Naruszenie — tracking bez skutecznego sygnału zgody (tożsame z schroniskiem i zzm)

Werdykt: Na rewitalizacja.uml.lodz.pl wdrożono dedykowaną property GA4 (G-1EC6G25418) i nie ma Pixela ani Google Ads Conversion — to realne różnice in plus względem części innych domen UMŁ. Jednak mechanizm naruszenia jest identyczny: pełne cookies analityczne + beacon GA4/UA + legacy UA uruchamiane przed zgodą, CMP cookie-box bez integracji Consent Mode (gcd all-l, hardcoded npa=0, brak komend consent w dataLayer) oraz dodatkowe trackery Twittera i Facebook SDK. Zgodnie z legendą z 7 lipca kwalifikuje się wprost na 🔴 NARUSZENIE.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: lokalne cookies i dedykowana strona RODO w menu.

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
ŚREDNIA

https://nowa.mapa.lodz.pl/

SCAN ID: 20260309_104149_87917d65

ADO: InterSIT — Łódzki Ośrodek Geodezji

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania2
Cookies6

Wnioski Techniczne

  • ⚠️Wykryto parametr gcd w requestach trackingowych.
  • ⚠️Wykryto gcd bez gcs w części requestów.
  • -Po sesji istnieją potencjalnie śledzące cookies (5 szt.).

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-JQ5N1LX76Z
Ocena Polityki Prywatności: Polityka prywatności prawidłowo deklaruje użycie zidentyfikowanych narzędzi (kodów śledzących) lub nie stwierdzono wyraźnego zatajenia (Pełna Zgodność deklaracji ze stanem faktycznym).
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Link w stopce

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://schronisko.uml.lodz.pl/

SCAN ID: 20260309_104209_93f8cd81

ADO: Schronisko dla Zwierząt w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 GA4 G-30F084ZHSL (Biblioteka Miejska) + legacy UA UA-25825547-40 z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi
  • 🔴 CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode Google
  • ⚠️ Facebook SDK + YouTube widget API + Twitter widgets + livebar lodz.pl/livebar/
  • - F5 BIG-IP cookie (TS01619efc) — infrastruktura
  • - Ad server z Biblioteki Miejskiej (ads.biblioteka.lodz.pl)
  • - Timeline stabilny (before_navigation = 0). Brak retroaktywnego czyszczenia cookies.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Cross-controller sharing GA4 Biblioteki Miejskiej na stronie schroniska dla zwierząt. CMP cookie-box nie przekazuje sygnału zgody. Typowy wzorzec dla domen uml_portal.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 GA4 Biblioteki bez Consent Mode — aktywny beacon do G-30F084ZHSL z parametrami gcd=13l3l3l2l1l1, npa=1 i pscdl=noapi. CMP cookie-box.js nie integruje się z Consent API Google.
  • 🔴 Cross-controller sharing na domenie schroniska — property GA4 należąca do Biblioteki Miejskiej jest aktywnie wykorzystywana na stronie Schroniska dla Bezdomnych Zwierząt. Brak transparentnego współadministrowania (art. 26 RODO).
  • ⚠️ Facebook SDK + third-party widgets — załadowano connect.facebook.net/pl_PL/sdk.js, YouTube widget API oraz Twitter widgets.js. Obecny również iframe lodz.pl/livebar/.
  • - Legacy UA nadal aktywnyUA-25825547-40 jest skonfigurowany równolegle z GA4.
  • - Ad server z Biblioteki — aktywny ads.biblioteka.lodz.pl/www/delivery/asyncjs.php.

Kontekst prawny (Schronisko dla Bezdomnych Zwierząt w Łodzi)

Schronisko dla Bezdomnych Zwierząt w Łodzi to jednostka zajmująca się opieką nad bezdomnymi zwierzętami. Strona pełni funkcję informacyjno-adopcyjną i jest odwiedzana m.in. przez osoby szukające zwierząt do adopcji. Choć nie przetwarza szczególnych kategorii danych w rozumieniu art. 9 RODO w sposób systematyczny, kontekst (opieka nad zwierzętami) nakłada podwyższone standardy transparentności.

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box, ale nie zintegrowano go z Consent Mode Google. Uruchomiono shared property GA4 Biblioteki Miejskiej bez transparentnego współadministrowania. To systemowe niedopatrzenie w jednostce zajmującej się opieką nad zwierzętami.

Warstwa B — wartość rynkowa sygnału behawioralnego. Umiarkowana. Strona schroniska generuje dane o zainteresowaniach adopcją zwierząt i opieką nad nimi — umiarkowanie wartościowe dla profilowania. Udostępnianie takiego sygnału poprzez shared GA4 zwiększa ryzyko wtórnego wykorzystania danych.

Podsumowanie oceny – schronisko.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — GA4 + UA z gcd=13l3l3l2l1l1 i pscdl=noapi
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL + YouTube/Twitter widgets + livebar
Cross-controller identity🔴 Aktywne (G-30F084ZHSL na domenie schroniska)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Negatywna — aktywny marketingowy tracking bez skutecznego consent na stronie schroniska

Werdykt: Na schronisko.uml.lodz.pl potwierdzono uruchomienie GA4 (G-30F084ZHSL) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską na domenie schroniska dla zwierząt. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO). Kontekst schroniska dodatkowo podnosi wagę naruszenia.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: banner na stronie odsyła do UMŁ, ale BIP schroniska ma dedykowane (bardziej szczegółowe) dokumenty.

https://schronisko.uml.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
POZYTYWNA

https://wizyty.uml.lodz.pl/

SCAN ID: 20260309_104213_8cf5c6dd

ADO: Urząd Miasta Łodzi (rezerwacja wizyty)

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania0
Cookies2

Wnioski Techniczne

  • Brak trackingu marketingowego. Obecne tylko cookies sesyjne i infrastrukturalne (PHPSESSID + F5 BIG-IP).

Ocena

Ocena: Domena czysta — nie stwierdzono naruszeń w zakresie trackingu marketingowego.
📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: polityki są podlinkowane dopiero w kroku "Zarezerwuj wizytę" w formularzu (odsyłają do BIP UMŁ).

https://wizyty.uml.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://strazmiejska.lodz.pl/

SCAN ID: 20260309_104212_8ebcd5a3

ADO: Straż Miejska w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania14
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 GA4 G-30F084ZHSL (Biblioteka Miejska) + legacy UA UA-25825547-40 z gcd=13l3l3l2l1l1 + npa=1 + pscdl=noapi
  • 🔴 CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode Google
  • ⚠️ Facebook SDK + YouTube widget API + Twitter widgets + livebar lodz.pl/livebar/
  • - F5 BIG-IP cookie (TS01619efc) — infrastruktura
  • - Ad server z Biblioteki Miejskiej (ads.biblioteka.lodz.pl)
  • - Timeline stabilny (before_navigation = 0). Brak retroaktywnego czyszczenia cookies.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Cross-controller sharing GA4 Biblioteki Miejskiej na stronie schroniska dla zwierząt. CMP cookie-box nie przekazuje sygnału zgody. Typowy wzorzec dla domen uml_portal.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 GA4 Biblioteki bez Consent Mode — aktywny beacon do G-30F084ZHSL z parametrami gcd=13l3l3l2l1l1, npa=1 i pscdl=noapi. CMP cookie-box.js nie integruje się z Consent API Google.
  • 🔴 Cross-controller sharing na domenie schroniska — property GA4 należąca do Biblioteki Miejskiej jest aktywnie wykorzystywana na stronie Schroniska dla Bezdomnych Zwierząt. Brak transparentnego współadministrowania (art. 26 RODO).
  • ⚠️ Facebook SDK + third-party widgets — załadowano connect.facebook.net/pl_PL/sdk.js, YouTube widget API oraz Twitter widgets.js. Obecny również iframe lodz.pl/livebar/.
  • - Legacy UA nadal aktywnyUA-25825547-40 jest skonfigurowany równolegle z GA4.
  • - Ad server z Biblioteki — aktywny ads.biblioteka.lodz.pl/www/delivery/asyncjs.php.

Kontekst prawny (Schronisko dla Bezdomnych Zwierząt w Łodzi)

Schronisko dla Bezdomnych Zwierząt w Łodzi to jednostka zajmująca się opieką nad bezdomnymi zwierzętami. Strona pełni funkcję informacyjno-adopcyjną i jest odwiedzana m.in. przez osoby szukające zwierząt do adopcji. Choć nie przetwarza szczególnych kategorii danych w rozumieniu art. 9 RODO w sposób systematyczny, kontekst (opieka nad zwierzętami) nakłada podwyższone standardy transparentności.

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box, ale nie zintegrowano go z Consent Mode Google. Uruchomiono shared property GA4 Biblioteki Miejskiej bez transparentnego współadministrowania. To systemowe niedopatrzenie w jednostce zajmującej się opieką nad zwierzętami.

Warstwa B — wartość rynkowa sygnału behawioralnego. Umiarkowana. Strona schroniska generuje dane o zainteresowaniach adopcją zwierząt i opieką nad nimi — umiarkowanie wartościowe dla profilowania. Udostępnianie takiego sygnału poprzez shared GA4 zwiększa ryzyko wtórnego wykorzystania danych.

Podsumowanie oceny – schronisko.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — GA4 + UA z gcd=13l3l3l2l1l1 i pscdl=noapi
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL + YouTube/Twitter widgets + livebar
Cross-controller identity🔴 Aktywne (G-30F084ZHSL na domenie schroniska)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Negatywna — aktywny marketingowy tracking bez skutecznego consent na stronie schroniska

Werdykt: Na schronisko.uml.lodz.pl potwierdzono uruchomienie GA4 (G-30F084ZHSL) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską na domenie schroniska dla zwierząt. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO). Kontekst schroniska dodatkowo podnosi wagę naruszenia.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Na stronie głównej nic. Na BIP-ie jest strona RODO, ale banner cookies kieruje do 404.

https://strazmiejska.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
POZYTYWNA

https://wsparcie.uml.lodz.pl/

SCAN ID: 20260309_104231_a18b770e

ADO: Portal Wsparcia Społecznego UMŁ

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania2
Cookies7

Wnioski Techniczne (Skaner)

  • Brak GA4, UA, Facebook Pixel, Google Ads i innych trackerów marketingowych
  • - Obecny tylko lodz.pl/livebar/ + cookies YouTube (z partitionKey)
  • - Cookies: ASP.NET_SessionId (httpOnly), XSRF-TOKEN, F5 BIG-IP
  • - Data Layer pusty — brak GTM / gtag
  • - Brak CMP (nie jest wymagany przy braku trackerów marketingowych)

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
Brak GA4 / UA / Google Ads / Pixel
Ocena Polityki Prywatności: Brak zidentyfikowanego trackingu marketingowego. Obecny jedynie livebar miejski + embed YouTube (prawdopodobnie z livebar). Stan faktyczny zgodny z brakiem naruszeń w zakresie marketingowego przetwarzania danych.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • Brak marketingowego trackingu — nie wykryto GA4, legacy UA, Facebook Pixel ani Google Ads. Data Layer jest pusty.
  • ⚠️ Livebar + YouTube — załadowano lodz.pl/livebar.js oraz cookies YouTube (z partitionKey). To jedyne third-party elementy.
  • - Standardowe cookies aplikacyjneASP.NET_SessionId (httpOnly) + XSRF-TOKEN + F5 BIG-IP. Brak cookies GA / _fbp / _gcl_au.
  • - Brak CMP — nie jest wymagany, ponieważ nie uruchomiono trackerów marketingowych wymagających zgody.

Kontekst prawny (Portal Wsparcia Społecznego)

Domena wsparcie.uml.lodz.pl to portal konta mieszkańca do spraw świadczeń społecznych, autodiagnozy sytuacji życiowej oraz rejestru usług organizacji pozarządowych. Przetwarza dane o sytuacji materialnej, rodzinnej i zdrowotnej mieszkańców — w tym dane mogące należeć do szczególnych kategorii (art. 9 RODO).

Warstwa A — kultura compliance administratora. Bardzo dobra w zakresie trackingu marketingowego. Nie uruchomiono GA4 ani Pixel na portalu z danymi wrażliwymi. Jedyny third-party to livebar miejski.

Warstwa B — wartość rynkowa sygnału behawioralnego. Niska. Portal ma charakter czysto usługowy (świadczenia, wnioski, autodiagnoza). Dane te mają bardzo ograniczoną wartość komercyjną i nie powinny być profilowane marketingowo.

Podsumowanie oceny – wsparcie.uml.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą✅ Nie — brak GA4 / UA / Pixel / Ads
Obecność third-party⚠️ Tylko livebar + YouTube cookies
Cookies marketingowe✅ Brak (_ga, _fbp, _gcl_au itp.)
Kontekst przetwarzania⚠️ Dane o świadczeniach społecznych (możliwe dane szczególne)
Ogólna ocena✅ Pozytywna — brak naruszeń marketingowych

Werdykt: Na wsparcie.uml.lodz.pl nie stwierdzono uruchomienia trackerów marketingowych (brak GA4, UA, Pixel, Google Ads). Obecny jest jedynie livebar miejski generujący cookies YouTube. W kontekście portalu świadczeń społecznych jest to jedna z najczystszych domen w całym audycie pod względem marketingowego przetwarzania danych.

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

Wykryte incognito: pop up cookies wdrożony, dedykowane linki polityk wsparcia społecznego w stopce.

https://wsparcie.uml.lodz.pl/ Zarchiwizowano: 2026-03-05 21:01
🔍 Zobacz Zrzut
📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
NARUSZENIE

https://zzm.lodz.pl/

SCAN ID: 20260309_104233_104a4b29

ADO: Zarząd Zieleni Miejskiej w Łodzi

Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL

Żądania8
Cookies9

Wnioski Techniczne (Skaner)

  • 🔴 GA4 G-30F084ZHSL (Biblioteka) + legacy UA UA-25825547-40 z gcd=13l3l3l2l1l1 + npa=1
  • 🔴 CMP cookie-box.js obecny, ale niezintegrowany z Consent Mode Google
  • ⚠️ Facebook SDK + YouTube widget + Twitter widgets + livebar lodz.pl/livebar/
  • - Ad server z Biblioteki Miejskiej (ads.biblioteka.lodz.pl)
  • - Timeline stabilny. GA cookies ustawiane natychmiast po DOMContentLoaded.

Analiza Polityki Prywatności vs Tagi

Zidentyfikowane Identyfikatory Kontenerów:
G-30F084ZHSL UA-25825547-40
Ocena Polityki P.: Cross-controller sharing GA4 Biblioteki Miejskiej na stronie Zarządu Zieleni Miejskiej. CMP cookie-box nie przekazuje sygnału zgody. Typowy wzorzec dla domen uml_portal.
📄 Pokaż Ocenę Domeny

Wnioski i Naruszenia

  • 🔴 GA4 Biblioteki bez Consent Mode — aktywny beacon do G-30F084ZHSL z parametrami gcd=13l3l3l2l1l1, npa=1 i pscdl=noapi. CMP cookie-box.js nie integruje się z Consent API Google.
  • 🔴 Cross-controller sharing — property GA4 należące do Biblioteki Miejskiej jest aktywnie wykorzystywane na stronie Zarządu Zieleni Miejskiej. Brak transparentnego współadministrowania (art. 26 RODO).
  • ⚠️ Facebook SDK + third-party widgets — załadowano connect.facebook.net/pl_PL/sdk.js, YouTube widget API, Twitter widgets.js oraz iframe lodz.pl/livebar/.
  • - Legacy UA nadal aktywnyUA-25825547-40 skonfigurowany równolegle z GA4.
  • - Ad server z Biblioteki — aktywny ads.biblioteka.lodz.pl/www/delivery/asyncjs.php.

Kontekst prawny (Zarząd Zieleni Miejskiej)

Zarząd Zieleni Miejskiej w Łodzi to jednostka zajmująca się utrzymaniem zieleni miejskiej, parków, skwerów, drzewostanu i terenów rekreacyjnych. Odwiedzający stronę to głównie mieszkańcy zainteresowani tematyką zieleni, wydarzeniami plenerowymi i ochroną środowiska.

Warstwa A — kultura compliance administratora. Wdrożono CMP cookie-box, ale nie zintegrowano go z Consent Mode Google. Uruchomiono shared property GA4 Biblioteki Miejskiej bez transparentnego współadministrowania. To systemowe niedopatrzenie powtarzające się w wielu jednostkach miejskich.

Warstwa B — wartość rynkowa sygnału behawioralnego. Niska/umiarkowana. Dane o zainteresowaniach zielenią miejską i rekreacją mają ograniczoną wartość komercyjną.

Podsumowanie oceny – zzm.lodz.pl

KryteriumOcena
Uruchamianie trackerów przed zgodą🔴 Tak — GA4 + UA z gcd=13l3l3l2l1l1 i pscdl=noapi
Skuteczność CMP⚠️ Obecny (cookie-box), ale nie zintegrowany z Consent Mode
Transmisja do podmiotów trzecich🔴 Tak — shared G-30F084ZHSL + YouTube/Twitter + livebar
Cross-controller identity🔴 Aktywne (G-30F084ZHSL na domenie ZZM)
Facebook Pixel✅ Nieaktywny (tylko SDK)
Ogólna ocena🔴 Negatywna — aktywny marketingowy tracking bez skutecznego consent

Werdykt: Na zzm.lodz.pl potwierdzono uruchomienie GA4 (G-30F084ZHSL) oraz legacy UA (UA-25825547-40) z parametrami gcd=13l3l3l2l1l1 + pscdl=noapi. CMP cookie-box nie przekazuje sygnału zgody. Dodatkowo występuje cross-controller sharing z Biblioteką Miejską na domenie Zarządu Zieleni Miejskiej. Stanowi to naruszenie zasad legalności i minimalizacji przetwarzania (art. 5 i 6 RODO) oraz wymogów współadministrowania (art. 26 RODO).

📸 Dowody: Snapshoty Stron i Dokumentów RODO
📌 Uwagi ze skanu polityk:

RODO ZZM PDF; klauzula monitoring: https://zzm.lodz.pl/files/public/uploads/RODO/KLAUZULA_INFORMACYJNA__MONITORING_ZZM.pdf

📁 Pokaż Twarde Dowody (HAR, Cookies, Trace)
🔍
Narzędzie do niezależnej weryfikacji

Google Tag Assistant – oficjalne narzędzie do debugowania Consent Mode

Chcesz samodzielnie sprawdzić, czy któraś z domen w raporcie rzeczywiście wysyła dane do Google przed uzyskaniem zgody? Użyj oficjalnego narzędzia Google:

Narzędzie pozwala w czasie rzeczywistym zobaczyć: • stan zgód (granted / denied) dla każdego tagu
• dokładny moment uruchomienia Google Analytics, Google Ads, DoubleClick itp.
• jakie dane są przekazywane do serwerów Google
• czy Consent Mode jest poprawnie wdrożony

To całkowicie obiektywne narzędzie Google. Każdy może samodzielnie zweryfikować i sfalsyfikować wyniki raportu.
Co najważniejsze to narzędzie jest używane przez specjalistów od marketingu internetowego do sprawdzenia jak i czy działają tagi dlatego nie ma możliwości, aby ktoś coś źle wdrożył czy popełnił rzekomo błąd. Szczególnie w skali kilkunastu domen, które się aktywnie monetyzuje w skali milionowego ruchu. Warto też wspomnieć, że Google nie ma żadnego interesu w tym, aby fałszować wyniki, ponieważ to uderzyłoby w jego własne interesy. Jest to wiarygodne narzędzie.