import React from 'react'; import { RequestCluster } from '../request-cluster'; import { StolenDataEntry } from '../stolen-data-entry'; import { getDate } from '../util'; import EmailTemplate3Controls from './email-template-3-controls'; import './email-template-3.scss'; declare var PLUGIN_NAME: string; declare var PLUGIN_URL: string; export type EmailTemplate3Config = { pronoun: 0 | 1 | 2 | 3; // masc, fem, neutral, plural policy_readable: 'null' | 'yes' | 'entirely_obscured_by_popup' | 'cant_find'; hosts_settings: Record< string, { presence: 'null' | 'not_mentioned' | 'mentioned_in_popup' | 'mentioned_in_policy'; legal_basis_type: 'null' | 'consent' | 'legitimate_interest' | 'not_mentioned'; consent_problems?: | 'claims_consent_but_sends_before_consent' | 'claims_consent_but_there_was_no_easy_refuse' | 'none' | 'null'; legitimate_interest_activity_specified: 'null' | 'no' | 'precise' | 'vague'; legitimate_interest_activity_description: string; } >; 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; }; export default function EmailTemplate3({ entries, clusters, }: { entries: StolenDataEntry[]; clusters: Record; version: number; }): JSX.Element { const all_host_ids = Array.from(new Set(entries.map((entry) => entry.request.shorthost))); const [config, setConfig] = React.useState({ pronoun: Math.round(Math.random()) as 0 | 1, policy_readable: 'null', hosts_settings: Object.fromEntries( all_host_ids.map((cluster_id) => [ cluster_id, { presence: 'null', legal_basis_presence: 'null', legal_basis_type: 'null', consent_problems: 'null', legitimate_interest_activity_specified: 'null', legitimate_interest_activity_description: '', }, ]) ), 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; const p = config.pronoun; return (

Dzień dobry, w dniu {getDate()}{' '} {['odwiedziłem', 'odwiedziłam', 'odwiedziłom', 'odwiedziliśmy'][p]} stronę{' '} {visited_url} i {['zbadałem', 'zbadałam', 'zbadałom', 'zbadaliśmy'][p]} ją za pomocą wtyczki {PLUGIN_NAME} w celu zbadania, jakie informacje o {['mnie', 'mnie', 'mnie', 'nas'][p]} wysyła ta strona do podmiotów trzecich.

{['Moją', 'Moją', 'Moją', 'Naszą'][p]} szczególną uwagę przykuło: WYFILTROWANE WZGLĘDEM TEGO, CZY DANEGO PODMIOTU NIE MA W POLITYCE PRYWATNOŚCI LUB POWIADOMIENIU O COOKIESACH{' '}

  • - wysyłanie mojego identyfikatora internetowego [z Cookie] (value) oraz części mojej historii przeglądania do właściciela domeny (domain);
  • - (...).

Dane te zostały wysłane zanim{' '} {['miałem', 'miałam', 'miałom', 'mieliśmy'][p]} szansę przeczytać Państwa politykę prywatności i w jakikolwiek czynny i jednoznaczny sposób wyrazić zgodę na takie przetwarzanie moich danych osobowych.

{!['yes', 'null'].includes(config.policy_readable) ? (

{['Chciałem', 'Chciałam', 'Chciałom', 'Chcieliśmy'][p]} przeczytać Państwa politykę prywatności przed akceptacją, ale{' '} {config.policy_readable == 'cant_find' ? ( <>nie mogę znaleźć jej nigdzie na Państwa stronie. ) : ( '' )}{' '} {config.policy_readable == 'entirely_obscured_by_popup' ? ( <>jest ona przesłonięta przez okienko o RODO. ) : ( '' )}

) : ( '' )}

Dane zostały udostępnione podmiotom, o których nie{' '} {['znalazłem', 'znalazłam', 'znalazłom', 'znaleźliśmy'][p]} informacji ani w Państwa polityce prywatności, ani w żadnym wyskakującym okienku na Państwa stronie. Z tego powodu zwracam{p == 3 ? 'y' : ''} się do Państwa z pytaniem: jakie były podstawy prawne takiego ujawnienia{' '} {['moich', 'moich', 'moich', 'naszych'][p]} danych osobowych wyżej wymienionym podmiotom? Uprzejmie{' '} {['proszę', 'proszę', 'proszę', 'prosimy'][p]} o wskazanie podstawy prawnej dla każdego z tych podmiotów z osobna.

); }