Add short version of privacy policy

This commit is contained in:
Marvin Sextro 2021-07-27 03:09:51 +02:00
parent 9009f51c97
commit d46f711b59
11 changed files with 64 additions and 18 deletions

20
components/Check.tsx Normal file
View File

@ -0,0 +1,20 @@
import {useTranslation} from 'next-i18next';
interface CheckProps {
text: string;
}
function Check(props: CheckProps): JSX.Element {
const { t } = useTranslation(["index"]);
return (
<li className="flex flex-row space-x-4 items-center">
<svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 mx-2 fill-current text-green-500" viewBox="0 0 20 20" fill="currentColor">
<path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
</svg>
{props.text}
</li>
)
}
export default Check;

View File

@ -7,6 +7,7 @@ import Link from 'next/link';
import Card from "./Card"; import Card from "./Card";
import Alert from "./Alert"; import Alert from "./Alert";
import Check from './Check';
import {PayloadBody} from "../src/payload"; import {PayloadBody} from "../src/payload";
import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process"; import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process";
import {PassData} from "../src/pass"; import {PassData} from "../src/pass";
@ -238,6 +239,13 @@ function Form(): JSX.Element {
</a> </a>
</Link>. </Link>.
</p> </p>
<div>
<ul className="list-none">
<Check text={t('createdOnDevice')}></Check>
<Check text={t('openSourceTransparent')}></Check>
<Check text={t('hostedInEU')}></Check>
</ul>
</div>
<label htmlFor="privacy" className="flex flex-row space-x-4 items-center"> <label htmlFor="privacy" className="flex flex-row space-x-4 items-center">
<input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/> <input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/>
<p> <p>

View File

@ -10,7 +10,7 @@ function Imprint(): JSX.Element {
return ( return (
<Page content={ <Page content={
<Card step="§" heading={t('common:imprint')} content={ <Card step="§" heading={t('common:imprint')} content={
<div className="space-y-2"> <div className="space-y-3">
<p className="font-bold">{t('imprint:heading')}</p> <p className="font-bold">{t('imprint:heading')}</p>
<p> <p>
Marvin Sextro<br /> Marvin Sextro<br />

View File

@ -9,10 +9,10 @@ function Privacy(): JSX.Element {
return ( return (
<Page content={ <Page content={
<Card step="i" heading={t('common:privacyPolicy')} content={ <Card step="i" heading={t('common:privacyPolicy')} content={
<div className="space-y-2"> <div className="space-y-3">
<p>{t('privacy:gdprNotice')}</p> <p>{t('privacy:gdprNotice')}</p>
<p className="font-bold">{t('privacy:generalInfo')}</p> <p className="font-bold text-lg">{t('privacy:generalInfo')}</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:generalInfoProcess')}</li> <li>{t('privacy:generalInfoProcess')}</li>
<li>{t('privacy:generalInfoStoring')}</li> <li>{t('privacy:generalInfoStoring')}</li>
@ -62,7 +62,7 @@ function Privacy(): JSX.Element {
</p> </p>
<p className="font-bold">{t('privacy:process')}</p> <p className="font-bold">{t('privacy:process')}</p>
<p>{t('privacy:processFirst')}:</p> <p>{t('privacy:processFirst')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processRecognizing')}</li> <li>{t('privacy:processRecognizing')}</li>
<li>{t('privacy:processDecoding')}</li> <li>{t('privacy:processDecoding')}</li>
@ -72,7 +72,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p>{t('privacy:processSecond')}:</p> <p>{t('privacy:processSecond')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processReceiving')}</li> <li>{t('privacy:processReceiving')}</li>
<li>{t('privacy:processSigning')}</li> <li>{t('privacy:processSigning')}</li>
@ -80,7 +80,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p>{t('privacy:processThird')}:</p> <p>{t('privacy:processThird')}:</p>
<div className="px-4"> <div className="px-5">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:processCompleting')}</li> <li>{t('privacy:processCompleting')}</li>
<li>{t('privacy:processSaving')}</li> <li>{t('privacy:processSaving')}</li>
@ -107,7 +107,7 @@ function Privacy(): JSX.Element {
91710 Gunzenhausen<br /> 91710 Gunzenhausen<br />
</p> </p>
<p>{t('privacy:logFiles')}:</p> <p>{t('privacy:logFiles')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:logFilesBrowser')}</li> <li>{t('privacy:logFilesBrowser')}</li>
<li>{t('privacy:logFilesOs')}</li> <li>{t('privacy:logFilesOs')}</li>
@ -118,7 +118,7 @@ function Privacy(): JSX.Element {
</div> </div>
<p className="font-bold">{t('privacy:rights')}</p> <p className="font-bold">{t('privacy:rights')}</p>
<p>{t('privacy:rightsGranted')}:</p> <p>{t('privacy:rightsGranted')}:</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li>{t('privacy:rightsAccess')}</li> <li>{t('privacy:rightsAccess')}</li>
<li>{t('privacy:rightsErasure')}</li> <li>{t('privacy:rightsErasure')}</li>
@ -127,7 +127,7 @@ function Privacy(): JSX.Element {
</ul> </ul>
</div> </div>
<p className="font-bold">{t('privacy:thirdParties')}</p> <p className="font-bold">{t('privacy:thirdParties')}</p>
<div className="px-4"> <div className="pl-6">
<ul className="list-disc"> <ul className="list-disc">
<li> <li>
GitHub: GitHub:

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Datenschutz hat einen besonders hohen Stellenwert, wenn es um die Verarbeitung von gesundheitsbezogenen Daten geht. Datenschutz hat einen besonders hohen Stellenwert, wenn es um die Verarbeitung von gesundheitsbezogenen Daten geht.
Damit Du eine fundierte Entscheidung triffst, lies bitte die Damit Du eine fundierte Entscheidung triffst, lies bitte die
iAcceptThe: Ich akzeptiere die iAcceptThe: Ich akzeptiere die
privacyPolicy: Datenschutzerklärung privacyPolicy: Datenschutzerklärung
createdOnDevice: Auf Deinem Gerät erstellt
openSourceTransparent: Open Source und transparent
hostedInEU: In der EU gehostet

View File

@ -24,6 +24,6 @@ dataPrivacyDescription: |
Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την
iAcceptThe: Αποδέχομαι την iAcceptThe: Αποδέχομαι την
privacyPolicy: Πολιτική Απορρήτου privacyPolicy: Πολιτική Απορρήτου
noCameraAccess: Αποτυχία πρόσβασης στην κάμερα. Ελέγξτε τα δικαιώματα στις Ρυθμίσεις > Safari > Κάμερα. createdOnDevice: Δημιουργήθηκε στη συσκευή σας
noCameraFound: Δεν βρέθηκε κάποια κάμερα. OpenSourceTransparent: Ανοιχτού κώδικα και διαφανής
safariSupportOnly: Στο iOS, παρακαλώ χρησιμοποιήστε τον περιηγητή Safari. hostedInEU: φιλοξενείται στην ΕΕ

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Data privacy is of special importance when processing health-related data. Data privacy is of special importance when processing health-related data.
In order for you to make an informed decision, please read the In order for you to make an informed decision, please read the
iAcceptThe: I accept the iAcceptThe: I accept the
privacyPolicy: Privacy Policy privacyPolicy: Privacy Policy
createdOnDevice: Created on your device
openSourceTransparent: Open source and transparent
hostedInEU: Hosted in the EU

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Tietosuoja on erityisen tärkeää, kun käsitellään terveyteen liittyviä tietoja. Tietosuoja on erityisen tärkeää, kun käsitellään terveyteen liittyviä tietoja.
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
iAcceptThe: Hyväksyn iAcceptThe: Hyväksyn
privacyPolicy: Tietosuojaselosteen privacyPolicy: Tietosuojaselosteen
createdOnDevice: Luotu laitteellasi
openSourceTransparent: Avoin lähdekoodi ja läpinäkyvä
hostedInEU: Isännöidään EU:ssa.

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la
iAcceptThe: J'accepte la iAcceptThe: J'accepte la
privacyPolicy: Politique de confidentialité privacyPolicy: Politique de confidentialité
createdOnDevice : Créé sur votre appareil
openSourceTransparent : Open source et transparent
hostedInEU : Hébergé dans l'UE

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
La riservatezza dei dati è di particolare importanza quando si elaborano dati relativi alla salute. La riservatezza dei dati è di particolare importanza quando si elaborano dati relativi alla salute.
Per poter prendere una decisione informata, si prega di leggere il Per poter prendere una decisione informata, si prega di leggere il
iAcceptThe: Accetto il iAcceptThe: Accetto il
privacyPolicy: Politica sulla Riservatezza privacyPolicy: Politica sulla Riservatezza
createdOnDevice: Creato sul tuo dispositivo
openSourceTransparent: Open source e trasparente
hostedInEU: Ospitato nell'UE

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Gegevensprivacy is van bijzonder belang bij de verwerking van gezondheidsgerelateerde gegevens. Gegevensprivacy is van bijzonder belang bij de verwerking van gezondheidsgerelateerde gegevens.
Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de
iAcceptThe: Ik accepteer het iAcceptThe: Ik accepteer het
privacyPolicy: Privacybeleid privacyPolicy: Privacybeleid
createdOnDevice: Aangemaakt op uw apparaat
openSourceTransparent: Open source en transparant
hostedInEU: Gehost in de EU