Podaj dalej — Pokaż Dowody
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.plorazbip.uml.lodz.pl. Nie możemy wykluczyć, że opisana na https://dadalo.pl/ miała miejsce, i parametrgcdprzyjmował 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.
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 oceny | Opis | |
|---|---|---|
| 🔴🔴 Bardzo negatywna | Aktywny marketingowy tracking + brak CMP + cross-controller sharing z innymi podmiotami. | |
| 🔴 Negatywna | Aktywny marketingowy tracking (GA4 / UA / Pixel) uruchamiany bez skutecznego sygnału zgody. CMP obecny, ale nie zintegrowany z Consent Mode. | |
| ⚠️ Średnia | Brak bezpośredniego marketingowego trackingu na domenie. Obecny legacy Facebook SDK oraz pośredni tracking przez widgety zewnętrzne. Brak CMP. | |
| ✅ Pozytywna | Brak 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,_fbpi 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 / ADO | Ocena trackingu |
|---|---|---|
| lodz.pl | Biblioteka Miejska w Łodzi | 🔴 NARUSZENIE |
| uml.lodz.pl | Urząd Miasta Łodzi – główna domena | 🔴🔴 B. NEGATYWNA |
| bip.uml.lodz.pl | Urząd Miasta Łodzi | 🔴 NARUSZENIE |
| mpu.lodz.pl | Miejska Pracownia Urbanistyczna w Łodzi | 🔴 NARUSZENIE |
| zdit.uml.lodz.pl | ZDiT (Przekierowanie) | ➖ WYŁĄCZONA |
| cuw.uml.lodz.pl | Centrum Usług Wspólnych w Łodzi | 🔴 NARUSZENIE |
| cuwdps.uml.lodz.pl | Centrum Usług Wspólnych DPS w Łodzi | 🔴 NARUSZENIE |
| lckm.uml.lodz.pl | Łódzkie Centrum Kontaktu z Mieszkańcami | 🔴 NARUSZENIE |
| mops.uml.lodz.pl | Miejski Ośrodek Pomocy Społecznej w Łodzi | 🔴 NARUSZENIE |
| mzz.lodz.pl | Miejski Zespół Żłobków w Łodzi | 🔴 NARUSZENIE |
| schronisko.uml.lodz.pl | Schronisko dla Bezdomnych Zwierząt w Łodzi | 🔴 NARUSZENIE |
| architektmiasta.uml.lodz.pl | Biuro Architekta Miasta | 🔴 NARUSZENIE |
| rewitalizacja.uml.lodz.pl | Portal Rewitalizacja | 🔴 NARUSZENIE |
| invest.lodz.pl | Urząd Miasta Łodzi (Invest in Łódź) | 🔴 NARUSZENIE |
| li.lodz.pl | Łódzkie Inwestycje sp. z o.o. | 🔴 NARUSZENIE |
| zlm.lodz.pl | Zarząd Lokali Miejskich | 🔴 NARUSZENIE |
| bip.zlm.lodz.pl | Zarząd Lokali Miejskich | 🔴 NARUSZENIE |
| mosir.lodz.pl | Miejski Ośrodek Sportu i Rekreacji w Łodzi | 🔴 NARUSZENIE |
| aquapark.lodz.pl | Aquapark Fala sp. z o.o. | 🔴 NARUSZENIE |
| orientarium.lodz.pl | Orientarium Zoo Łódź | 🔴🔴 B. NEGATYWNA |
| lodz.travel | Łódzka Organizacja Turystyczna (ŁOT) | 🔴 NARUSZENIE |
| kartalodzianina.pl | Łódzka Organizacja Turystyczna (ŁOT) | 🔴 NARUSZENIE |
| biblioteka.lodz.pl | Biblioteka Miejska w Łodzi | 🔴 NARUSZENIE |
| capz.lodz.pl | Centrum Administracyjne Pieczy Zastępczej | 🔴 NARUSZENIE |
| css.samorzad.lodz.pl | Centrum Świadczeń Socjalnych | 🔴 NARUSZENIE |
| botaniczny.lodz.pl | Ogród Botaniczny w Łodzi | 🔴 NARUSZENIE |
| strazmiejska.lodz.pl | Schronisko dla Bezdomnych Zwierząt w Łodzi | 🔴 NARUSZENIE |
| nowa.mapa.lodz.pl | InterSIT — Łódzki Ośrodek Geodezji | ⚠️ ŚREDNIA |
| ads.biblioteka.lodz.pl | Biblioteka Miejska (Ad Server) | ➖ WYŁĄCZONA |
| atlasarena.pl | MAKiS sp. z o.o. (100% Miasto) | ⚠️ ŚREDNIA |
| bip.biblioteka.lodz.pl | Biblioteka Miejska w Łodzi | ⚠️ ŚREDNIA |
| kartaturysty.lodz.travel | Łódzka Organizacja Turystyczna (ŁOT) | ✅ POZYTYWNA |
| lodz.praca.gov.pl | Powiatowy Urząd Pracy w Łodzi | 🔴 NARUSZENIE |
| media.lodz.pl | Łódź Media Group / ŁOT | ⚠️ ŚREDNIA |
| mpk.lodz.pl | Miejskie Przedsiębiorstwo Komunikacyjne w Łodzi | 🔴 NARUSZENIE |
| pup-lodz.pl | Powiatowy Urząd Pracy w Łodzi | ➖ WYŁĄCZONA |
| teatr-muzyczny.lodz.pl | Teatr Muzyczny w Łodzi | ➖ WYŁĄCZONA |
| wizyty.uml.lodz.pl | Urząd Miasta Łodzi (rezerwacja wizyty) | ✅ POZYTYWNA |
| wsparcie.uml.lodz.pl | Portal Wsparcia Społecznego | ✅ POZYTYWNA |
| zzm.lodz.pl | Zarząd Zieleni Miejskiej | 🔴 NARUSZENIE |
| makis.pl | Miejska 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._gasłuży do odróżniania wieloletnich użytkowników,_gididentyfikuje krótkoterminowe sesje, a_gatogranicza 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 technicznehttps://orientarium.lodz.pl/ Grupa ŁOT
SCAN ID: 20260306_202023_a6417c59
ADO: ZOO Łódź sp. z o.o.
Hosting/IT: Hetzner
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
📄 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
| Kryterium | Ocena |
|---|---|
| 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://uml.lodz.pl/ Grupa ŁOT
SCAN ID: 20260306_201513_88503e84
ADO: Urząd Miasta Łodzi
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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
| Kryterium | Ocena |
|---|---|
| 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
- 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.
- Potwierdzenie GCD: Rentgen jednoznacznie dokumentuje wysyłanie twardego parametru
gcd=13l3l3l2l1l1w 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. - 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.comczygoogletagmanager.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-790142032orazAW-10940984035aktywne 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.netiwww.facebook.comrejestrowane 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-30F084ZHSLi UAUA-25825547-40bez ujawnienia współadministrowania (art. 26 RODO) w dokumentach RODO żadnej z domen. - Twitter Session Tracking: Embedowana treść generuje
session_idraportowany dosyndication.twitter.comprzed 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/
https://ads.biblioteka.lodz.pl/ Grupa ŁOT
SCAN ID: 20260306_201837_7265207d
ADO: Biblioteka Miejska w Łodzi
Hosting/IT: Hetzner
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.
📄 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ą
https://bip.uml.lodz.pl/
SCAN ID: 20260306_201535_2201a79b
ADO: Urząd Miasta Łodzi
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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. Wdata_layer.jsonbrak komendconsent defaultaniconsent 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
📄 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. Wdata_layer.jsonbrak komendconsent defaultaniconsent update. - 🔴
Dane transmitowane do Google (GA4 + DoubleClick) przed wyrażeniem zgody. Wywołania do
region1.analytics.google.com/g/collectistats.g.doubleclick.net/g/collectzawierają identyfikator klienta (cid), sygnał Consent Mode (gcd=13l3l3l2l1l1), flagę non-personalized ads (npa=1) oraz kontekst DMA. Konfiguracjagcdwskazuje 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, endpointregion1.analytics.google.com/g/collect), Universal Analytics (UA-25825547-40), Google Signals / DoubleClick (endpointstats.g.doubleclick.net/g/collect) - Meta Platforms Ireland Ltd. – Facebook SDK (
connect.facebook.net/pl_PL/sdk.js) załadowany; wywołania beaconowe dofacebook.com/trnie 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
https://bip.zlm.lodz.pl/
SCAN ID: 20260306_201940_dbfda186
ADO: Zarząd Lokali Miejskich
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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. Wdata_layer.jsonbrak komendconsent defaultaniconsent 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
📄 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. Wdata_layer.jsonbrak komendconsent defaultaniconsent update. - 🔴
Dane transmitowane do Google (GA4 + DoubleClick) przed wyrażeniem zgody. Wywołania do
region1.analytics.google.com/g/collectistats.g.doubleclick.net/g/collectzawierają identyfikator klienta (cid), sygnał Consent Mode (gcd=13l3l3l2l1l1), flagę non-personalized ads (npa=1) oraz kontekst DMA. Konfiguracjagcdwskazuje na brak zintegrowanego sygnału zgody — ping analityczny wysyłany mimo to. - 🔴
Cross-domain scope cookies GA. Ciasteczka
_ga,_ga_30F084ZHSL,_gidi_gat_gtag_UA_25825547_40ustawione 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) — konfiguracjacookie_domain: autow 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, endpointregion1.analytics.google.com/g/collect), Universal Analytics (UA-25825547-40), Google Signals / DoubleClick (endpointstats.g.doubleclick.net/g/collect) - Meta Platforms Ireland Ltd. – Facebook SDK (
connect.facebook.net/pl_PL/sdk.js) załadowany; wywołania beaconowe dofacebook.com/trnie 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_iframeosadzony z originbip.zlm.lodz.ploraz skryptwidgets.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 ▼
https://mpu.lodz.pl/
SCAN ID: 20260306_201556_b3e7d004
ADO: Miejska Pracownia Urbanistyczna
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 aktywny — UA-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 nieskuteczny — cookie-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
| Kryterium | Ocena |
|---|---|
| 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 ▼
📌 Uwagi ze skanu polityk:
Link w stopce jako „RODO"
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
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
📄 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
| Kryterium | Ocena |
|---|---|
| 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://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
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
📄 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://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.
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 dogoogleadservices.comigoogleads.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 containerGT-5DH5KDR(server-side). - ⚠️
Google Funding Choices CMP (dedykowane rozwiązanie dla wydawców AdSense) wdrożone, cookie
FCCDCFustawione, iframe__tcfapiLocator(IAB TCF v2) obecny. Mimo topscdl=noapiw 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),OAIDnaads.biblioteka.lodz.pl(Revive Advertiser ID, 3 lata).
Analiza Polityki Prywatności vs Tagi
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, skryptpagead2.googlesyndication.com/pagead/js/adsbygoogle.js), trzy różne Google Ads Conversion IDs (AW-790142032,AW-10940984035,AW-10886899517) z aktywnymi pingami dowww.google.com/ccm/collect,googleadservices.com/pagead/conversion/10940984035/,googleads.g.doubleclick.net/pagead/viewthroughconversion/10940984035/. Wszystkie identyfikatory wysyłają zdarzeniaen=conversion/en=page_viewprzed decyzją użytkownika. Cookie_gcl_au(Google Conversion Linker) ustawione. - 🔴 Facebook Pixel aktywny (nie tylko SDK). ID
528537619394728, załadowaneconnect.facebook.net/signals/config/528537619394728+fbevents.js. Cookie_fbp=fb.1.1772824492321.199835837329971849ustawione (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 UAUA-25825547-40, wszystkie zcid=30299385.1772824492. DoubleClick otrzymuje ping dla obu GA4 property. Dodatkowo aktywny nowy container Google TagGT-5DH5KDR— prefixGT-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). CookieFCCDCFzawiera decyzję CMP. Iframe__tcfapiLocatorpotwierdza obsługę IAB TCF v2. Mimo to parametrpscdl=noapiwe 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) naads.biblioteka.lodz.plustawione na 3 lata (do 2027-11). W przeciwieństwie do innych analizowanych domen, gdzie ładowany był tylko skryptasyncjs.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.jsonobecne 6 osadzonych „Like" iframe'ów, każdy z parametremhrefwskazują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
| Kryterium | Ocena |
|---|---|
| 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
- 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.
- 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ą.
- 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_idraportowany dosyndication.twitter.comprzed 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://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
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.jsonpusty. - ✅
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
📄 Pokaż Ocenę Domeny ▼
Wnioski i Naruszenia
- ✅ Zero trackingu behawioralnego w warstwie frontend.
Wscripts_dom.jsonnie występują: Google Tag Manager, Google Analytics (analytics.js, gtag/js), Facebook SDK, Facebook Pixel, YouTube API, Twitter widgets, DoubleClick, ad serverads.biblioteka.lodz.pl, cookiebox TYPO3, Klaro, widgetlodz.pl/livebar.data_layer.jsonjest pusty — brak jakiegokolwiek warstwy pomiarowej GTM. W przeciwieństwie dokartalodzianina.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_navigation→after_domcontentloaded→after_load→after_async_window) pokazuje przez cały cykl życia sesji obecność wyłącznieJSESSIONID— session-only (expires=-1), na hościekartaturysty.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) zfonts.googleapis.com/css2(arkusz stylów) oraz odpowiadające pliki WOFF2 zfonts.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.jsorazunpkg.com/leaflet@1.9.1/dist/leaflet.js. Popularne biblioteki front-end, ale ładowane bez atrybutuintegrity— ryzyko supply chain. Nie jest to naruszenie RODO, tylko sygnał higieny bezpieczeństwa aplikacji. - ⚠️ Cookie
JSESSIONIDujawnia szczegół architektury i wskazuje na wspólną platformę zkartalodzianina.pl.
Wartość cookie zawiera sufiks.ktlodz_zeus, który identyfikuje instancję serwera aplikacyjnego. Konwencja nazewnictwa jest analogiczna dokartalodzianina.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
https://media.lodz.pl/ Grupa ŁOT
SCAN ID: 20260306_201723_e56edb54
ADO: Łódź Media Group / ŁOT
Hosting/IT: CF-GDA, PL
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.jsonpusty,iframes.jsonpusty. - ✅
CMP CookieYes wdrożony i skuteczny. Cookie
cookieyes-consentzapisane 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
📄 Pokaż Ocenę Domeny ▼
Wnioski i Naruszenia
- ✅ Zero trackerów third-party w warstwie frontend. W
scripts_dom.jsonnie występują: Google Tag Manager, Google Analytics (analytics.js, gtag/js), Facebook SDK, Facebook Pixel, YouTube API, Twitter widgets, DoubleClick, ad serverads.biblioteka.lodz.pl, Klaro.data_layer.jsonpusty.iframes.jsonpusty. 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-consentzawiera 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 hashamiaf/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 namedia.lodz.pl. Braklocal_storageisession_storagepoza standardowymwpEmojiSettingsSupports.
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
| Kryterium | Ocena |
|---|---|
| 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://biblioteka.lodz.pl/ Grupa ŁOT
SCAN ID: 20260306_201857_a94f04b6
ADO: Biblioteka Miejska w Łodzi
Hosting/IT: CF-KRK, PL
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.jsonnie ma komendconsent defaultaniconsent 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
📄 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.jsonnie ma komendconsent defaultaniconsent 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
https://lodz.travel/ Grupa ŁOT
SCAN ID: 20260306_201751_fdf84108
ADO: Łódzka Organizacja Turystyczna (ŁOT)
Hosting/IT: Hetzner
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 pingamien=conversiondogoogleadservices.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ło528537619394728). - 🔴
Dwa GA4 z tym samym
cid=1694443646:G-5TZ8847RTL(własna lodz.travel) +G-30F084ZHSL(Biblioteka Miejska) + shared UAUA-25825547-40+ DoubleClick. GTM containerGTM-P5KSMXV. - 🔴
Zdarzenie
conversionzdefiniowane wdata_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_portaloraz Klaro zcookies.uml.lodz.pl. Żaden nie blokuje.pscdl=noapiwe wszystkich pingach — Consent Mode nie zintegrowany. - -
9 cookies stabilnie przez cykl.
_gcl_lsw localStorage (Google Conversion Linker).google_auto_fc_cmp_settingw localStorage sugeruje aktywne Google Funding Choices.
Analiza Polityki Prywatności vs Tagi
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]/. Zdarzenieconversionz konkretnym labelAW-10940984035/V02uCO6r29MDEOPViOEouruchamiane przy wejściu. - 🔴 Facebook Pixel z ID
710762686030917. Załadowanyconnect.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) oraztid=G-30F084ZHSL(Biblioteka Miejska), obie zcid=1694443646.1772824674. DoubleClickstats.g.doubleclick.net/g/collectdla obu property. Shared UAUA-25825547-40aktywny. GTM containerGTM-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 infrastrukturycookies.uml.lodz.pl(klaro.js,embed.js, config). Skrypty ładują się, ale wszystkie tagi Google i Meta uruchamiają się przed decyzją użytkownika.pscdl=noapiwe wszystkich pingach GA i Ads — Consent Mode nie odbiera sygnału z żadnego CMP. localStorage zawieragoogle_auto_fc_cmp_setting=[1]— dodatkowo aktywne Google Funding Choices dla AdSense. - 🔴 Iframe AdSense osadzony w DOM. W
iframes.jsonobecnyaswift_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. Iframelodz.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 rodzinyuml_portal. - ⚠️ Twitter widgets + YouTube API.
platform.twitter.com/widgets.js+ iframe zorigin=lodz.travel. YouTubewidgetapi.js+player_api+ cookies YouTube z partitionKeyhttps://lodz.travel. - ⚠️ Cross-controller identity sharing. Ten sam
cidtransmitowany 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 GA4G-5TZ8847RTL, inny Facebook Pixel710762686030917.
Podsumowanie oceny – lodz.travel
| Kryterium | Ocena |
|---|---|
| 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://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
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=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1wymusza non-personalized ads, alecid,sidipage_viewtransmitowane 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
.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 etapieafter_domcontentloadedautomatycznie 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. Wdata_layer.jsonbrak komendconsent defaultaniconsent update. W przeciwieństwie docss.samorzad.lodz.plnie wdrożono dodatkowo Klaro z centralnej infrastrukturycookies.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_40ustawione (throttle token po pingu)
• DoubleClick →stats.g.doubleclick.net/g/collect(ten sam cid)
• Facebook SDK (bez Pixela — brakfbevents.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 rodzinylodz.pl, na CUW nie wykryto widgetulodz.pl/livebar. - 🔴 Cross-subdomain scope cookies GA — najsilniejszy wektor tej domeny.
Ciasteczka_ga,_ga_30F084ZHSL,_gid,_gat_gtag_UA_25825547_40ustawione 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. Konfiguracjacookie_domain: autow 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"(niecuw.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 eventpage_viewsą transmitowane. Flaganpa=1ogranicza 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
| Kryterium | Ocena | Komentarz |
|---|---|---|
| Uruchamianie trackerów przed zgodą | 🔴 Silne naruszenie | Potwierdzone przez cookies_timeline + payloads |
| Skuteczność wdrożonego CMP | 🔴 Niska / pozorna | Własny cookie-box TYPO3 nie blokuje tagów (brak Klaro) |
| Transmisja danych do podmiotów trzecich | 🔴 Tak | Google (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl |
| Parametry Consent Mode | ⚠️ Consent not set + npa=1 | Sygnał zasila modele audience mimo non-personalized flag |
| Cross-subdomain scope | 🔴 Tak — na całą rodzinę .uml.lodz.pl | Wspó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ójna | Jednostka 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łaba | Peł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/
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
Wnioski Techniczne
- ✅
Consent Mode v2 wdrożony poprawnie —
ad_storage,analytics_storage,ad_user_data,ad_personalizationdomyślniedenied. 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, doregion1.google-analytics.com/g/collectidą 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):
sweetalert2z cdnjs,leafletz unpkg. Sygnał higieny bezpieczeństwa front-end, nie warstwa RODO.
Analiza Polityki Prywatności vs Tagi
📄 Pokaż Ocenę Domeny ▼
Wnioski i Naruszenia
- ✅ Consent Mode v2 wdrożony poprawnie w warstwie GTM.
Wdata_layer.jsonobecne są komendy, których brakuje na wszystkich analizowanych domenach jednostek miejskich:
•consent defaultzad_storage: denied,ad_user_data: denied,ad_personalization: denied,analytics_storage: denied
•consent updatepodtrzymujący ten sam stan (użytkownik nie kliknął zgody w pomiarze)
Cookies nie są ustawiane przed decyzją użytkownika. W całym cyklu pomiaru (etapybefore_navigation,after_domcontentloaded,after_load,after_async_window) w cookie jar obecne wyłącznieJSESSIONID— cookie sesji aplikacyjnej (session-only, expires=-1), nie tracker. - ✅ Brak trackerów third-party na warstwie frontend.
Wscripts_dom.jsonnie występują: Facebook SDK, Facebook Pixel (fbevents.js), YouTube API (player_api,widgetapi), Twitter widgets, DoubleClick, ad serverads.biblioteka.lodz.pl, cookiebox TYPO3, Klaro zcookies.uml.lodz.pl, widgetlodz.pl/livebar. Fundamentalnie prostsza konfiguracja niż domeny w rodzinieuml_portaliinvest_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.
Wpayloads.ndjsonpotwierdzone dwa wywołania doregion1.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=scrollzepn.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 doG-30F084ZHSLnależą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 propertyG-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) orazunpkg.com/leaflet@1.9.1/dist/leaflet.js(biblioteka map). Oba to popularne, powszechnie używane biblioteki front-end, ale załadowane bez atrybutuintegrity(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
JSESSIONIDujawnia 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:
| Element | Domeny jednostek miejskich | kartalodzianina.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.
https://zlm.lodz.pl/
SCAN ID: 20260306_201918_010ea978
ADO: Zarząd Lokali Miejskich
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📸 Dowody: Snapshoty Stron i Dokumentów RODO ▼
📌 Uwagi ze skanu polityk:
Linki w stopce prowadzą do BIP ZLM
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
Wnioski Techniczne
- ⚠️Przekierowanie na stronę uml.lodz.pl z pełnym stackiem trackingu.
Analiza Polityki Prywatności vs Tagi
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.
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
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
1232725160738501pobrany, cookie_fbpustawione, bibliotekafbevents.jszaładowana). Beaconfacebook.com/trnie 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=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1(non-personalized ads), alecid,sid,page_view, eventscrollz parametremepn.percent_scrolled=90transmitowane 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
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://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
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
📄 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 widgetu — analytics.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 infrastruktura — JSESSIONID (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
| Kryterium | Ocena |
|---|---|
| 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.
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
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
📄 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
| Kryterium | Ocena |
|---|---|
| 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://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.
https://lodz.praca.gov.pl/
SCAN ID: 20260309_104016_c5852ac5
ADO: Powiatowy Urząd Pracy w Łodzi
Hosting/IT: TM, PL
Wnioski Techniczne (Skaner)
- 🔴
Ping GA4 do
www.google-analytics.com/j/collectprzed 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ładowanyanalytics.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, klasterwortal-77bccd544c-g2xhq).data_layer.jsonpusty — brak GTM. - -
Uwaga metodologiczna: brak pliku
scripts_dom.jsonw uploadzie — pełna lista załadowanych skryptów niepotwierdzona, wnioski oparte na payloadach.
Analiza Polityki Prywatności vs Tagi
📄 Pokaż Ocenę Domeny ▼
Wnioski i Naruszenia
- 🔴 Ping GA4 przed decyzją użytkownika. Wywołanie
www.google-analytics.com/j/collectztid=G-07E8YF01RN,cid=698957334.1773049222,dl=https://lodz.praca.gov.pl/,vp=1440x2200. Cookies_ga,_gid,_gatustawione poafter_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=13l3l3l2l1l1jako „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 (prefixG-), endpoint legacy/j/collect(nieregion1.analytics.google.com/g/collect), załadowana bibliotekaanalytics.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 zfonts.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,_gatustawione są na superdomenie.praca.gov.pl, nie nalodz.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.jsonw uploadzie. Pełna lista załadowanych skryptów nie została zweryfikowana. Wnioski oparte na plikachpayloads.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
| Kryterium | Ocena |
|---|---|
| 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"
https://architektmiasta.uml.lodz.pl/
SCAN ID: 20260309_104021_61f1f764
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
Wnioski Techniczne
- 🔴
Tagi śledzące uruchamiały się natychmiast po wejściu na stronę, przed jakąkolwiek decyzją użytkownika.
Po etapie
after_domcontentloadedpojawiły się ciasteczka Google Analytics i YouTube. - ⚠️
Wykryto CMP Klaro, jednak nie blokował skutecznie tagów przed interakcją użytkownika.
W
data_layer.jsonbrak komendconsent defaultlubconsent 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
📸 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
https://teatr-muzyczny.lodz.pl/
SCAN ID: 20260309_104016_fff92000
ADO: Teatr Muzyczny w Łodzi
Hosting/IT: TARRCI-AS, PL
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.
📸 Dowody: Snapshoty Stron i Dokumentów RODO ▼
📌 Uwagi ze skanu polityk:
Błąd TLS — certyfikat niezaufany. Strona niedostępna.
https://bip.biblioteka.lodz.pl/
SCAN ID: 20260309_104042_b2ce5a56
ADO: Biblioteka Miejska w Łodzi
Hosting/IT: CF-KRK, PL
Wnioski Techniczne
- -Po sesji istnieją potencjalnie śledzące cookies (1 szt.).
Analiza Polityki Prywatności vs Tagi
Brak przypisanych kontenerów w tabeli dziennikarskiej.
📄 Pokaż Ocenę Domeny ▼
Podsumowanie Audytu: bip.biblioteka.lodz.pl
Wnioski
- 🟢
Brak uruchamiania jakichkolwiek tagów śledzących przed decyzją użytkownika. Po
after_domcontentloadedustawione 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
https://capz.lodz.pl/
SCAN ID: 20260309_104044_19fa3625
ADO: Centrum Administracyjne Pieczy Zastępczej
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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 widgetlodz.pl/livebarosadzone na stronie. - 🔴
Google Consent Mode: parametr
gcd=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1wymusza non-personalized ads, alecid,sidipage_viewtransmitowane 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
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 etapieafter_domcontentloadedautomatycznie 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. Wdata_layer.jsonbrak komendconsent defaultaniconsent 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 — brakfbevents.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 eventpage_viewsą transmitowane. - ⚠️ Współdzielenie infrastruktury pomiarowej.
Strona używa GA4 propertyG-30F084ZHSL(należącej do innego administratora niż CAPZ) oraz wspólnego kontenera UA-25825547-40 — obu obecnych na innych domenach miejskich. Dodatkowo ładuje skrypt zads.biblioteka.lodz.pl, transmitując żądanie do zewnętrznego ad servera bez publicznej deklaracji współadministrowania.
Podsumowanie oceny – capz.lodz.pl
| Kryterium | Ocena | Komentarz |
|---|---|---|
| Uruchamianie trackerów przed zgodą | 🔴 Silne naruszenie | Potwierdzone przez cookies_timeline + payloads |
| Skuteczność wdrożonego CMP | 🔴 Niska / pozorna | Własny cookie-box TYPO3 nie blokuje tagów |
| Transmisja danych do podmiotów trzecich | 🔴 Tak | Google (w tym DoubleClick), Meta, YouTube, Twitter, ads.biblioteka.lodz.pl |
| Parametry Consent Mode | ⚠️ Consent not set | gcd=13l3l3l2l1l1 + npa=1 |
| Ciasteczka YouTube | ⚠️ Partitioned (CHIPS) | Izolowane per top-level origin |
| Wspólna infrastruktura pomiarowa | ⚠️ Tak | Wspólny GA4 (należący do innego administratora) + UA + ad server Biblioteki |
| Ogólna ocena | 🔴 Słaba | Pozorny 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://botaniczny.lodz.pl/
SCAN ID: 20260309_104043_d3c46fd7
ADO: Ogród Botaniczny w Łodzi
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
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://cuwdps.uml.lodz.pl/
SCAN ID: 20260309_104106_41c1beb1
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1wymusza non-personalized ads, alecid,sidipage_viewtransmitowane 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
.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 etapieafter_domcontentloadedautomatycznie 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. Wdata_layer.jsonbrak komendconsent defaultaniconsent update. W przeciwieństwie docss.samorzad.lodz.plnie wdrożono dodatkowo Klaro z centralnej infrastrukturycookies.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_40ustawione
• DoubleClick →stats.g.doubleclick.net/g/collect(ten sam cid)
• Facebook SDK (bez Pixela — brakfbevents.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_40ustawione 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"(niecuwdps.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 eventpage_viewsą transmitowane. Flaganpa=1ogranicza 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
| Kryterium | Ocena | Komentarz |
|---|---|---|
| Uruchamianie trackerów przed zgodą | 🔴 Silne naruszenie | Potwierdzone przez cookies_timeline + payloads |
| Skuteczność wdrożonego CMP | 🔴 Niska / pozorna | Własny cookie-box TYPO3 nie blokuje tagów (brak Klaro) |
| Transmisja danych do podmiotów trzecich | 🔴 Tak | Google (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl |
| Parametry Consent Mode | ⚠️ Consent not set + npa=1 | Sygnał zasila modele audience mimo non-personalized flag |
| Cross-subdomain scope | 🔴 Tak — na całą rodzinę .uml.lodz.pl | Wspó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żim | Art. 9 RODO + ustawa o pomocy społecznej + ustawa o ochronie zdrowia psychicznego |
| Wartość rynkowa profilu | 🔴 Sektor silver economy | Segment audience wartościowy dla komercyjnej konkurencji publicznych DPS |
| Ogólna ocena | 🔴 Kwalifikowane naruszenie | Najwraż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.
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
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 domeniecookies.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 widgetlodz.pl/livebar. - 🔴
Trzy równoczesne kontenery Google Analytics: GA4
G-30F084ZHSL(należąca do innego administratora), Universal AnalyticsUA-25825547-40(shared) orazUA-178238957-1(dedykowany samorzad). Dwa równoczesneconfigUA wdata_layer. - 🔴
Google Consent Mode: parametr
gcd=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1wymusza non-personalized ads, alecid,sidipage_viewtransmitowane 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
📄 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 etapieafter_domcontentloadedautomatycznie 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 pakietuuml_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. Wdata_layer.jsonbrak komendconsent defaultaniconsent 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_40ustawione (throttle token po pingu)
• Universal Analytics (UA-178238957-1) — cookie_gat_gtag_UA_178238957_1ustawione
• DoubleClick →stats.g.doubleclick.net/g/collect(ten sam cid)
• Facebook SDK (bez Pixela — brakfbevents.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.
Wdata_layer.jsonwidoczne są dwa równoczesneconfig:UA-25825547-40iUA-178238957-1. Do tego dochodzi GA4G-30F084ZHSL. To pierwsza analizowana domena z rodzinyuml_portalz 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 eventpage_viewsą 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_1ustawione 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
| Kryterium | Ocena | Komentarz |
|---|---|---|
| Uruchamianie trackerów przed zgodą | 🔴 Silne naruszenie | Potwierdzone przez cookies_timeline + payloads |
| Skuteczność wdrożonych CMP | 🔴 Niska / pozorna | Dwa równoczesne CMP (cookiebox TYPO3 + Klaro), żaden nie blokuje tagów |
| Transmisja danych do podmiotów trzecich | 🔴 Tak | Google (3 kontenery + DoubleClick), Meta, YouTube, Twitter, ads.biblioteka.lodz.pl, livebar |
| Parametry Consent Mode | ⚠️ Consent not set | gcd=13l3l3l2l1l1 + npa=1 |
| Kontekst prawny | 🔴 Podwyższony reżim | Art. 9 RODO + ustawa o pomocy społecznej z 12 marca 2004 r. |
| Ciasteczka YouTube | ⚠️ Partitioned (CHIPS) | Izolowane per top-level origin |
| Cross-subdomain scope | 🔴 Tak | Cookies GA na .samorzad.lodz.pl |
| Ogólna ocena | 🔴 Kwalifikowane naruszenie | Wraż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
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
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 infrastrukturzecookies.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 bazynewsletter.uml.lodz.pl. - ⚠️
Wykryto załadowanie skryptu
countUp.jsz domenyinorganik.github.io(GitHub Pages) — bez podpisu integralności (SRI). Ryzyko supply chain dla publicznej strony miejskiej. - 🔴
Google Consent Mode: parametr
gcd=13l3l3l2l1l1we wszystkich wywołaniach/g/collectwskazuje na brak zintegrowanego sygnału zgody. Flaganpa=1ogranicza 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
_gai_gidmimo załadowanegoanalytics.js. Identyfikacja klienta odbywa się przez_ga_30F084ZHSLi parametrcidw pingu.
Analiza Polityki Prywatności vs Tagi
📄 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 etapieafter_domcontentloadedautomatycznie 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_gai_gidmimo załadowanegoanalytics.js) — konfiguracja gtag prawdopodobnie ogranicza część storage'u, jednak identyfikacja klienta odbywa się przez_ga_30F084ZHSLi parametrcidw 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 pakietuinvest_in_lodz(typo3conf/ext/invest_in_lodz/Resources/Public/Vendors/cookie-box/cookiebox.js) — inny pakiet niż w rodzinieuml_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 konfiguracyjnycookies.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. Wdata_layer.jsonbrak komendconsent defaultaniconsent 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_40ustawione
• DoubleClick →stats.g.doubleclick.net/g/collect(ten sam cid)
• Facebook SDK (bez Pixela — brakfbevents.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.jsbezpośrednio zinorganik.github.io/countUp.js/dist/countUp.umd.js— infrastruktura deweloperska GitHub Pages, bez SLA, bez atrybutuintegrity(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 eventpage_viewsą transmitowane. Flaganpa=1ogranicza 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_TOKENzawiera"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
| Kryterium | Ocena | Komentarz |
|---|---|---|
| Uruchamianie trackerów przed zgodą | 🔴 Silne naruszenie | Potwierdzone przez cookies_timeline + payloads |
| Skuteczność wdrożonych CMP | 🔴 Niska / pozorna | Dwa równoczesne CMP (cookiebox invest_in_lodz + Klaro), żaden nie blokuje tagów |
| Transmisja danych do podmiotów trzecich | 🔴 Tak | Google (GA4 + UA + DoubleClick), Meta SDK, YouTube, Twitter, ads.biblioteka.lodz.pl, newsletter.uml.lodz.pl |
| Parametry Consent Mode | ⚠️ Consent not set + npa=1 | Sygnał 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 SRI | countUp.js z inorganik.github.io |
| Auto-sabotaż celu strony | 🔴 Tak | Profile inwestorów dostępne konkurencyjnym miastom przez Google Ads |
| Formularz newsletter | ⚠️ Osadzony iframe | Zbiera 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://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)
Wnioski Techniczne (Skaner)
- 🔴
Pingi do dwóch GA4 (własna
G-FFBHTEJ4R4+G-30F084ZHSLBiblioteki) oraz DoubleClick z tym samymcid— 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
cidzostały jednak wysłane wcześniej. CMP działa pozornie. - ⚠️
Konfiguracja GTM z niepodmienionym placeholderem: parametr
ep.page_placeholder=PLACEHOLDER_page_locationtrafia 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, brakads.biblioteka.lodz.pl. YouTube cookies obecne pośrednio przez iframelodz.pl/livebar.
Analiza Polityki Prywatności vs Tagi
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 etapamiafter_domcontentloadediafter_load. Pingi doregion1.google-analytics.com/g/collectistats.g.doubleclick.net/g/collectzcid=1220176430został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) iG-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 samcid. - 🔴 Cross-subdomain scope cookies GA na
.uml.lodz.pl. Ta sama tożsamość analityczna wspólna z rodziną domenuml.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_locationtransmitowany 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 wdata_layer.jsonobecnydeveloper_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 tocid,sid,page_viewtransmitowane. EU Cookie Compliance nie integruje się z warstwą Google Consent Mode. - ⚠️ Iframe livebar jako pośrednie źródło cookies YouTube. W
scripts_dom.jsonbrak bezpośrednich skryptów YouTube, ale w cookie jar obecne__Secure-YNID,YSC,VISITOR_INFO1_LIVE,__Secure-ROLLOUT_TOKEN,VISITOR_PRIVACY_METADATA— pochodzą z iframelodz.pl/livebar/, który wewnętrznie osadza treści YouTube. partitionKeyhttps://uml.lodz.pl(nielckm.uml.lodz.pl) — powtarzalna cecha rodziny.
Podsumowanie oceny – lckm.uml.lodz.pl
| Kryterium | Ocena |
|---|---|
| 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
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
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 UAUA-25825547-40+ DoubleClick — wszystkie z tym samymcid=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 Modegcd=13l3l3l2l1l1,npa=1. - -
9 cookies śledzących (4× GA, 5× YouTube). Cross-domain scope na
.li.lodz.pl(wewnętrzny). YouTube partitionKeyhttps://li.lodz.pl— prawidłowy.
Analiza Polityki Prywatności vs Tagi
📄 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 poafter_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 zcid=94267638. - 🔴 Cookiebox TYPO3 pozorny.
typo3conf/ext/uml_portal/Resources/Public/Vendors/cookie-box/cookiebox.jsładuje się, nie blokuje tagów. Brak komendconsentw data_layer. Brak Klaro. - 🔴 Cross-controller identity sharing. Ten sam
cidtransmitowany do GA4G-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
ciddo Google/DoubleClick wykracza poza cele przetwarzania określone w postępowaniu.
Podsumowanie oceny – li.lodz.pl
| Kryterium | Ocena |
|---|---|
| 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://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
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
📄 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 aktywny — UA-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
| Kryterium | Ocena |
|---|---|
| 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.
https://mzz.lodz.pl/
SCAN ID: 20260309_104148_f5fd6c65
ADO: Miejski Zespół Żłobków
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 Google — cookie-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
| Kryterium | Ocena |
|---|---|
| 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.
https://rewitalizacja.uml.lodz.pl/
SCAN ID: 20260309_104150_9c36cb31
ADO: Biuro ds. Rewitalizacji UMŁ
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 = 0 → after_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 trackery — platform.twitter.com/widgets.js + dwie instancje connect.facebook.net (SDK, bez Pixela), iframe rufous-sandbox (Twitter telemetry/scribe/analytics).
- ✅ Dedykowana property GA4 — G-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
| Kryterium | Ocena |
|---|---|
| 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.
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
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
📸 Dowody: Snapshoty Stron i Dokumentów RODO ▼
📌 Uwagi ze skanu polityk:
Link w stopce
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
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
📄 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 aktywny — UA-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
| Kryterium | Ocena |
|---|---|
| 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://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
Wnioski Techniczne
- ✅ Brak trackingu marketingowego. Obecne tylko cookies sesyjne i infrastrukturalne (PHPSESSID + F5 BIG-IP).
Ocena
📸 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://strazmiejska.lodz.pl/
SCAN ID: 20260309_104212_8ebcd5a3
ADO: Straż Miejska w Łodzi
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 aktywny — UA-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
| Kryterium | Ocena |
|---|---|
| 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://wsparcie.uml.lodz.pl/
SCAN ID: 20260309_104231_a18b770e
ADO: Portal Wsparcia Społecznego UMŁ
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 aplikacyjne — ASP.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
| Kryterium | Ocena |
|---|---|
| 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://zzm.lodz.pl/
SCAN ID: 20260309_104233_104a4b29
ADO: Zarząd Zieleni Miejskiej w Łodzi
Hosting/IT: LODMAN-AS2 Metropolitan Area Network LODMAN, PL
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
📄 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 aktywny — UA-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
| Kryterium | Ocena |
|---|---|
| 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
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:
• 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.