2021-07-02 20:55:26 +02:00
|
|
|
import {useTranslation} from 'next-i18next';
|
|
|
|
import {serverSideTranslations} from 'next-i18next/serverSideTranslations';
|
|
|
|
|
2021-07-01 00:49:05 +02:00
|
|
|
import Page from '../components/Page'
|
|
|
|
import Card from '../components/Card'
|
|
|
|
|
|
|
|
function Privacy(): JSX.Element {
|
2021-07-02 20:55:26 +02:00
|
|
|
const { t } = useTranslation(['common', 'index', 'privacy']);
|
2021-07-01 00:49:05 +02:00
|
|
|
return (
|
|
|
|
<Page content={
|
2021-07-02 20:55:26 +02:00
|
|
|
<Card step="i" heading={t('common:privacyPolicy')} content={
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="space-y-3">
|
2021-07-02 20:55:26 +02:00
|
|
|
<p>{t('privacy:gdprNotice')}</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<p className="font-bold text-lg">{t('privacy:generalInfo')}</p>
|
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:generalInfoProcess')}</li>
|
|
|
|
<li>{t('privacy:generalInfoStoring')}</li>
|
|
|
|
<li>{t('privacy:generalInfoThirdParties')}</li>
|
|
|
|
<li>{t('privacy:generalInfoHttps')}</li>
|
|
|
|
<li>{t('privacy:generalInfoLocation')}</li>
|
|
|
|
<li>
|
|
|
|
{t('privacy:generalInfoGitHub')}
|
|
|
|
|
|
|
|
<a href="https://github.com/marvinsxtr/covidpass" className="underline">
|
|
|
|
GitHub
|
|
|
|
</a>.
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
{t('privacy:generalInfoLockScreen')}
|
|
|
|
|
|
|
|
<a href="https://support.apple.com/guide/iphone/control-access-information-lock-screen-iph9a2a69136/ios" className="underline">
|
|
|
|
{t('privacy:settings')}
|
|
|
|
</a>.
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
{t('privacy:generalInfoProvider')}
|
|
|
|
<a href="https://www.hetzner.com/de/rechtliches/datenschutz/" className="underline">
|
|
|
|
{t('privacy:privacyPolicy')}
|
|
|
|
</a>
|
2021-07-24 21:55:34 +02:00
|
|
|
|
2021-07-02 20:55:26 +02:00
|
|
|
{t('privacy:andThe')}
|
|
|
|
|
|
|
|
<a href="https://docs.hetzner.com/general/general-terms-and-conditions/data-privacy-faq/privacy.tsx" className="underline">
|
|
|
|
{t('privacy:dataPrivacyFaq')}
|
|
|
|
</a>.
|
2021-07-01 00:49:05 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:contact')}</p>
|
2021-07-01 00:49:05 +02:00
|
|
|
<p>
|
2021-12-02 01:02:20 +01:00
|
|
|
Marvin Sextro
|
|
|
|
<br/>
|
2021-07-02 20:55:26 +02:00
|
|
|
{t('privacy:email')}:
|
|
|
|
|
2021-12-02 01:02:20 +01:00
|
|
|
<a href="mailto:covidpass@marvinsextro.de" className="underline">covidpass@marvinsextro.de</a>
|
2021-07-02 20:55:26 +02:00
|
|
|
<br/>
|
|
|
|
{t('privacy:website')}:
|
|
|
|
|
|
|
|
<a href="https://marvinsextro.de" className="underline">https://marvinsextro.de</a>
|
2021-07-01 00:49:05 +02:00
|
|
|
</p>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:process')}</p>
|
|
|
|
<p>{t('privacy:processFirst')}:</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:processRecognizing')}</li>
|
|
|
|
<li>{t('privacy:processDecoding')}</li>
|
|
|
|
<li>{t('privacy:processAssembling')}</li>
|
|
|
|
<li>{t('privacy:processGenerating')}</li>
|
|
|
|
<li>{t('privacy:processSending')}</li>
|
2021-07-01 00:49:05 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p>{t('privacy:processSecond')}:</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:processReceiving')}</li>
|
|
|
|
<li>{t('privacy:processSigning')}</li>
|
|
|
|
<li>{t('privacy:processSendingBack')}</li>
|
2021-07-01 00:49:05 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p>{t('privacy:processThird')}:</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="px-5">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:processCompleting')}</li>
|
|
|
|
<li>{t('privacy:processSaving')}</li>
|
2021-07-01 00:49:05 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:locallyProcessedData')}</p>
|
2021-07-01 00:49:05 +02:00
|
|
|
<p>
|
2021-07-02 20:55:26 +02:00
|
|
|
{t('privacy:the')}
|
|
|
|
|
|
|
|
<a href="https://github.com/ehn-dcc-development/ehn-dcc-schema" className="underline">
|
|
|
|
{t('privacy:schema')}
|
|
|
|
</a>
|
|
|
|
|
|
|
|
{t('privacy:specification')}
|
2021-07-01 00:49:05 +02:00
|
|
|
</p>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:serverProvider')}</p>
|
|
|
|
<p>{t('privacy:serverProviderIs')}</p>
|
2021-07-01 00:49:05 +02:00
|
|
|
<p>
|
2021-07-02 20:55:26 +02:00
|
|
|
<a href="https://www.hetzner.com/" className="underline">
|
|
|
|
Hetzner Online GmbH
|
|
|
|
</a>
|
|
|
|
<br />
|
|
|
|
Industriestr. 25<br />
|
|
|
|
91710 Gunzenhausen<br />
|
2021-07-01 00:49:05 +02:00
|
|
|
</p>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p>{t('privacy:logFiles')}:</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:logFilesBrowser')}</li>
|
|
|
|
<li>{t('privacy:logFilesOs')}</li>
|
|
|
|
<li>{t('privacy:logFilesReferrer')}</li>
|
|
|
|
<li>{t('privacy:logFilesTime')}</li>
|
|
|
|
<li>{t('privacy:logFilesIpAddress')}</li>
|
2021-07-01 00:49:05 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:rights')}</p>
|
|
|
|
<p>{t('privacy:rightsGranted')}:</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
2021-07-02 20:55:26 +02:00
|
|
|
<li>{t('privacy:rightsAccess')}</li>
|
|
|
|
<li>{t('privacy:rightsErasure')}</li>
|
|
|
|
<li>{t('privacy:rightsRectification')}</li>
|
|
|
|
<li>{t('privacy:rightsPortability')}</li>
|
2021-07-01 00:49:05 +02:00
|
|
|
</ul>
|
|
|
|
</div>
|
2021-07-02 20:55:26 +02:00
|
|
|
<p className="font-bold">{t('privacy:thirdParties')}</p>
|
2021-07-27 03:09:51 +02:00
|
|
|
<div className="pl-6">
|
2021-07-01 00:49:05 +02:00
|
|
|
<ul className="list-disc">
|
|
|
|
<li>
|
2021-07-02 20:55:26 +02:00
|
|
|
GitHub:
|
|
|
|
|
|
|
|
<a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" className="underline">
|
|
|
|
{t('common:privacyPolicy')}
|
|
|
|
</a>
|
2021-07-01 00:49:05 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-12-02 01:02:20 +01:00
|
|
|
Ko-fi:
|
2021-07-02 20:55:26 +02:00
|
|
|
|
2021-12-02 01:02:20 +01:00
|
|
|
<a href="https://more.ko-fi.com/privacy" className="underline">
|
2021-07-02 20:55:26 +02:00
|
|
|
{t('common:privacyPolicy')}
|
|
|
|
</a>
|
2021-07-01 00:49:05 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-07-02 20:55:26 +02:00
|
|
|
Gmail/Google:
|
|
|
|
|
|
|
|
<a href="https://policies.google.com/privacy?hl=en-US" className="underline">
|
|
|
|
{t('common:privacyPolicy')}
|
|
|
|
</a>
|
2021-07-01 00:49:05 +02:00
|
|
|
</li>
|
|
|
|
<li>
|
2021-07-02 20:55:26 +02:00
|
|
|
{t('privacy:appleSync')}:
|
|
|
|
|
|
|
|
<a href="https://www.apple.com/legal/privacy/en-ww/privacy.tsx" className="underline">
|
|
|
|
{t('common:privacyPolicy')}
|
|
|
|
</a>
|
2021-07-01 00:49:05 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
}/>
|
|
|
|
}/>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2021-07-03 11:59:59 +02:00
|
|
|
export async function getStaticProps({ locale }) {
|
2021-07-02 20:55:26 +02:00
|
|
|
return {
|
|
|
|
props: {
|
|
|
|
...(await serverSideTranslations(locale, ['index', 'privacy', 'common'])),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2021-07-01 00:49:05 +02:00
|
|
|
export default Privacy;
|