Add Impressum and Datenschutz pages with footer links
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/6d3074a3-7a69-4817-b739-a7eaed9a68d6 Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Upgraded `python-jose[cryptography]` from `3.3.0` to `3.4.0` to fix an algorithm-confusion vulnerability with OpenSSH ECDSA keys (CVE affects all versions < 3.4.0).
|
- Upgraded `python-jose[cryptography]` from `3.3.0` to `3.4.0` to fix an algorithm-confusion vulnerability with OpenSSH ECDSA keys (CVE affects all versions < 3.4.0).
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
- **Impressum & Datenschutz pages**: Added `/impressum` (legal notice per § 5 TMG) and `/datenschutz` (comprehensive privacy policy covering GDPR/DSGVO, CCPA, LGPD, and other international regulations) as public pages. Footer links to both pages were added to the dashboard layout and the login page.
|
||||||
- **Gmail Debug Email**: New "Send Debug Email" button in the Gmail API settings section. When clicked, it injects a test email into the user's Gmail inbox via the Gmail API. The message appears to be from `christian@docuelevate.org`, includes the current date in the subject line, and is automatically labelled with `test` and `imported` (labels are created on first use) and placed in the inbox. Useful for verifying end-to-end Gmail API delivery without requiring a full mail-account polling cycle.
|
- **Gmail Debug Email**: New "Send Debug Email" button in the Gmail API settings section. When clicked, it injects a test email into the user's Gmail inbox via the Gmail API. The message appears to be from `christian@docuelevate.org`, includes the current date in the subject line, and is automatically labelled with `test` and `imported` (labels are created on first use) and placed in the inbox. Useful for verifying end-to-end Gmail API delivery without requiring a full mail-account polling cycle.
|
||||||
- `GmailService.get_or_create_label()` async method: lists the user's Gmail labels and returns the matching label ID, creating the label if it does not yet exist.
|
- `GmailService.get_or_create_label()` async method: lists the user's Gmail labels and returns the matching label ID, creating the label if it does not yet exist.
|
||||||
- `GmailService.inject_debug_email()` async method: builds a properly formatted RFC 2822 test message and calls `inject_email()` with the INBOX, `test`, and `imported` label IDs.
|
- `GmailService.inject_debug_email()` async method: builds a properly formatted RFC 2822 test message and calls `inject_email()` with the INBOX, `test`, and `imported` label IDs.
|
||||||
|
|||||||
@@ -0,0 +1,384 @@
|
|||||||
|
import Link from 'next/link';
|
||||||
|
import type { Metadata } from 'next';
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Datenschutz – POP3 Forwarder',
|
||||||
|
};
|
||||||
|
|
||||||
|
const LAST_UPDATED = 'March 26, 2026';
|
||||||
|
const CONTACT_EMAIL = 'christianlouis@gmail.com';
|
||||||
|
|
||||||
|
export default function DatenschutzPage() {
|
||||||
|
return (
|
||||||
|
<div className="min-h-screen bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
|
||||||
|
<div className="max-w-3xl mx-auto bg-white rounded-lg shadow p-8">
|
||||||
|
<h1 className="text-3xl font-bold text-gray-900 mb-2">
|
||||||
|
Datenschutzhinweis
|
||||||
|
</h1>
|
||||||
|
<p className="text-sm text-gray-500 mb-8">
|
||||||
|
Letzte Aktualisierung: {LAST_UPDATED}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
{/* TOC */}
|
||||||
|
<nav className="mb-8 p-4 bg-gray-50 rounded-md text-sm text-blue-700 space-y-1">
|
||||||
|
<p className="font-semibold text-gray-700 mb-2">Inhalt</p>
|
||||||
|
{[
|
||||||
|
'Verantwortlicher',
|
||||||
|
'Geltungsbereich dieser Datenschutzerklärung',
|
||||||
|
'Datenerhebung & Zwecke',
|
||||||
|
'Datenminimierung & Zweckbindung',
|
||||||
|
'Verwendung von Cookies & ähnlichen Technologien',
|
||||||
|
'Drittanbieter-Dienste',
|
||||||
|
'Internationale Datenübertragungen',
|
||||||
|
'Datenaufbewahrung',
|
||||||
|
'Datensicherheit',
|
||||||
|
'Ihre Rechte (EU / EWR / UK / Schweiz)',
|
||||||
|
'Zusätzliche Rechte – Vereinigte Staaten (CCPA/CPRA)',
|
||||||
|
'Zusätzliche Rechte – Kanada (PIPEDA / Gesetz 25)',
|
||||||
|
'Zusätzliche Rechte – Lateinamerika (LGPD & andere)',
|
||||||
|
'Zusätzliche Rechte – Asien-Pazifik & Japan',
|
||||||
|
'Zusätzliche Rechte – Ukraine',
|
||||||
|
'Aktualisierungen zu dieser Datenschutzerklärung',
|
||||||
|
].map((title, i) => (
|
||||||
|
<div key={i}>
|
||||||
|
<a href={`#section-${i + 1}`} className="hover:underline">
|
||||||
|
{i + 1}. {title}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
{/* Sections */}
|
||||||
|
<section id="section-1" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
1. Verantwortlicher
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700 mb-3">
|
||||||
|
Der für die Verarbeitung Ihrer personenbezogenen Daten gemäß der
|
||||||
|
EU-Datenschutz-Grundverordnung (DSGVO) und gleichwertiger
|
||||||
|
Datenschutzgesetze weltweit verantwortliche Verantwortliche ist:
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mb-3">
|
||||||
|
Christian Louis IT Beratung<br />
|
||||||
|
Alter Steinweg 3, 20459 Hamburg, Deutschland
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Kontakt-E-Mail:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mt-2">
|
||||||
|
Bei allen datenschutzbezogenen Anfragen (Zugriff, Löschung,
|
||||||
|
Berichtigung, Widerspruch oder Beschwerden) kontaktieren Sie uns
|
||||||
|
bitte unter der obenstehenden E-Mail-Adresse. Wir werden innerhalb
|
||||||
|
von 30 Tagen (oder dem durch geltendes Recht vorgeschriebenen
|
||||||
|
Zeitraum) antworten.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-2" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
2. Geltungsbereich dieser Datenschutzerklärung
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Dieser Hinweis gilt für die POP3 Forwarder-Webanwendung. Er gilt
|
||||||
|
für alle Nutzer weltweit, einschließlich derjenigen in der
|
||||||
|
Europäischen Union (EU), dem Europäischen Wirtschaftsraum (EWR),
|
||||||
|
Deutschland, dem Vereinigten Königreich (UK), der Schweiz, der
|
||||||
|
Ukraine, den Vereinigten Staaten (US), Kanada, Lateinamerika,
|
||||||
|
dem asiatisch-pazifischen Raum und Japan.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-3" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
3. Datenerhebung & Zwecke
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700 mb-2">
|
||||||
|
<strong>Benutzerauthentifizierung:</strong> Wir verwenden OAuth 2.0
|
||||||
|
(Google) und optionale lokale Authentifizierung. Über OAuth können
|
||||||
|
wir Ihren Namen, Ihre E-Mail-Adresse und Ihr Profilbild erhalten.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mb-2">
|
||||||
|
<strong>E-Mail-Verarbeitung:</strong> E-Mails, die von Ihren
|
||||||
|
konfigurierten POP3-Konten abgerufen werden, werden ausschließlich
|
||||||
|
für den Zweck der Weiterleitung an Gmail verarbeitet. Der
|
||||||
|
E-Mail-Inhalt wird nicht länger gespeichert, als es betrieblich
|
||||||
|
notwendig ist.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mb-2">
|
||||||
|
<strong>Audit-Protokolle:</strong> Wir führen begrenzte Protokolle
|
||||||
|
(Aktionsart, Zeitstempel, Benutzeridentifikator), um die Integrität
|
||||||
|
und Sicherheit des Dienstes zu gewährleisten.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
<strong>Rechtsgrundlage (DSGVO Art. 6):</strong> (1)(b)
|
||||||
|
Vertragsdurchführung, (1)(c) Rechtliche Verpflichtung, (1)(f)
|
||||||
|
Berechtigte Interessen.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-4" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
4. Datenminimierung & Zweckbindung
|
||||||
|
</h2>
|
||||||
|
<ul className="list-disc list-inside text-gray-700 space-y-1">
|
||||||
|
<li>
|
||||||
|
Wir erheben nur die minimalen personenbezogenen Daten, die zur
|
||||||
|
Durchführung des Dienstes erforderlich sind.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
E-Mail-Inhalte werden ausschließlich für den von Ihnen
|
||||||
|
initiierten Weiterleitungszweck verarbeitet.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Es wird keine Werbung, Verhaltensverfolgung oder Profilierung
|
||||||
|
durchgeführt.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Es werden keine Tracking-Cookies oder Analysescripts geladen.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-5" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
5. Verwendung von Cookies & ähnlichen Technologien
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Der Dienst verwendet nur unbedingt erforderliche Sitzungscookies,
|
||||||
|
um Ihre authentifizierte Sitzung aufrechtzuerhalten. Diese Cookies
|
||||||
|
sind für die Funktion des Dienstes unerlässlich und sind von den
|
||||||
|
Anforderungen an vorherige Zustimmung gemäß der EU-E-Privacy-
|
||||||
|
Richtlinie (Art. 5(3)) ausgenommen. Wir verwenden keine
|
||||||
|
Analyse-Cookies, Werbe-Cookies oder Tracking-Pixel.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-6" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
6. Drittanbieter-Dienste
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700 mb-2">
|
||||||
|
<strong>OAuth-Anbieter (Google):</strong> Wenn Sie sich über OAuth
|
||||||
|
authentifizieren, verarbeitet der jeweilige Anbieter Ihre
|
||||||
|
Anmeldeinformationen gemäß seiner eigenen Datenschutzrichtlinie.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mb-2">
|
||||||
|
<strong>Gmail API:</strong> E-Mails werden über die Gmail API in
|
||||||
|
Ihr Gmail-Konto eingespielt. Ihre OAuth-Zugangsdaten werden
|
||||||
|
verschlüsselt gespeichert.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
<strong>Kein Verkauf oder Teilen für Werbung:</strong> Wir
|
||||||
|
verkaufen, vermieten oder teilen Ihre personenbezogenen Daten
|
||||||
|
nicht mit Dritten zu Werbungs- oder Marketingzwecken.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-7" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
7. Internationale Datenübertragungen
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Wenn personenbezogene Daten außerhalb des EWR übertragen werden,
|
||||||
|
verlassen wir uns auf geeignete Schutzmaßnahmen, einschließlich
|
||||||
|
Standardvertragsklauseln (SCCs) gemäß EU-Beschluss 2021/914/EU
|
||||||
|
sowie Angemessenheitsentscheidungen der Europäischen Kommission.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-8" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
8. Datenaufbewahrung
|
||||||
|
</h2>
|
||||||
|
<ul className="list-disc list-inside text-gray-700 space-y-1">
|
||||||
|
<li>
|
||||||
|
<strong>Sitzungsdaten:</strong> Wird gelöscht, wenn Sie sich
|
||||||
|
abmelden oder nach Ablauf der Sitzung.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Kontokonfiguration & Metadaten:</strong> Für die Dauer
|
||||||
|
Ihrer Nutzung des Dienstes aufbewahrt.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Audit-Protokolle:</strong> Für bis zu 90 Tage
|
||||||
|
aufbewahrt.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>OAuth-Token:</strong> In verschlüsselter Form gespeichert
|
||||||
|
und jederzeit über Ihren OAuth-Anbieter widerrufbar.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-9" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
9. Datensicherheit
|
||||||
|
</h2>
|
||||||
|
<ul className="list-disc list-inside text-gray-700 space-y-1">
|
||||||
|
<li>Verschlüsselung von Anmeldeinformationen im Ruhezustand.</li>
|
||||||
|
<li>
|
||||||
|
Transport Layer Security (TLS/HTTPS) für alle Kommunikationen.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Rollenbasierte Zugriffskontrollen zum Schutz personenbezogener
|
||||||
|
Daten.
|
||||||
|
</li>
|
||||||
|
<li>CSRF-Schutz für alle zustandsändernden Anfragen.</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-10" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
10. Ihre Rechte (EU / EWR / UK / Schweiz)
|
||||||
|
</h2>
|
||||||
|
<ul className="list-disc list-inside text-gray-700 space-y-1">
|
||||||
|
<li>
|
||||||
|
<strong>Recht auf Zugang (Art. 15):</strong> Kopie der über Sie
|
||||||
|
gespeicherten Daten.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Recht auf Berichtigung (Art. 16):</strong> Korrektur
|
||||||
|
ungenauer Daten.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Recht auf Löschung (Art. 17):</strong> Löschung Ihrer
|
||||||
|
persönlichen Daten.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Recht auf Einschränkung (Art. 18):</strong> Vorübergehende
|
||||||
|
Aussetzung der Verarbeitung.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Recht auf Datenübertragbarkeit (Art. 20):</strong> Daten
|
||||||
|
in maschinenlesbarem Format.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Widerspruchsrecht (Art. 21):</strong> Widerspruch gegen
|
||||||
|
Verarbeitung auf Basis berechtigter Interessen.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p className="text-gray-700 mt-3">
|
||||||
|
Um eines dieser Rechte auszuüben, kontaktieren Sie uns unter{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
. Beschwerden können an die zuständige Datenschutzbehörde (in
|
||||||
|
Deutschland: BfDI) gerichtet werden.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-11" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
11. Zusätzliche Rechte – Vereinigte Staaten (CCPA / CPRA)
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Wenn Sie ein Bewohner Kaliforniens oder eines anderen US-
|
||||||
|
Bundesstaates mit anwendbarer Datenschutzgesetzgebung sind, haben
|
||||||
|
Sie das Recht auf Auskunft, Löschung, Berichtigung und Widerspruch
|
||||||
|
gegen den Verkauf persönlicher Daten. Wir verkaufen oder teilen
|
||||||
|
keine personenbezogenen Informationen. Kontakt:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-12" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
12. Zusätzliche Rechte – Kanada (PIPEDA / Gesetz 25)
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Wenn Sie sich in Kanada befinden, haben Sie das Recht auf Zugang,
|
||||||
|
Korrektur und Widerruf der Zustimmung gemäß PIPEDA und den
|
||||||
|
provinziellen Datenschutzgesetzen. Kontakt:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-13" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
13. Zusätzliche Rechte – Lateinamerika (LGPD & andere)
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Brasilianische Nutzer haben gemäß LGPD (Lei 13.709/2018) das Recht
|
||||||
|
auf Bestätigung der Verarbeitung, Zugang, Berichtigung, Löschung
|
||||||
|
und Datenübertragbarkeit. Nutzer in anderen lateinamerikanischen
|
||||||
|
Ländern können entsprechende Rechte gemäß nationalem Recht ausüben.
|
||||||
|
Kontakt:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-14" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
14. Zusätzliche Rechte – Asien-Pazifik & Japan
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Nutzer in Japan (APPI), Australien (Privacy Act 1988), Südkorea
|
||||||
|
(PIPA) sowie anderen APJ-Märkten (Singapur PDPA, Neuseeland, Indien
|
||||||
|
DPDP) können entsprechende Datenschutzrechte ausüben. Kontakt:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-15" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
15. Zusätzliche Rechte – Ukraine
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Nutzer in der Ukraine sind nach dem ukrainischen Gesetz „Über den
|
||||||
|
Schutz persönlicher Daten“ (Nr. 2297-VI) geschützt. Ihre Rechte
|
||||||
|
umfassen Zugang, Berichtigung, Sperrung, Löschung und das Recht
|
||||||
|
auf Widerspruch gegen die Verarbeitung. Kontakt:{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="section-16" className="mb-8">
|
||||||
|
<h2 className="text-xl font-semibold text-gray-800 mb-3">
|
||||||
|
16. Aktualisierungen zu dieser Datenschutzerklärung
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Wir können diese Mitteilung von Zeit zu Zeit aktualisieren. Das
|
||||||
|
Datum „Letzte Aktualisierung“ am Anfang dieser Seite gibt an, wann
|
||||||
|
die Mitteilung zuletzt überarbeitet wurde. Bei wesentlichen
|
||||||
|
Änderungen werden wir die Nutzer durch eine Benachrichtigung in der
|
||||||
|
Anwendung oder per E-Mail informieren.
|
||||||
|
</p>
|
||||||
|
<p className="text-gray-700 mt-3">
|
||||||
|
Bei Fragen oder Bedenken kontaktieren Sie uns unter{' '}
|
||||||
|
<a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:text-blue-500">
|
||||||
|
{CONTACT_EMAIL}
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div className="border-t border-gray-200 pt-4 flex gap-4 text-sm text-gray-500">
|
||||||
|
<Link href="/impressum" className="hover:text-blue-600">
|
||||||
|
Impressum
|
||||||
|
</Link>
|
||||||
|
<Link href="/login" className="hover:text-blue-600">
|
||||||
|
Zurück zur Anmeldung
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
import Link from 'next/link';
|
||||||
|
import type { Metadata } from 'next';
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Impressum – POP3 Forwarder',
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function ImpressumPage() {
|
||||||
|
return (
|
||||||
|
<div className="min-h-screen bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
|
||||||
|
<div className="max-w-3xl mx-auto bg-white rounded-lg shadow p-8">
|
||||||
|
<h1 className="text-3xl font-bold text-gray-900 mb-6">Impressum</h1>
|
||||||
|
|
||||||
|
<section className="mb-6">
|
||||||
|
<h2 className="text-lg font-semibold text-gray-800 mb-2">
|
||||||
|
Angaben gemäß § 5 TMG
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Christian Louis IT Beratung<br />
|
||||||
|
Alter Steinweg 3<br />
|
||||||
|
20459 Hamburg<br />
|
||||||
|
Deutschland
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="mb-6">
|
||||||
|
<h2 className="text-lg font-semibold text-gray-800 mb-2">
|
||||||
|
Vertreten durch
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">Christian Krakau-Louis</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="mb-6">
|
||||||
|
<h2 className="text-lg font-semibold text-gray-800 mb-2">Kontakt</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Fax: +49 40 97074609<br />
|
||||||
|
E-Mail:{' '}
|
||||||
|
<a
|
||||||
|
href="mailto:christianlouis@gmail.com"
|
||||||
|
className="text-blue-600 hover:text-blue-500"
|
||||||
|
>
|
||||||
|
christianlouis@gmail.com
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="mb-6">
|
||||||
|
<h2 className="text-lg font-semibold text-gray-800 mb-2">
|
||||||
|
Umsatzsteuer-Identifikationsnummer
|
||||||
|
</h2>
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Umsatzsteuer-Identifikationsnummer gemäß § 27a Umsatzsteuergesetz:
|
||||||
|
<br />
|
||||||
|
DE202899017
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="mb-8">
|
||||||
|
<p className="text-gray-700">
|
||||||
|
Dieses Projekt ist Teil einer Open-Source-Initiative. Alle Rechte
|
||||||
|
vorbehalten.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div className="border-t border-gray-200 pt-4 flex gap-4 text-sm text-gray-500">
|
||||||
|
<Link href="/datenschutz" className="hover:text-blue-600">
|
||||||
|
Datenschutz
|
||||||
|
</Link>
|
||||||
|
<Link href="/login" className="hover:text-blue-600">
|
||||||
|
Zurück zur Anmeldung
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -149,6 +149,15 @@ export default function LoginPage() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<div className="mt-6 flex justify-center gap-4 text-xs text-gray-400">
|
||||||
|
<Link href="/impressum" className="hover:text-gray-600 transition-colors">
|
||||||
|
Impressum
|
||||||
|
</Link>
|
||||||
|
<Link href="/datenschutz" className="hover:text-gray-600 transition-colors">
|
||||||
|
Datenschutz
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -157,6 +157,18 @@ export function DashboardLayout({ children }: DashboardLayoutProps) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
{/* Footer */}
|
||||||
|
<footer className="border-t border-gray-200 bg-white py-4 px-4 sm:px-6 lg:px-8">
|
||||||
|
<div className="mx-auto max-w-7xl flex flex-wrap justify-center gap-4 text-xs text-gray-400">
|
||||||
|
<Link href="/impressum" className="hover:text-gray-600 transition-colors">
|
||||||
|
Impressum
|
||||||
|
</Link>
|
||||||
|
<Link href="/datenschutz" className="hover:text-gray-600 transition-colors">
|
||||||
|
Datenschutz
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user