From 3ab97b23aaefa6fa6222b8324d5f65204fc5c449 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Thu, 7 Jul 2022 22:10:03 +0200 Subject: [PATCH] Add OutsideEU problem, improve wording --- components/report-window/deduce-problems.tsx | 3 +- .../generate-survey-questions.ts | 4 +- .../problems/transfer-outside-eu.tsx | 63 +++++++++++++++++++ .../problems/unknown-legal-basis.tsx | 7 ++- .../problems/unlawful-cookies.tsx | 9 ++- 5 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 components/report-window/problems/transfer-outside-eu.tsx diff --git a/components/report-window/deduce-problems.tsx b/components/report-window/deduce-problems.tsx index 68e45a5..2eb7716 100644 --- a/components/report-window/deduce-problems.tsx +++ b/components/report-window/deduce-problems.tsx @@ -2,6 +2,7 @@ import { RequestCluster } from '../../request-cluster'; import { ParsedAnswers } from './parse-answers'; import NoInformationAtAllProblem from './problems/no-information-at-all'; import { Problem } from './problems/problem'; +import { TransferOutsideEU } from './problems/transfer-outside-eu'; import { UnknownLegalBasis } from './problems/unknown-legal-basis'; import { UnlawfulCookieAccess } from './problems/unlawful-cookies'; @@ -9,7 +10,7 @@ export default function deduceProblems( answers: ParsedAnswers, clusters: Record ): Problem[] { - return [NoInformationAtAllProblem, UnlawfulCookieAccess, UnknownLegalBasis] + return [NoInformationAtAllProblem, UnlawfulCookieAccess, UnknownLegalBasis, TransferOutsideEU] .map((c) => new c(answers, clusters)) .filter((p) => p.qualifies()); } diff --git a/components/report-window/generate-survey-questions.ts b/components/report-window/generate-survey-questions.ts index cbf8011..6ec0d1b 100644 --- a/components/report-window/generate-survey-questions.ts +++ b/components/report-window/generate-survey-questions.ts @@ -60,10 +60,10 @@ function generateHostPage( 'present' )}} != "not_mentioned" and {${f('present')}} != "not_before_making_a_choice"`, choices: [ - { value: 'consent', text: 'to zgoda.' }, + { value: 'consent', text: 'to zgoda (art. 6 ust. 1 lit. a RODO).' }, { value: 'legitimate_interest', - text: 'to uzasadniony interes.', + text: 'to uzasadniony interes (art. 6 ust. 1 lit. f RODO).', }, { value: 'not_mentioned', text: 'nie jest wskazana nigdzie na stronie.' }, ], diff --git a/components/report-window/problems/transfer-outside-eu.tsx b/components/report-window/problems/transfer-outside-eu.tsx new file mode 100644 index 0000000..12e49b7 --- /dev/null +++ b/components/report-window/problems/transfer-outside-eu.tsx @@ -0,0 +1,63 @@ +import { RequestCluster } from '../../../request-cluster'; +import { ExplainerKey } from '../explainers'; +import { v } from '../verbs'; +import { Problem } from './problem'; + +export class TransferOutsideEU extends Problem { + getNecessaryExplainers(): ExplainerKey[] { + return []; + } + + qualifies(): boolean { + return Object.values(this.answers.hosts).some( + (hostAnswers) => hostAnswers.outside_eu == 'yes' + ); + } + + getRelatedClusters(): RequestCluster[] { + return Object.entries(this.answers.hosts) + .filter(([_, hostAnswers]) => hostAnswers.outside_eu == 'yes') + .map(([id]) => this.clusters[id]); + } + + getEmailContent() { + const clusters = this.getRelatedClusters(); + const _ = (key: string) => v(key, this.answers.zaimek); + return ( + <> +

Transfer danych osobowych poza Europejski Obszar Gospodarczy

+

+ Państwa strona przetworzyła {_('moje')} dane osobowe poprzez przesłanie danych + do: +

+ +

+ Według {_('mojej')} najlepszej wiedzy, każdy z tych podmiotów utrzymuje swoje + serwery poza Europejskim Obszarem Gospodarczym. Zatem Państwa strona przesłała + {_('moje')} dane osobowe poza EOG. Jeżeli tak jest, to takie przetwarzanie + danych jest niezgodne z prawem, gdyż dane trafiają do krajów, które nie + gwarantują ochrony danych w stopniu, jakiego wymaga RODO, a tzw. „Tarcza + Prywatności” została unieważniona w 2020r. Zob.{' '} + + artykuł Fundacji Panoptykon w tej sprawie + + . +

+

+ {_('Zwracam')} się zatem do Państwa z pytaniem:{' '} + + czy wyżej wymienione podmioty, którym Państwa strona ujawniła moje dane + osobowe, przechowują moje dane poza EOG? + +

+ + ); + } +} diff --git a/components/report-window/problems/unknown-legal-basis.tsx b/components/report-window/problems/unknown-legal-basis.tsx index 598d18d..3aa048e 100644 --- a/components/report-window/problems/unknown-legal-basis.tsx +++ b/components/report-window/problems/unknown-legal-basis.tsx @@ -61,8 +61,11 @@ export class UnknownLegalBasis extends Problem { o tym, jaka jest podstawa prawna takiego przetwarzania danych.

- Zwracam się zatem z pytaniem: jakie były podstawy prawne ujawnienia moich danych - każdemu z wyżej wymienionych podmiotów przez Państwa stronę? + Zwracam się zatem z pytaniem:{' '} + + jakie były podstawy prawne ujawnienia moich danych każdemu z wyżej + wymienionych podmiotów przez Państwa stronę? +

); diff --git a/components/report-window/problems/unlawful-cookies.tsx b/components/report-window/problems/unlawful-cookies.tsx index c848502..6e03c34 100644 --- a/components/report-window/problems/unlawful-cookies.tsx +++ b/components/report-window/problems/unlawful-cookies.tsx @@ -162,9 +162,12 @@ export class UnlawfulCookieAccess extends Problem { '' )}

- {_('Proszę')} o wskazanie, czy być może stosowali Państwo inną podstawę prawną - do takiego przetwarzania {_('moich')} danych osobowych, czy przetwarzali je - państwo bez ważnej podstawy prawnej? + {_('Proszę')} o wskazanie,{' '} + + czy być może stosowali Państwo inną podstawę prawną do takiego przetwarzania{' '} + {_('moich')} danych osobowych, czy przetwarzali je państwo bez ważnej + podstawy prawnej? +

{maybe_unnecessary_hosts.length > 1 ? (