import React, { useState } from 'react'; import { RequestCluster } from '../request-cluster'; import { StolenDataEntry } from '../stolen-data-entry'; import { getDate, unique } from '../util'; import DomainSummary from './domain-summary'; import EmailTemplate2Controls from './email-template-2-controls'; export type EmailTemplate2Config = { popup_type: 'none' | 'passive_cookie_banner' | 'consent'; popup_action: 'ignored' | 'accepted' | 'closed'; popup_closed_how: string; popup_screenshot_base64: string | null; popup_accept_all_text: string; popup_mentions_passive_consent: boolean; popup_passive_consent_text: string; }; function ClusterRangeSummary({ cluster }: { cluster: RequestCluster }) { const range = unique( cluster.getMarkedEntries().map((entry) => entry.classification) ); const has_cookie_ids = cluster .getMarkedEntries() .filter((entry) => entry.source === 'cookie') .some((entry) => entry.classification == 'id'); return ( <> {[ range.includes('id') ? 'Pańskiego identyfikatora internetowego' + (has_cookie_ids ? ' z cookie' : '') : '', range.includes('history') ? 'części Pańskiej historii przeglądania' : '', range.includes('location') ? 'informacji na temat Pana położenia' : '', ] .filter((e) => e !== '') .join(', ')} ); } function Placeholder({ children }: { children: string }) { const invisbleCharacter = ' '; return ( {invisbleCharacter.repeat(6)} ({children}) {invisbleCharacter.repeat(6)} ); } function Base64Image({ base64 }: { base64: string }) { return ; } export default function EmailTemplate2({ entries, clusters, }: { entries: StolenDataEntry[]; clusters: Record; version: number; }): JSX.Element { const [config, setConfig] = useState({ popup_type: 'none', popup_action: 'ignored', popup_screenshot_base64: null, popup_accept_all_text: 'Zaakceptuj wszystkie', popup_mentions_passive_consent: false, popup_passive_consent_text: '', popup_closed_how: 'kliknięcie przycisku „X”', }); const visited_url = entries[0].request.originalURL; return ( <>

Dzień dobry, w dniu {getDate()} odwiedziłem stronę{' '} {visited_url}.

{config.popup_type === 'none' ? (

Nie ukazał mi się na stronie żaden mechanizm pozyskujący zgodę na przetwarzanie moich danych osobowych lub umożliwiający mi wyrażenie sprzeciwu wobec przetwarzania przez stronę moich danych osobowych w zakresie wykraczającym poza procesy konieczne do wyświetlenia strony

) : config.popup_type == 'passive_cookie_banner' ? ( <>

Na stronie była widoczna informacja o plikach Cookie.{' '}

) : ( <>

Ukazało mi się okienko z informacjami i pytaniami dotyczącymi sposobów, w jaki strona przetwarza moje dane osobowe.{' '}

{config.popup_action === 'ignored' ? /* HTML */ `Nie kliknąłem żadnego przycisku w tym okienku. W szczególności nie kliknąłem przycisku „${config.popup_accept_all_text}”.` : config.popup_action === 'accepted' ? `Kliknąłem na widoczną w tym okienku opcję „${config.popup_accept_all_text}”.` : ''}

)}

W tym samym czasie rejestrowałem ruch sieciowy generowany przez tę stronę za pomocą narzędzi w przeglądarce Firefox. Okazało się, że Państwa strona wysłała moje dane osobowe do następujących podmiotów:

    {Object.values(clusters) .filter((cluster) => cluster.hasMarks()) .map((cluster) => ( ))}
{config.popup_action === 'ignored' ? (

Dane te zostały wysłane, zanim kliknąłem cokolwiek na tej stronie.

) : config.popup_action === 'accepted' ? (

Dane te zostały wysłane po tym, jak kliknąłem przycisk „ {config.popup_accept_all_text}”

) : ( '' )}

W załączeniu przesyłam część zrzutów ekranu dokumentujących fakt wysłania tych danych przez Państwa stronę.{' '}

Podstawa prawna

Ustawa Prawo Telekomunikacyjne w art. 173 reguluje warunki, które musi spełnić administrator strony, aby jego strona mogła zapisywać i czytać treść plików cookie. Nie reguluje jednak tego, jakim podmiotom i w jakim zakresie dane mogą być ujawniane przez stronę. Tym zajmuje się Rozporządzenie 2016/679 Parlamentu Europejskiego i Rady (UE) z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (ogólne rozporządzenie o ochronie danych) – RODO. Zapis/odczyt plików cookie a ujawnianie ich treści podmiotom trzecim to dwa różne procesy. Niniejsza wiadomość i pytania w niej zawarte dotyczą właśnie ujawniania moich danych osobowych (pochodzących m.in. z Cookies) podmiotom trzecim.

W kontekście stron internetowych są właściwie dopuszczalne tylko trzy z sześciu wymienionych w Art. 6 pkt 1 RODO podstaw prawnych dla przetwarzania danych osobowych:

  1. „Zgoda” — osoba, której dane dotyczą wyraziła zgodę na przetwarzanie swoich danych osobowych w jednym lub większej liczbie określonych celów ( Art. 6 pkt 1 lit. a)).
  2. „Niezbędność” — przetwarzanie jest niezbędne do wykonania umowy, której stroną jest osoba, której dane dotyczą, lub do podjęcia działań na żądanie osoby, której dane dotyczą, przed zawarciem umowy ( Art. 6 pkt 1 lit. b));{' '}
  3. „Uzasadniony Interes” — przetwarzanie jest niezbędne do celów wynikających z prawnie uzasadnionych interesów realizowanych przez administratora lub przez stronę trzecią, z wyjątkiem sytuacji, w których nadrzędny charakter wobec tych interesów mają interesy lub podstawowe prawa i wolności osoby, której dane dotyczą, wymagające ochrony danych osobowych, w szczególności gdy osoba, której dane dotyczą, jest dzieckiem (Art. 6 pkt 1 lit. f) );

W przypadku opisywanej przeze mnie mojej wizyty na Państwa stronie nie ma zastosowania „Zgoda”, gdyż{' '} {config.popup_action === 'ignored' ? ( <> nie wyrażałem żadnej zgody na takie przetwarzanie moich danych {config.popup_type === 'consent' ? ( <> — w szczególności nie kliknąłem przycisku „{config.popup_accept_all_text}” ) : ( '' )} . ) : config.popup_action === 'accepted' ? ( <> o ile po wejściu na stronę wcisnąłem w wyskakującym okienku przycisk „{config.popup_accept_all_text}”, o tyle nie stanowi to według mnie ważnej w świetle RODO zgody, gdyż brakowało w tym okienku równie łatwo osiągalnego przycisku, którego kliknięcie skutkowałoby zasygnalizowaniem braku mojej zgody na takie przetwarzanie moich danych. Mówiąc wprost — wyrażenie „zgody” było łatwiejsze niż jej niewyrażenie. Niewyrażenie zgody wiąże się z negatywną konsekwencją konieczności przechodzenia przez dodatkowe kroki w wyskakującym okienku. Zatem tak otrzymana przez Państwo moja „zgoda” nie jest poprawną podstawą prawną do przetwarzania moich danych osobowych, gdyż nie spełnia warunku dobrowolności wspomnianego w motywie (42) RODO. ) : config.popup_action === 'closed' ? ( <> zamknąłem okienko pytające o zgodę poprzez{' '} {config.popup_closed_how}. Nie może być to uznane za zgodę, bo nie spełnia to warunku jednoznaczności opisanego w motywie (32) Rozporządzenia 2016/679.{' '} ) : ( '' )}{' '} Za zgodę nie można też uznać posiadania włączonej obsługi cookies w przeglądarce (gdyż aby zgoda była ważna, musi być szczegółowa dla każdego celów z osobna), jakichkolwiek innych ustawień przeglądarki, ani pasywnych działań z mojej strony (np. „kontynuowanie korzystania ze strony”) {config.popup_mentions_passive_consent ? ( <> {' '} — nieprawdą więc jest zawarty na Państwa stronie komunikat „ {config.popup_passive_consent_text.trim()}” (por. paragraf 97.{' '} oficjalnych wytycznych EROD dotyczących zgody na mocy rozporządzenia 2016/679 ) ) : ( '' )} .

W mojej ocenie „Niezbędność“ nie ma zastosowania co do opisanych powyżej sposobów przetwarzania danych. Nie widzę, co miałoby sprawiać, aby wysyłanie moich danych osobowych do wspomnianych powyżej podmiotów trzecich było konieczne do wyświetlenia Państwa strony na ekranie mojego komputera (zob.{' '} Wytyczne 8/2020 EROD dotyczące targetowania użytkowników mediów społecznościowych , par. 49);.{' '}

Pozostaje zatem „Uzasadniony Interes”. Aby Administrator mógł używać uzasadnionego interesu jako podstawy prawnej targetowania użytkowników Sieci, muszą zostać spełnione m.in. następujące warunki:{' '}

  1. Administrator danych lub podmiot trzeci, któremu dane są ujawniane musi{' '} faktycznie realizować dany konkretny uzasadniony interes {' '} ( Wyrok TSUE z dnia 29 lipca 2019 r. w sprawie Fashion ID, C-40/17, ECLI:EU:C:2019:629 , pkt 95.)
  2. Takie przetwarzanie danych jest{' '} konieczne dla potrzeb wynikających z danego uzasadnionego interesu ( Wyrok TSUE z dnia 29 lipca 2019 r. w sprawie Fashion ID, C-40/17, ECLI:EU:C:2019:629 , pkt 95.)
  3. Wybrany uzasadniony interes musi mieć pierwszeństwo nad prawami i wolnościami osoby, której dotyczą przetwarzane dane ( Wyrok TSUE z dnia 29 lipca 2019 r. w sprawie Fashion ID, C-40/17, ECLI:EU:C:2019:629 , pkt 95.)
  4. Osoby, których dane dotyczą, powinny mieć możliwość wyrażenia sprzeciwu wobec przetwarzania ich danych do celów związanych z targetowaniem{' '} przed rozpoczęciem przetwarzania (zob.{' '} Wytyczne 8/2020 EROD dotyczące targetowania użytkowników mediów społecznościowych , par. 54);
{config.popup_action !== 'accepted' ? (

Moje dane zostały ujawnione podmiotom trzecim tuż po włączeniu strony, zatem nie jest spełniony warunek 4. Apeluję o wdrożenie zmian na stronie, które sprawią, że dopiero po świadomym niewyrażeniu sprzeciwu przez użytkownika aktywowane są procesy przetwarzania danych osobowych, których podstawą prawną jest uzasadniony interes.

) : ( '' )}

Jeżeli istnieją jednak inne niż uzasadniony interes ważne podstawy prawne do takiego przetwarzania moich danych osobowych przez Państwa stronę, proszę o ich wskazanie,{' '} dla każdego z wymienionych podmiotów z osobna. (Przypominam, że Art. 173 ustawy Prawo Telekomunikacyjne nie ma tutaj zastosowania, ponieważ nie pytam o zapis/odczyt plików na moim komputerze, tylko o ujawnianie moich danych osobowych podmiotom trzecim). W przeciwnym wypadku, aby ustalić, czy moje dane były przez Państwa przetwarzane na mocy uzasadnionego interesu zgodnie z prawem, proszę o wypełnienie następującego szablonu (lub udzielenie tych samych informacji w innej postaci, przy zachowaniu zakresu i szczegółowości informacji:

W dniu {getDate()} strona {visited_url}:

    {Object.values(clusters) .filter((cluster) => cluster.hasMarks()) .map((cluster) => (
  • ujawniła pańskie dane w zakresie{' '} {' '} firmie{' '} nazwa firmy, która jest właścicielem domeny{' '} {cluster.id} i swoją politykę prywatności publikuje pod adresem{' '} adres URL polityki prywatności tej firmy . Podstawą prawną takiego przetwarzania danych przez naszą stronę jest uzasadniony interes:{' '} na czym polega ten uzasadniony interes, tzn. bieżące działania podejmowane przez podmiot realizujący ten interes lub korzyści dla podmiotu realizującego ten interes oczekiwane w bardzo bliskiej przyszłości {' '} realizowany przez{' '} kogo? jaki podmiot podejmuje wspomniane działania lub jest beneficjentem wspomnianych korzyści? . Ujawnienie{' '} {' '} temu podmiotowi przez naszą stronę było konieczne dla potrzeb wynikających z tego interesu, ponieważ uzasadnienie konieczności .
  • ))}

Proszę w szczególności zwrócić uwagę na podanie adresów do polityk prywatności tych firm, abym wiedział, jak skontaktować się z nimi i wnioskować o usunięcie z ich baz wysłanych przez Państwa stronę moich danych. )

W odpowiedzi proszę się nie powoływać na IAB Europe i ich rzekomą renomę w tworzeniu rozwiązań zgodnych z RODO. IAB chroni interes reklamodawców, a nie Użytkowników, i ich rozwiązania (np. TCF) są{' '} notorycznie niezgodne z RODO i pozbawione szacunku dla Użytkowników .

Apeluję także o wprowadzenie stosownych zmian na stronie tak, aby nie pozostawiać cienia wątpliwości odnośnie tego, na mocy jakiej przesłanki legalizującej dane są przetwarzane przez wspomniane podmioty trzecie, lub tak, aby te dane po prostu nie były wysyłane. Pomoże to zachować prywatność innym użytkownikom Państwa strony. Polecam Państwa uwadze {' '} oficjalne wytyczne EROD dotyczące zgody w kontekście RODO . Aby na przykład zapobiec automatycznemu wysyłaniu historii przeglądania do podmiotów trzecich przez Państwa stronę, można po prostu ustawić odpowiednio treść nagłówka{' '} Referrer-Policy{' '} .

); }