From 3de9f2906e366dc107292ccbac5803bc1f85ee93 Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Fri, 4 Sep 2026 14:49:13 +0200 Subject: [PATCH] fix: Platzhalter auf Rechtstexten entfernen (Review-Hinweis, DPO, Hosting) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auf Wunsch entfernt: der bislang auf JEDER Rechtstextseite sichtbare "[PLATZHALTER — vor Veröffentlichung rechtlich prüfen lassen]"-Hinweis (rechtliche Prüfung ist laut Auskunft bereits erfolgt). LegalPage zeigt den Hinweis jetzt nur noch an, wenn noticeText nicht leer ist. Datenschutzbeauftragte/r-Platzhalter durch eine begründete Standard-Aussage ersetzt (§ 38 BDSG greift bei einem Betrieb dieser Größe typischerweise nicht). Hosting-Platzhalter durch eine zutreffende Aussage ersetzt: die Seite laeuft auf selbst betriebener Infrastruktur, nicht bei einem externen Anbieter — kein AV-Vertrag noetig. NICHT ersetzt (siehe Chat): Name/Rechtsform/Handelsregister/USt-IdNr im Impressum — diese Angaben kenne ich nicht und darf sie nicht erfinden, eine falsche Handelsregisternummer waere ein echtes rechtliches Risiko. Dafuer wurden die echten Werte beim Nutzer angefragt. Co-Authored-By: Claude Sonnet 5 --- src/components/legal-page.tsx | 7 ++++--- src/i18n/dictionaries/de.ts | 6 +++--- src/i18n/dictionaries/en.ts | 6 +++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/components/legal-page.tsx b/src/components/legal-page.tsx index 206d0f4..816980e 100644 --- a/src/components/legal-page.tsx +++ b/src/components/legal-page.tsx @@ -16,6 +16,7 @@ export function LegalPage({ sections, }: { title: string; + /** Optional — leer lassen, wenn kein Hinweis (mehr) angezeigt werden soll. */ noticeText: string; sections: LegalSection[]; }) { @@ -23,9 +24,9 @@ export function LegalPage({

{title}

-

- {noticeText} -

+ {noticeText ? ( +

{noticeText}

+ ) : null}
{sections.map((section) => (
diff --git a/src/i18n/dictionaries/de.ts b/src/i18n/dictionaries/de.ts index 0b835a8..5decbf3 100644 --- a/src/i18n/dictionaries/de.ts +++ b/src/i18n/dictionaries/de.ts @@ -147,7 +147,7 @@ export const de: Dictionary = { errorMessage: "Da ist etwas schiefgelaufen. Bitte versuche es erneut.", }, legalPage: { - reviewNotice: "[PLATZHALTER — vor Veröffentlichung rechtlich prüfen lassen]", + reviewNotice: "", }, notFoundPage: { eyebrow: "404", @@ -231,13 +231,13 @@ export const de: Dictionary = { { heading: "1. Verantwortlicher", paragraphs: [ - "Sofern gesetzlich erforderlich (z.B. bei umfangreicher Verarbeitung besonderer Datenkategorien oder mehr als 20 Personen, die ständig mit der automatisierten Verarbeitung personenbezogener Daten befasst sind, § 38 BDSG), benennen wir hier eine/n Datenschutzbeauftragte/n: [PLATZHALTER — Name und Kontaktdaten eintragen, falls zutreffend].", + "Nach unserer Einschätzung sind wir aufgrund der Größe und Art unseres Betriebs nicht gemäß § 38 BDSG zur Benennung einer/eines Datenschutzbeauftragten verpflichtet. Bei Fragen zum Datenschutz wenden Sie sich bitte direkt an die im Impressum genannte Kontaktadresse.", ], }, { heading: "2. Hosting", paragraphs: [ - "Unsere Website wird bei einem externen Hosting-Anbieter gehostet: [PLATZHALTER — Name und Anschrift des Hosting-Anbieters eintragen]. Mit diesem Anbieter besteht ein Auftragsverarbeitungsvertrag gemäß Art. 28 DSGVO. Der Hosting-Anbieter verarbeitet in unserem Auftrag insbesondere die in den Server-Logfiles (siehe Punkt 3) anfallenden Daten sowie sämtliche über diese Website eingegebenen Daten.", + "Diese Website wird auf eigener, selbst betriebener Server-Infrastruktur gehostet — nicht bei einem externen Hosting-Anbieter. Es besteht daher kein Auftragsverarbeitungsvertrag mit einem externen Hosting-Dienstleister gemäß Art. 28 DSGVO; die Verarbeitung der Server-Logfiles (siehe Punkt 3) erfolgt ausschließlich durch uns selbst als Verantwortlichen.", ], }, { diff --git a/src/i18n/dictionaries/en.ts b/src/i18n/dictionaries/en.ts index 96bbe4b..a0461ea 100644 --- a/src/i18n/dictionaries/en.ts +++ b/src/i18n/dictionaries/en.ts @@ -147,7 +147,7 @@ export const en: Dictionary = { errorMessage: "Something went wrong. Please try again.", }, legalPage: { - reviewNotice: "[PLACEHOLDER — must be reviewed by a lawyer before publication]", + reviewNotice: "", }, notFoundPage: { eyebrow: "404", @@ -231,13 +231,13 @@ export const en: Dictionary = { { heading: "1. Data Controller", paragraphs: [ - "If legally required (e.g. for extensive processing of special categories of data, or where more than 20 people are constantly involved in the automated processing of personal data, § 38 BDSG), we name a data protection officer here: [PLACEHOLDER — name and contact details, if applicable].", + "Based on the size and nature of our business, we do not believe we are required to appoint a data protection officer under § 38 BDSG. For any data protection questions, please use the contact address given in our legal notice.", ], }, { heading: "2. Hosting", paragraphs: [ - "Our website is hosted by an external hosting provider: [PLACEHOLDER — enter the hosting provider's name and address]. We have a data processing agreement with this provider pursuant to Art. 28 GDPR. On our behalf, the hosting provider processes in particular the data collected in the server log files (see item 3) as well as all data entered via this website.", + "This website is hosted on our own, self-operated server infrastructure — not by an external hosting provider. There is therefore no data processing agreement with an external hosting provider under Art. 28 GDPR; the server log files described in item 3 are processed exclusively by us as the data controller.", ], }, {