legal: Datenschutzerklärung 0.4 ab 16.10., Turnstile ohne IP, Art.-14-Hinweis in Pressekontakt-Mails

Rechtspaket 10/2026, Deploy A (Ist-Berichtigung). DSE 0.4 als Blade-Fassung
mit drei Partials (Aktivitätsverlauf, Bilder, Beweisarchiv); Version und
Stand kommen aus legal_documents, der Seeder trägt 0.4 mit Gültigkeit
16.10.2026 ein. Neue Abschnitte: Fehlerprotokoll (3a, nur serverseitig),
Kontosicherheit (7a), Zustellbarkeit (12a), Archivfunktion statt § 57 MStV,
nur OpenAI als Prüfanbieter, vollständige Fristenliste; kommende Fristen aus
Deploy B stehen als „führen wir ein“. Turnstile sendet kein remoteip mehr.
Pressekontakt-Mails verweisen unter dem Abmeldehinweis auf die DSE.

Changelog: Verbessert
Public: Die Datenschutzerklärung beschreibt ab dem 16. Oktober in Version 0.4 alle laufenden Verarbeitungen, Fristen und das Beweisarchiv; Pressekontakte finden den Link dazu in jeder Benachrichtigung.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-10-15 12:48:28 +00:00
parent ce5d882280
commit d56f758e2e
10 changed files with 436 additions and 108 deletions

View file

@ -79,8 +79,10 @@ class TurnstileVerifier
->timeout((int) config('services.turnstile.timeout', 3))
->post(self::ENDPOINT, array_filter([
'secret' => config('services.turnstile.secret_key'),
// Kein `remoteip`: Cloudflare braucht die IP für die
// Token-Prüfung nicht (optional laut Doku); Rechtspaket
// 10/2026 verzichtet auf die zusätzliche Übermittlung.
'response' => $token,
'remoteip' => $ip,
]));
} catch (ConnectionException) {
return $this->unavailable('siteverify_unreachable', $action, $ip);

View file

@ -18,6 +18,7 @@ class LegalDocumentSeeder extends Seeder
$documents = [
[LegalDocument::TYPE_AGB, '0.6', '2026-07-03', 'B2B-Fassung (E2), anwaltsreif; externe Vorprüfung 11/11 bestätigt'],
[LegalDocument::TYPE_DATENSCHUTZ, '0.3', '2026-07-03', 'B2B-angepasst; host-aware Bausteine Hub/Spokes'],
[LegalDocument::TYPE_DATENSCHUTZ, '0.4', '2026-10-16', 'Rechtspaket 10/2026, Deploy A: Ist-Berichtigung (Fehlerprotokoll, Kontosicherheit, Aktivitätsverlauf, Zustellbarkeit, Bilder, Beweisarchiv, Archivfunktion statt § 57 MStV, nur OpenAI, Fristenliste)'],
[LegalDocument::TYPE_RICHTLINIEN, '0.1', '2026-07-03', 'Rahmentext; Kategorien aus rejection_categories'],
[LegalDocument::TYPE_RICHTLINIEN, '0.2', '2026-09-22', 'Prüfung als „automatisiert“ beschrieben, Abschnitt „Bilder“ (Bildkennzeichnung D.6, Decision-Update 3.5)'],
[LegalDocument::TYPE_MELDEVERFAHREN, '0.1', '2026-07-03', 'Drei Wege: DSA / DSGVO / Depublikation'],

View file

@ -19,4 +19,11 @@
Ihre E-Mail-Benachrichtigungen verwalten Sie außerdem jederzeit in Ihrem
<a href="{{ config('domains.domain_portal_url') }}/admin/me/profile">Konto unter „Mein Profil"</a>.
</p>
{{-- Art. 14 DSGVO (Rechtspaket 10/2026): Pressekontakte ohne Konto erfahren
hier, welche Daten wir zu ihnen verarbeiten und wie lange. --}}
<p>
Welche Daten wir zu Ihnen als Pressekontakt verarbeiten, wie lange wir sie speichern und
welche Rechte Sie haben, steht in unserer
<a href="{{ rtrim((string) config('domains.domain_portal_url'), '/') }}/de/datenschutz">Datenschutzerklärung</a>.
</p>
</div>

View file

@ -4,10 +4,14 @@
@section('meta_description', 'Informationen zur Verarbeitung personenbezogener Daten: Hosting, Kundenkonto, Zahlungsabwicklung, Inhaltsprüfung, Meldeverfahren und Ihre Rechte.')
@php
// Datenschutzerklärung v0.3 (docs/legal, 03.07.2026) — Bausteine je Host:
// Hub rendert Kundenkonto/Stripe/Login-Variante, die Spokes die
// Portal-Bausteine (Medienprivileg, Newsroom, Änderungslink-Variante).
// Systemwerte: Magic-Link-TTL 15 Min. (MagicLinkGenerator::createLoginLink).
// Datenschutzerklärung v0.4 (Rechtspaket 10/2026, Deploy A) — Bausteine je Host:
// Hub rendert Kundenkonto/Kontosicherheit/Stripe/Login-Variante, die Spokes die
// Portal-Bausteine (Archivfunktion, Newsroom, Änderungslink-Variante).
// Grundsatz dieser Fassung: Ist-Stand beschreiben; kommende Fristen
// (Deploy B) stehen als „führen wir ein“, nie als umgesetzt.
// Systemwerte: Magic-Link-TTL 15 Min. (MagicLinkGenerator::createLoginLink),
// Meldebestätigungslink 72 h (LEGAL_REPORT_LINK_TTL_HOURS), Link-Datensätze
// 30 Tage nach Verbrauch (PurgeMagicLinks).
$host = request()->getHost();
$isHub = str_contains($host, 'pressekonto');
$brandKey = $isHub ? 'pressekonto' : (str_contains($host, 'presseecho') ? 'presseecho' : 'businessportal24');
@ -18,6 +22,9 @@
$hubUrl = rtrim((string) config('domains.domain_portal_url', config('app.url')), '/');
$hubLabel = str_replace(['https://', 'http://'], '', $hubUrl);
$magicLinkTtl = '15 Minuten';
$dseDocument = \App\Models\LegalDocument::current(\App\Models\LegalDocument::TYPE_DATENSCHUTZ);
$dseVersion = $dseDocument?->version ?? '0.4';
$dseStand = $dseDocument?->effectiveFromFormatted() ?? '';
@endphp
@section('content')
@ -25,7 +32,7 @@
:eyebrow="__('static.legal.eyebrow')"
title="Datenschutzerklärung"
breadcrumb="Datenschutz"
updated="Stand: 3. Juli 2026 · Version 0.3"
updated="Stand: {{ $dseStand }} · Version {{ $dseVersion }}"
>
<x-web.legal-language-notice />
@ -94,6 +101,33 @@
erforderlich macht.
</p>
<h2>3a. Fehlerprotokoll</h2>
<p>
Um technische Fehler zu erkennen und zu beheben, übermitteln unsere Server Fehlerberichte an
eine selbst betriebene Fehlerdatenbank (GlitchTip). Diese befindet sich auf einem Server der
Hetzner Online GmbH, Industriestraße 25, 91710 Gunzenhausen, im Rechenzentrum Falkenstein in
Deutschland. Hetzner verarbeitet Daten für uns auf Grundlage eines
Auftragsverarbeitungsvertrags.
</p>
<p>
Der Bericht enthält insbesondere Zeitpunkt, Fehlermeldung und betroffene Programmstelle, die
bereinigte Seitenadresse und Herkunftsseite, Browser, Betriebssystem und Softwarestand. Bei
angemeldeten Nutzern kann die interne Nutzerkennung enthalten sein, soweit sie zur Zuordnung
und Behebung des Fehlers benötigt wird. Zugangs- und Bestätigungscodes werden ersetzt;
Abfrageparameter werden bis auf eine begrenzte Freigabeliste entfernt. IP-Adressen, Cookies,
Formulareingaben und Anfrageinhalte werden nicht als Felder in den Fehlerbericht übernommen.
Erkennbare E-Mail-Adressen in Fehlertexten werden ersetzt. Technische Freitexte können trotz
Bereinigung im Einzelfall personenbezogene Angaben enthalten; diese werden nur zur
Fehlerbehebung verarbeitet und bei fehlendem Bedarf entfernt. Eine Fehlererfassung in Ihrem
Browser setzen wir nicht ein.
</p>
<p>
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Unser Interesse besteht im sicheren und
funktionsfähigen Betrieb. Fehlerberichte löschen wir spätestens nach 90 Tagen, soweit nicht
in einem konkreten Sicherheits- oder Rechtsfall eine gesondert begründete Sicherung
erforderlich ist.
</p>
<h2>4. Cookies und technisch notwendige Speicherungen</h2>
<p>Wir verwenden keine Marketing-Cookies und keine Tracking-Cookies.</p>
@if ($isHub)
@ -125,8 +159,10 @@
geräteübergreifendes Tracking statt. Es werden keine Nutzerprofile erstellt.
</p>
<p>
Bei der Erfassung werden IP-Adressen unmittelbar vollständig anonymisiert. Ein Rückschluss
auf Ihre Person oder Ihr genaues Gerät ist dadurch ausgeschlossen.
IP-Adressen werden nicht gespeichert. Besuche werden über einen täglich wechselnden, aus
technischen Merkmalen gebildeten Prüfwert gezählt, der nach Ablauf des Tages keiner Person
und keinem Gerät mehr zugeordnet werden kann. Die Rohdaten der Analyse-Instanz werden
spätestens nach 13 Monaten gelöscht.
</p>
<p>Verarbeitet werden ausschließlich aggregierte Nutzungsdaten, insbesondere:</p>
<ul>
@ -207,48 +243,50 @@
Aufbewahrungspflichten oder berechtigten Interessen an einer weiteren Speicherung
entgegenstehen.
</p>
<p>
Bei Anfragen, Meldungen, Widerrufen, Kündigungen und Buchungsbestätigungen über unsere
Formulare speichern wir zusätzlich die IP-Adresse, von der die Eingabe gesendet wurde, zum
Schutz vor Missbrauch und zum Nachweis des Eingangs. Sie bleibt derzeit beim jeweiligen
Vorgang gespeichert; eine gesonderte Löschung nach 90 Tagen führen wir ein und nennen sie in
der nächsten Fassung.
</p>
<p>
Anfragen, die unser Spamfilter als unerwünschte Werbung oder automatisierte Eingabe
erkennt, werden ohne Weiterleitung an unser Team zurückgehalten, damit wir Fehleinstufungen
prüfen können, und spätestens nach 30 Tagen automatisch gelöscht.
</p>
{{-- Spamschutz mit Cloudflare Turnstile (ENTWICKLUNGSPLAN-SPAMSCHUTZ-2026-10-09.md), Vorschlag zur juristischen Freigabe. --}}
{{-- Spamschutz mit Cloudflare Turnstile; Fassung Rechtspaket 10/2026
(ohne serverseitige IP-Übermittlung, remoteip ist optional). --}}
<h2>6a. Schutz vor automatisierten Anfragen (Cloudflare Turnstile)</h2>
<p>
Um unsere Formulare vor automatisierten Eingaben (Spam, Bots) zu schützen, setzen wir im
Kontaktformular und bei der Registrierung den Dienst Turnstile ein. Anbieter ist die
Cloudflare, Inc., 101 Townsend St., San Francisco, CA 94107, USA.
Im Kontaktformular und bei der Registrierung verwenden wir Turnstile von Cloudflare, Inc.,
101 Townsend Street, San Francisco, CA 94107, USA, um automatisierte missbräuchliche
Eingaben zu erkennen. Turnstile wird erst geladen, wenn Sie das Kontaktformular öffnen oder
die Registrierungsseite aufrufen. Cloudflare verarbeitet dabei unter anderem IP-Adresse,
Browser- und Verbindungsmerkmale sowie Informationen über die aufgerufene Website. Unser
Server prüft das von Turnstile ausgegebene Token bei Cloudflare; wir erhalten nur das
Ergebnis der Prüfung. Ist der Dienst nicht erreichbar, nehmen wir die Eingabe an und
kennzeichnen sie intern zur Missbrauchsprüfung.
</p>
<p>
Turnstile wird erst geladen, wenn Sie das Kontaktformular öffnen oder die
Registrierungsseite aufrufen. Der Dienst prüft anhand technischer Merkmale, ob die Eingabe
von einem Menschen stammt; in der Regel ohne dass Sie etwas tun müssen. Dabei werden
insbesondere verarbeitet:
</p>
<ul>
<li>IP-Adresse,</li>
<li>Informationen zu Browser und Betriebssystem (z. B. User-Agent, Spracheinstellungen),</li>
<li>Merkmale des Seitenaufrufs und der Interaktion mit der Prüfung,</li>
<li>Zeitpunkt der Prüfung.</li>
</ul>
<p>
Turnstile setzt nach Angaben von Cloudflare keine Cookies zu Werbe- oder Trackingzwecken
und nutzt die Daten nicht für personalisierte Werbung. Wir erhalten von Cloudflare nur
das Ergebnis der Prüfung. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; unser
berechtigtes Interesse liegt darin, Missbrauch unserer Formulare zu verhindern, etwa den
massenhaften Versand von Bestätigungs-E-Mails an fremde Adressen. Für den Zugriff auf
Informationen in Ihrem Endgerät ist Rechtsgrundlage § 25 Abs. 2 Nr. 2 TDDDG, da die
Prüfung für den sicheren Betrieb des von Ihnen genutzten Formulars unbedingt
erforderlich ist.
Cloudflare verarbeitet Daten einerseits zur Bereitstellung der Sicherheitsprüfung für uns,
andererseits für eigene, in den
<a href="https://www.cloudflare.com/turnstile-privacy-policy/" target="_blank" rel="noopener">Turnstile-Datenschutzhinweisen</a>
erläuterte Zwecke. Für die Verarbeitung in unserem Auftrag gelten die vereinbarten
Datenschutzbedingungen. Unsere Prüfung beruht auf Art. 6 Abs. 1 lit. f DSGVO; unser
Interesse ist der Schutz unserer Formulare vor Missbrauch, etwa dem massenhaften Versand von
Bestätigungs-E-Mails an fremde Adressen. Unbedingt erforderliche Zugriffe auf Ihr Endgerät
für diese Schutzfunktion stützen wir auf § 25 Abs. 2 Nr. 2 TDDDG.
</p>
<p>
Cloudflare kann Daten auch in den USA verarbeiten. Cloudflare ist nach dem
EU-US Data Privacy Framework zertifiziert; die Übermittlung erfolgt auf Grundlage des
Angemessenheitsbeschlusses der Europäischen Kommission (Art. 45 DSGVO). Weitere
Informationen finden Sie in den Datenschutzhinweisen von Cloudflare
(<a href="https://www.cloudflare.com/privacypolicy/" target="_blank" rel="noopener">cloudflare.com/privacypolicy</a>)
und zu Turnstile (<a href="https://www.cloudflare.com/turnstile-privacy-policy/" target="_blank" rel="noopener">cloudflare.com/turnstile-privacy-policy</a>).
Eine Verarbeitung in den USA ist möglich. Cloudflare, Inc. ist unter dem EU-US Data Privacy
Framework zertifiziert; soweit die Zertifizierung die betreffenden Daten umfasst, erfolgt
die Übermittlung auf Grundlage von Art. 45 DSGVO. Die kurze Gültigkeit eines Prüftokens
bedeutet nicht, dass sämtliche beim Anbieter verarbeiteten Daten nach derselben Zeit
gelöscht werden; Angaben dazu finden Sie in den verlinkten Hinweisen von Cloudflare. Eigene
Formulardaten und darin enthaltene IP-Adressen unterliegen den im Abschnitt
„Kontaktaufnahme“ genannten Fristen.
</p>
@if ($isHub)
@ -283,6 +321,59 @@
Art. 6 Abs. 1 lit. c und lit. f DSGVO.
</p>
<h2>7a. Anmeldung und Kontosicherheit</h2>
<p>
Wir verarbeiten Sicherheitsdaten, um Ihr Konto bereitzustellen und unbefugte Zugriffe zu
verhindern. Fehlversuche mit unbekannter E-Mail-Adresse erfassen wir als Tageszähler mit
einem gekürzten, durch einen geheimen Schlüssel gebildeten Prüfwert der IP-Adresse; diese
Zähler löschen wir nach 90 Tagen. Bei bekannten Konten erfassen wir Fehlversuche und
Sperren mit einem solchen Prüfwert im Aktivitätsverlauf (Abschnitt 7b). Erfolgreiche
Anmeldungen erfassen wir dort mit Zeitpunkt und Anmeldeweg, ohne IP-Adresse. Diese
Einträge löschen wir derzeit nach 395 Tagen; eine Verkürzung auf 90 Tage führen wir ein.
</p>
<p>
Zur Begrenzung von Anmeldeversuchen verwenden wir kurzlebige Zähler: je IP-Adresse für
15 Minuten sowie je Kombination aus E-Mail-Adresse und IP-Adresse für eine Minute. Die
Zähler verfallen automatisch.
</p>
<p>
Am Konto speichern wir Zeitpunkt und IP-Adresse der letzten Anmeldung. Sie sehen diese
Angaben auf der Seite „Konto-Sicherheit“, damit Ihnen fremde Anmeldungen auffallen. Die
Angabe wird bei jeder erneuten Anmeldung überschrieben. IP-Prüfwerte sind
pseudonymisiert, nicht anonym; eine Zuordnung kann unter Verwendung des Schlüssels
möglich sein.
</p>
<p>
Bei aktivierter Zwei-Faktor-Anmeldung speichern wir das verschlüsselte Geheimnis Ihrer
Authenticator-App und Ihre Wiederherstellungscodes. Bei Passkeys speichern wir den
öffentlichen Schlüssel, technische Kennungen des Authentifikators, den von Ihnen
vergebenen Namen und Nutzungszeitpunkte. Den privaten Schlüssel und etwaige biometrische
Entsperrdaten erhalten wir nicht. Über Hinzufügen und Entfernen eines Passkeys informieren
wir Sie per E-Mail. Bei der Funktion „Andere Geräte abmelden“ speichern wir einen
Zeitstempel. Entfernte Authentifizierungsmethoden werden aus dem Konto gelöscht,
spätestens bei dessen Löschung.
</p>
<p>
Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, soweit die Verarbeitung für einen
Vertrag mit Ihnen als natürlicher Person erforderlich ist. Im Übrigen, insbesondere bei
Konten von Beschäftigten oder Vertretern eines Unternehmens und bei der
Missbrauchsabwehr, ist Rechtsgrundlage Art. 6 Abs. 1 lit. f DSGVO. Unser Interesse liegt
in der sicheren Bereitstellung und Nutzung des Kontos.
</p>
<p>
<strong>Anmeldung mit Google.</strong> Wenn Sie „Mit Google anmelden“ wählen, erhalten
wir von Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland, Ihren
Namen, Ihre E-Mail-Adresse und eine Google-Kennung. Die Kennung speichern wir zur
Zuordnung Ihres Kontos. Für die Verarbeitung durch Google gilt dessen
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Datenschutzerklärung</a>.
Eine Verarbeitung durch Google LLC in den USA ist möglich; Google LLC ist unter dem
EU-US Data Privacy Framework zertifiziert (Art. 45 DSGVO). Sie können stattdessen jeden
anderen angebotenen Anmeldeweg verwenden.
</p>
<h2>7b. Aktivitätsverlauf und Programmierschnittstelle</h2>
@include('web.partials.datenschutz-aktivitaet')
<h2>8. Magic-Link: Anmeldung bei pressekonto</h2>
<p>
Die Anmeldung bei pressekonto kann passwortlos über einen zeitlich begrenzten
@ -296,9 +387,9 @@
<li>technische Metadaten zur Sicherheit und Missbrauchsvermeidung.</li>
</ul>
<p>
Das Token ist nur zeitlich begrenzt gültig und verfällt nach einmaliger Nutzung oder
nach Ablauf einer kurzen Gültigkeitsdauer automatisch. Die konkrete Gültigkeitsdauer
wird systemseitig festgelegt und beträgt derzeit {{ $magicLinkTtl }}.
Das Token ist einmalig nutzbar und {{ $magicLinkTtl }} gültig. Den zugehörigen
Datensatz einschließlich der dabei erfassten IP-Adresse löschen wir im täglichen
Löschlauf, sobald Nutzung oder Ablauf mehr als 30 Tage zurückliegen.
</p>
<p>Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.</p>
@ -322,9 +413,11 @@
</p>
<p>Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.</p>
<p>
Stripe verarbeitet personenbezogene Daten in eigener Verantwortung, soweit dies für die
Zahlungsabwicklung, Betrugsprävention, Compliance und gesetzliche Pflichten
erforderlich ist. Soweit Stripe personenbezogene Daten in Drittländern verarbeitet,
Für die Zahlungsabwicklung, Betrugsprävention und eigene gesetzliche Pflichten
verarbeitet Stripe personenbezogene Daten in eigener Verantwortung. Soweit Stripe für
uns Rechnungen erstellt und Kundendaten dafür speichert, handelt Stripe als
Auftragsverarbeiter auf Grundlage des mit Stripe geschlossenen Vertrags zur
Auftragsverarbeitung. Soweit Stripe personenbezogene Daten in Drittländern verarbeitet,
erfolgt dies nach Angaben von Stripe auf Grundlage geeigneter Garantien, insbesondere
EU-Standardvertragsklauseln und — soweit anwendbar — des EU-U.S. Data Privacy
Framework.
@ -348,9 +441,12 @@
<li>technische Metadaten zur Sicherheit und Missbrauchsvermeidung.</li>
</ul>
<p>
Das Token ist nur zeitlich begrenzt gültig und verfällt nach einmaliger Nutzung oder
nach Ablauf einer kurzen Gültigkeitsdauer automatisch. Die konkrete Gültigkeitsdauer
wird systemseitig festgelegt und beträgt derzeit {{ $magicLinkTtl }}.
Zugangslinks zur Verwaltung einer Pressemitteilung oder eines Newsrooms sind einmalig
nutzbar und {{ $magicLinkTtl }} gültig. Bestätigungslinks für das Verfahren
„Mitteilung melden“ sind 72 Stunden gültig. Die zugehörigen Datensätze einschließlich
der dabei erfassten IP-Adresse löschen wir im täglichen Löschlauf, sobald Nutzung oder
Ablauf mehr als 30 Tage zurückliegen. Die Aufbewahrung des eigentlichen Meldevorgangs
richtet sich nach Abschnitt 11.
</p>
<p>
Rechtsgrundlagen sind je nach Vorgang Art. 6 Abs. 1 lit. b DSGVO, Art. 6 Abs. 1 lit. c
@ -358,6 +454,9 @@
Zuordnung berechtigter Änderungsanfragen, der Vertragsdurchführung, der Bearbeitung
gesetzlicher Rechte und der Vermeidung von Missbrauch.
</p>
<h2>7a. Aktivitätsverlauf und Programmierschnittstelle</h2>
@include('web.partials.datenschutz-aktivitaet')
@endif
<h2>{{ $isHub ? '10' : '8' }}. Automatisierte Inhaltsprüfung und Qualitätsbewertung</h2>
@ -372,15 +471,24 @@
dass die übermittelten Inhalte nicht für Trainingszwecke fremder Modelle verwendet werden.
</p>
<p>
Für die automatisierte Analyse können je nach Anfrage, Tätigkeit und Verfügbarkeit
unterschiedliche KI- oder Analyse-Anbieter eingesetzt werden. Derzeit kommen insbesondere
folgende Anbieter in Betracht:
Hierfür werden die zur Prüfung erforderlichen Inhalte an die Programmierschnittstelle von
OpenAI Ireland Ltd., 1st Floor, The Liffey Trust Centre, 117–126 Sheriff Street Upper,
Dublin 1, Irland, übermittelt. Mit OpenAI besteht ein Vertrag zur Auftragsverarbeitung.
Andere KI-Anbieter setzen wir für die Prüfung nicht ein. Eine KI-Vorabprüfung von Bildern
findet derzeit nicht statt. Ist die Schnittstelle nicht erreichbar, prüfen wir regelbasiert
ohne externen Anbieter weiter.
</p>
<p>
Nach den für unseren API-Einsatz maßgeblichen Anbieterangaben werden Inhalte nicht zum
Training von Modellen verwendet. Zur Missbrauchserkennung kann OpenAI Inhalte regelmäßig bis
zu 30 Tage speichern; gesetzliche Anforderungen oder notwendige Sicherheitsmaßnahmen können
eine längere Aufbewahrung erforderlich machen. Für unseren aktuellen Einsatz besteht keine
Zusage zur sofortigen Löschung (Zero Data Retention) und keine EU-Datenresidenz.
Verarbeitungen außerhalb des EWR, insbesondere in den USA, unterliegen den vertraglich
vorgesehenen Garantien, insbesondere EU-Standardvertragsklauseln. Informationen zu den
eingesetzten Garantien können Sie unter
<a href="mailto:{{ $contactEmail }}">{{ $contactEmail }}</a> anfordern.
</p>
<ul>
<li>OpenAI,</li>
<li>Google Gemini,</li>
<li>Anthropic Claude.</li>
</ul>
<p>Verarbeitet werden insbesondere:</p>
<ul>
<li>Inhalt der eingereichten Pressemitteilung,</li>
@ -393,8 +501,12 @@
</ul>
<p>
Führt die Prüfung zur Ablehnung einer Mitteilung, teilen wir Ihnen die Ablehnungskategorie
mit. Sie können eine Überprüfung durch einen Menschen verlangen und dabei Ihren Standpunkt
darlegen. Die Entscheidung wird dann erneut geprüft.
und die maßgeblichen Gründe mit. Sie können schon nach der ersten Ablehnung eine
Überprüfung durch einen Menschen verlangen und dabei Ihren Standpunkt darlegen; die
Entscheidung wird dann erneut geprüft. Gesetzliche Rechte gegen ausschließlich
automatisierte Entscheidungen bleiben unberührt. Besondere Kategorien personenbezogener
Daten verarbeiten wir dabei nur, soweit zusätzlich eine Ausnahme nach Art. 9 Abs. 2 DSGVO
vorliegt.
</p>
<p>
Die Prüfergebnisse, Scores, Ablehnungskategorien und Begründungen werden intern der
@ -409,48 +521,46 @@
betroffen sind, kann zusätzlich Art. 6 Abs. 1 lit. c DSGVO einschlägig sein.
</p>
<h2 id="bilder">{{ $isHub ? '10a' : '8a' }}. Bilder in Pressemitteilungen: Originaldateien und Rechtebestätigung</h2>
@include('web.partials.datenschutz-bilder')
<h2 id="beweisarchiv">{{ $isHub ? '10b' : '8b' }}. Beweisarchiv nach Entfernung von Inhalten</h2>
@include('web.partials.datenschutz-beweisarchiv')
@unless ($isHub)
<h2>9. Veröffentlichte Pressemitteilungen und Medienprivileg</h2>
<h2>9. Veröffentlichte Pressemitteilungen und Archivfunktion</h2>
<p>
Die auf {{ $portalName }} veröffentlichten Pressemitteilungen sind öffentlich
zugängliche Presseinhalte und Teil eines dauerhaften Archivs. In Pressemitteilungen
können personenbezogene Daten enthalten sein, zum Beispiel:
</p>
<ul>
<li>Namen von Ansprechpartnern,</li>
<li>berufliche Kontaktdaten,</li>
<li>Zitate,</li>
<li>Funktionen im Unternehmen,</li>
<li>Personalien,</li>
<li>Bildmaterial,</li>
<li>sonstige Angaben mit Personenbezug.</li>
</ul>
<p>
Soweit die Verarbeitung zu journalistisch-redaktionellen Zwecken erfolgt, gelten die
hierfür vorgesehenen Sonderregeln nach Art. 85 DSGVO in Verbindung mit dem jeweils
anwendbaren Medien- und Presserecht. Für den Verantwortlichen mit Sitz in
Nordrhein-Westfalen kommen insbesondere § 57 Abs. 1 Medienstaatsvertrag (MStV) sowie
die einschlägigen Regelungen des Pressegesetzes für das Land Nordrhein-Westfalen in
Betracht.
Unsere Portale veröffentlichen Pressemitteilungen von Unternehmen und anderen
Einreichern. Darin können Namen, berufliche Kontaktdaten, Abbildungen, Zitate,
Funktionen im Unternehmen und weitere Angaben zu natürlichen Personen enthalten sein.
Die Angaben stammen regelmäßig vom genannten Einreicher oder dem übermittelnden
Presseverteiler. Öffentlich zugängliche Mitteilungen können von Besuchern, Suchmaschinen
und Feed-Abnehmern abgerufen und weiterverarbeitet werden.
</p>
<p>
Durch die medien- und presserechtlichen Sonderregeln können einzelne Betroffenenrechte
eingeschränkt sein, soweit dies zur Wahrung der Meinungs- und Informationsfreiheit, der
Pressefreiheit und der Archivfunktion erforderlich ist. Dies bedeutet nicht, dass
Betroffenenrechte ausgeschlossen sind. Wir prüfen entsprechende Anfragen im Einzelfall.
Soweit wir personenbezogene Daten zur Veröffentlichung und zum zeitgeschichtlichen
Nachweis rechtmäßig veröffentlichter Mitteilungen verarbeiten, stützen wir das auf
Art. 6 Abs. 1 lit. f DSGVO und wägen die berechtigten Interessen an Verbreitung und
Information gegen die Rechte der betroffenen Personen ab. Das bedeutet keine pauschale
Erlaubnis zur unbegrenzten Speicherung. Bei Berichtigungs-, Löschungs- und
Widerspruchsanfragen berücksichtigen wir insbesondere Richtigkeit, Aktualität,
Informationsinteresse, Sensibilität und Auswirkungen auf Betroffene. Die gesetzliche
Ausnahme zugunsten der Meinungs- und Informationsfreiheit nach Art. 17 Abs. 3 lit. a
DSGVO wenden wir nur an, soweit ihre Voraussetzungen im konkreten Fall erfüllt sind.
</p>
<p>
Unabhängig davon können Sie jederzeit die Entfernung, Aktualisierung oder
Anonymisierung Ihrer persönlichen Kontaktdaten als natürliche Person beantragen. Auch
Meldungen rechtswidriger Inhalte sind jederzeit kostenlos möglich. Die dafür
vorgesehenen Wege finden Sie unter: <a href="{{ route('melden') }}">{{ $host }}/de/melden</a>.
Sie können jederzeit die Entfernung, Aktualisierung oder Pseudonymisierung Ihrer
persönlichen Kontaktdaten als natürliche Person beantragen. Auch Meldungen
rechtswidriger Inhalte sind jederzeit kostenlos möglich. Die dafür vorgesehenen Wege
finden Sie unter: <a href="{{ route('melden') }}">{{ $host }}/de/melden</a>.
Gesetzliche Ansprüche werden nicht von der Buchung einer kostenpflichtigen Depublikation
abhängig gemacht. Eine gesonderte Beweissicherung nach einer Entfernung richtet sich
nach dem Abschnitt „Beweisarchiv“.
</p>
<p>
Angaben über juristische Personen, zum Beispiel GmbH oder AG, sind grundsätzlich keine
personenbezogenen Daten im Sinne der DSGVO. Enthalten Angaben über Unternehmen zugleich
Informationen über natürliche Personen, prüfen wir Betroffenenanfragen im Einzelfall.
</p>
<p>
Informationen aus öffentlichen Registern, zum Beispiel dem Handelsregister,
berücksichtigen wir bei dieser Prüfung entsprechend ihrer gesetzlichen
Publizitätsfunktion.
@ -477,8 +587,8 @@
<p>
Verantwortlich für die inhaltlichen Angaben ist das jeweilige veröffentlichende
Unternehmen. Die Verarbeitung durch uns erfolgt zur Vertragsdurchführung nach Art. 6
Abs. 1 lit. b DSGVO sowie, soweit einschlägig, zu journalistisch-redaktionellen
Zwecken nach dem vorstehenden Abschnitt.
Abs. 1 lit. b DSGVO sowie im Übrigen auf Grundlage der im vorstehenden Abschnitt
beschriebenen Abwägung nach Art. 6 Abs. 1 lit. f DSGVO.
</p>
<p>
Soweit Firmenprofile personenbezogene Daten enthalten, zum Beispiel Ansprechpartner
@ -569,25 +679,67 @@
gemäß Art. 28 DSGVO.
</p>
<h2>12a. Zustellbarkeit und Abmeldung</h2>
<p>
Unzustellbarkeitsmeldungen werden in einem Postfach bei unserem E-Mail-Dienstleister
ALL-INKL empfangen und automatisch ausgewertet. Wir speichern die Empfängeradresse, den
Zustellfehler und die Referenz der betroffenen Nachricht. Die ausgewerteten Datensätze
löschen wir nach 395 Tagen. Die Rohmeldungen verbleiben derzeit im Postfach; eine Löschung
nach 90 Tagen führen wir ein.
</p>
<p>
Adressen, die dauerhaft nicht erreichbar sind oder für die eine Abmeldung vorliegt, nehmen
wir in eine Sperrliste auf. Benachrichtigungen enthalten einen Abmeldelink; die Abmeldung
kann auch über die entsprechende Funktion des Mailprogramms erfolgen. Das gilt ebenfalls
für Pressekontakte ohne Kundenkonto. An gesperrte Adressen senden wir keine
Benachrichtigungen mehr; von Ihnen selbst angeforderte Anmeldelinks bleiben möglich, nicht
jedoch bei einer Sperre wegen dauerhafter Unzustellbarkeit. Bei Zustellproblemen oder zur
Prüfung einer Entsperrung können Sie sich an
<a href="mailto:{{ $contactEmail }}">{{ $contactEmail }}</a> wenden.
</p>
<p>
Rechtsgrundlage für Zustellprüfung und technische Sperren ist Art. 6 Abs. 1 lit. f DSGVO;
unser Interesse liegt in zuverlässiger Zustellung und der Vermeidung unerwünschter oder
erfolgloser Nachrichten. Soweit wir einen Widerspruch gegen Direktwerbung dokumentieren und
beachten, gilt Art. 6 Abs. 1 lit. c in Verbindung mit Art. 21 Abs. 3 DSGVO. Die Sperrliste
enthält nur die erforderlichen Angaben und bleibt bestehen, solange andernfalls erneute
unerwünschte Zustellungen drohen; die Erforderlichkeit wird regelmäßig überprüft.
</p>
<h2>13. Speicherdauer, Backups und Aufbewahrungspflichten</h2>
<p>
Wir speichern personenbezogene Daten nur so lange, wie es für die in dieser
Datenschutzerklärung genannten Zwecke erforderlich ist.
Datenschutzerklärung genannten Zwecke erforderlich ist oder eine Aufbewahrungspflicht
besteht. Die folgenden Fristen sind regelmäßige Höchstfristen; bei früherem Zweckwegfall
löschen wir früher. Für konkret erforderliche Rechts- oder Sicherheitsnachweise können
dokumentierte abweichende Fristen gelten. Wo wir eine kürzere Frist einführen, nennen wir
den heutigen Stand und die kommende Frist.
</p>
<p>Es gelten insbesondere folgende Speicherfristen:</p>
<ul>
<li>Server-Logs werden grundsätzlich nach 14 Tagen gelöscht, sofern kein sicherheitsrelevanter Vorfall eine längere Aufbewahrung erforderlich macht.</li>
<li>Magic-Link-Token verfallen nach einmaliger Nutzung oder nach Ablauf von {{ $magicLinkTtl }}.</li>
<li>Die Ereignisprotokolle zu Aufrufen, Abrufen durch Dienste und Konversionsschritten (Abschnitt 5a) werden nach 395 Tagen gelöscht.</li>
<li>Meldedaten werden grundsätzlich für drei Jahre nach Abschluss des Vorgangs gespeichert.</li>
<li>Vertrags-, Buchungs- und Rechnungsdaten unterliegen handels- und steuerrechtlichen Aufbewahrungspflichten und werden nach Ablauf dieser Fristen gelöscht.</li>
<li>Veröffentlichte Pressemitteilungen werden im Rahmen der Archivfunktion grundsätzlich dauerhaft gespeichert, soweit keine gesetzlichen Ansprüche auf Entfernung, Sperrung oder Änderung bestehen.</li>
<li>Kontodaten werden nach Kontolöschung entfernt, soweit keine Aufbewahrungspflichten, offenen Vorgänge oder berechtigten Interessen an einer weiteren Speicherung entgegenstehen.</li>
<li><strong>Server-Logs:</strong> 14 Tage.</li>
<li><strong>Fehlerberichte:</strong> 90 Tage.</li>
<li><strong>Anmelde- und Änderungslinks:</strong> einmalige Nutzung, {{ $magicLinkTtl }} gültig; Datensätze gelöscht, sobald Nutzung oder Ablauf mehr als 30 Tage zurückliegen.</li>
<li><strong>Bestätigungslinks aus dem Meldeverfahren:</strong> 72 Stunden gültig; Datensätze wie vorstehend.</li>
<li><strong>Tageszähler fehlgeschlagener Anmeldungen:</strong> 90 Tage; kurzfristige Versuchszähler eine bzw. 15 Minuten.</li>
<li><strong>Aktivitätsverlauf</strong> (einschließlich Anmeldeereignisse und Versandnachweise): derzeit 395 Tage; Verkürzung der Anmeldeereignisse und Betreffzeilen auf 90 Tage wird eingeführt.</li>
<li><strong>API-Zugriffsprotokoll:</strong> 90 Tage.</li>
<li><strong>Zustellfehlermeldungen:</strong> ausgewertete Datensätze 395 Tage; Rohmeldungen derzeit im Postfach, 90-Tage-Löschung wird eingeführt.</li>
<li><strong>Sperrliste:</strong> solange zur Vermeidung erneuter unerwünschter oder unzustellbarer Sendungen erforderlich.</li>
<li><strong>IP-Adressen in Formular- und Buchungsvorgängen:</strong> derzeit mit dem Vorgang; eigene 90-Tage-Frist wird eingeführt.</li>
<li><strong>Ereignisprotokolle</strong> zu Aufrufen, Abrufen durch Dienste und Konversionsschritten (Abschnitt 5a): 395 Tage.</li>
<li><strong>Rohdaten der Webanalyse</strong> (Abschnitt 5): 13 Monate.</li>
<li><strong>Meldedaten:</strong> drei Jahre nach Abschluss des Vorgangs.</li>
<li><strong>Nie veröffentlichte Entwürfe:</strong> bei Löschung oder Ersetzung durch Sie sofort; unbearbeitete Entwürfe: Bilder nach 180 Tagen, der Text wird derzeit archiviert, die vollständige Löschung nach 180 Tagen wird eingeführt.</li>
<li><strong>Korrektur-Arbeitsstände:</strong> 30 Tage.</li>
<li><strong>Beweisarchiv:</strong> spätestens drei Jahre nach Ende des Jahres der Entfernung, bei Änderungen ohne Rechtsbezug ein Jahr; Zugriffsprotokoll derzeit unbefristet, 395 Tage werden eingeführt.</li>
<li><strong>Vertrags-, Buchungs- und Rechnungsdaten:</strong> gesetzliche Aufbewahrungsfristen (Buchungsbelege acht Jahre, Handels- und Geschäftsbriefe sechs Jahre).</li>
<li><strong>Veröffentlichte Pressemitteilungen:</strong> während der rechtmäßigen Veröffentlichung im Archiv; Entfernungs-, Berichtigungs- und Einschränkungsansprüche bleiben unberührt.</li>
<li><strong>Kontodaten:</strong> nach Kontolöschung, soweit keine Aufbewahrungspflichten, offenen Vorgänge oder Nachweisinteressen entgegenstehen.</li>
</ul>
<p>
Gelöschte Daten können in Sicherungskopien noch bis zu vier Wochen enthalten sein. Die
Backups werden ausschließlich zur Wiederherstellung der Systeme im Sicherungsfall verwendet
und nicht produktiv ausgewertet.
Gelöschte Daten können in Sicherungskopien noch bis zu 14 Tage enthalten sein. Die Backups
werden ausschließlich zur Wiederherstellung der Systeme im Sicherungsfall verwendet und
nicht produktiv ausgewertet.
</p>
<h2>14. Ihre Rechte</h2>
@ -633,6 +785,22 @@
40213 Düsseldorf<br>
Website: <a href="https://www.ldi.nrw.de" target="_blank" rel="noopener">www.ldi.nrw.de</a>
</p>
<p>
<strong>Stand: {{ $dseStand }} · Version {{ $dseVersion }}.</strong> Gegenüber Version 0.3
vom 3. Juli 2026 ergänzt oder geändert: Fehlerprotokoll (3a), Webanalyse (5),
Kontaktaufnahme (6), Schutz vor automatisierten Anfragen (6a),
@if ($isHub)
Anmeldung und Kontosicherheit (7a), Aktivitätsverlauf und Programmierschnittstelle (7b),
Magic-Link (8), Zahlungsabwicklung (9),
@else
Änderungslinks (7), Aktivitätsverlauf und Programmierschnittstelle (7a),
Veröffentlichte Pressemitteilungen und Archivfunktion (9),
@endif
Automatisierte Inhaltsprüfung, Bilder in Pressemitteilungen, Beweisarchiv, Zustellbarkeit
und Abmeldung (12a), Speicherdauer (13). Die Abschnitte 5a (21. September 2026) und 6a
(9. Oktober 2026) waren bereits ergänzt worden.
</p>
</div>
</x-web.static-page>
@endsection

View file

@ -0,0 +1,26 @@
{{-- DSE 0.4, Abschnitt „Aktivitätsverlauf und Programmierschnittstelle“ (Hub 7b, Portale 7a).
Ist-Stand: 395 Tage einheitlich (MONITORING_ACTIVITY_RETENTION_DAYS), API 90 Tage.
Kürzung der Anmeldeereignisse/Betreffzeilen auf 90 Tage kommt mit Deploy B (RP-07). --}}
<p>
Für die Bearbeitung von Anfragen, die Nachvollziehbarkeit von Veröffentlichungen und die
Missbrauchserkennung führen wir einen internen Aktivitätsverlauf. Zugriff haben nur berechtigte
Administratoren. Er umfasst Registrierungen und Anmeldungen, Statusänderungen von Pressemitteilungen,
eingehende Anfragen und Administratorhandlungen mit den jeweils benötigten Konto- und Kontaktdaten
sowie versandte Benachrichtigungen mit Empfängeradresse, Betreff und Versandzeitpunkt. Das betrifft
auch Pressekontakte ohne Kundenkonto, die wir über die Veröffentlichung oder Ablehnung einer
Mitteilung informieren. Einträge löschen wir derzeit nach 395 Tagen. Wir führen ein, dass
Anmeldeereignisse nach 90 Tagen gelöscht und Betreffzeilen nach 90 Tagen durch die Kennung der
verwendeten Vorlage ersetzt werden.
</p>
<p>
Bei Anfragen an unsere Programmierschnittstelle (API) protokollieren wir Konto, Kennung des
verwendeten Zugangsschlüssels (nicht den Schlüssel selbst), Methode, Pfad, Statuscode, Dauer,
IP-Adresse und Programmkennung. Dies dient dem sicheren Betrieb und dem Nachweis der Nutzung. Die
Protokolle werden nach 90 Tagen gelöscht.
</p>
<p>
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; unser Interesse besteht in einem nachvollziehbaren,
sicheren Betrieb und in der Bearbeitung von Support- und Rechtsanfragen. Soweit die Verarbeitung für
die Erfüllung eines Vertrags mit Ihnen als natürlicher Person erforderlich ist, gilt Art. 6 Abs. 1
lit. b DSGVO.
</p>

View file

@ -0,0 +1,50 @@
{{-- DSE 0.4, Abschnitt „Beweisarchiv“ (Hub 10b, Portale 8b). Ist-Stand EvidenceArchive:
Antragsteller-E-Mail und Einreicher zum Archivierungszeitpunkt sind heute enthalten (PressReleaseArchiver);
Vorgangsnummer/Einreichungsnachweis, Hold ohne Neustart, Art.-18-Status, Löschvermerk-Minimierung und
395-Tage-Zugriffsprotokoll kommen mit Deploy B (RP-03/RP-05). --}}
<p>
Wenn wir eine Pressemitteilung oder Teile davon aus dem öffentlichen Angebot entfernen, etwa auf
Antrag, im Meldeverfahren, nach einer Datenschutzanfrage oder auf eigene Entscheidung, bleibt sie in
allen öffentlich sichtbaren Bereichen unserer Portale entfernt, einschließlich Suche, Feeds und
Sitemap. Wir beantragen zusätzlich die Löschung aus den gängigen Suchmaschinen; auf deren
Aktualisierung haben wir keinen Einfluss.
</p>
<p>
Einen auf das Notwendige beschränkten Datensatz zu der entfernten Veröffentlichung bewahren wir in
einem getrennten, verschlüsselten Archiv auf: den zuletzt veröffentlichten Stand der Inhalte
einschließlich der darin genannten Pressekontakte, die Angaben zum Einreicher (Konto, Name,
E-Mail-Adresse, Firma), die zu den Bildern gespeicherten Daten
(<a href="#bilder">Abschnitt „Bilder in Pressemitteilungen“</a>), die Zeitpunkte von Veröffentlichung
und Entfernung, den Grund der Entfernung als Kategorie, bei Änderungen den vorherigen und den neuen
Stand sowie die Angaben des zugrunde liegenden Melde- oder Löschverfahrens einschließlich der
Kontaktadresse des Antragstellers. Die Einreicherangaben werden derzeit zum Zeitpunkt der
Archivierung aus dem Konto übernommen. Wir führen ein, dass künftig nur die Vorgangsnummer des
Verfahrens archiviert wird und die Einreicherangaben zum Zeitpunkt der Einreichung festgehalten
werden.
</p>
<p>
Zweck ist ausschließlich die Wahrung unserer Nachweis- und Verteidigungsinteressen gegenüber
Rechteinhabern, Betroffenen und Behörden sowie der Rückgriff gegen den Einreicher. Das Archiv wird
nicht ausgewertet, nicht für andere Zwecke verwendet und begründet keinen Anspruch auf weitere
öffentliche Verfügbarkeit. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; soweit ein Bild
ausnahmsweise besondere Kategorien personenbezogener Daten erkennen lässt, Art. 9 Abs. 2 lit. f
DSGVO. Bei Daten, deren Löschung beantragt wurde, prüfen wir im Einzelfall, ob die weitere
Aufbewahrung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist
(Art. 17 Abs. 3 lit. e DSGVO), und halten das Ergebnis fest. Verlangen Sie die Einschränkung der
Verarbeitung, kennzeichnen wir den Eintrag und beschränken seine Verwendung auf die gesetzlich
zulässigen Zwecke.
</p>
<p>
Originaldateien aktiver Bilder sind für unsere Redaktion zugänglich; archivierte Inhalte nur für
Administratoren mit gesonderter Berechtigung. Jeder Abruf archivierter Inhalte und jede Änderung
einer Aufbewahrungssperre wird mit Angabe des Zwecks protokolliert. Das Archiv wird nicht an Dritte
weitergegeben, außer zur Rechtsverteidigung an unsere rechtlichen Berater oder auf gesetzlicher
Grundlage an Behörden und Gerichte.
</p>
<p>
Archiveinträge werden spätestens drei Jahre nach dem Ende des Jahres, in dem der Inhalt entfernt
wurde, automatisch gelöscht. Für Änderungen ohne Rechtsbezug (etwa Aktualisierung von Kontaktdaten,
Korrektur einer Kennzeichnung) führen wir eine kürzere Frist von einem Jahr ein. Läuft zu einem
Inhalt eine rechtliche Auseinandersetzung, setzen wir eine dokumentierte Aufbewahrungssperre, die
regelmäßig überprüft wird. Sicherungskopien werden innerhalb von 14 Tagen überschrieben.
</p>

View file

@ -0,0 +1,40 @@
{{-- DSE 0.4, Abschnitt „Bilder in Pressemitteilungen“ (Hub 10a, Portale 8a).
Ist-Stand Formular v2 (IMAGE_RIGHTS_V2): Original, veröffentlichte Fassung, Bestätigungsprotokoll
(ImageRightsConfirmation), IP-HMAC, UA 250 Zeichen; Metadaten nur Vorbelegung, keine C2PA-Signaturprüfung. --}}
<p>
Wer ein Bild zu einer Pressemitteilung hochlädt, bestätigt dabei, zur Veröffentlichung berechtigt zu
sein, und macht Angaben zum Bildnachweis und zum Einsatz von KI. Zu jedem Bild speichern wir die
hochgeladene Originaldatei einschließlich der darin enthaltenen Metadaten (zum Beispiel Kameradaten,
Urheberangaben, Herkunftsdaten), die veröffentlichte Fassung mit dem angezeigten Bildnachweis und der
angezeigten KI-Kennzeichnung sowie einen Nachweis der Rechtebestätigung mit Zeitpunkt, bestätigtem
Wortlaut und zugrunde liegender AGB-Fassung, dem angemeldeten Konto beziehungsweise dem verwendeten
API-Zugang, der Firma, für die hochgeladen wurde, der Prüfsumme der Datei, einem pseudonymisierten
Prüfwert der IP-Adresse und der auf 250 Zeichen gekürzten Kennung des Browsers.
</p>
<p>
Der IP-Prüfwert wird mit einem geheimen Schlüssel gebildet. Er ist pseudonymisiert, nicht anonym: Mit
dem Schlüssel könnten wir prüfen, ob eine bestimmte Adresse zu ihm passt; ohne den Schlüssel ist das
nicht möglich.
</p>
<p>
Vorhandene Metadaten der Datei werten wir aus, um die KI-Kennzeichnung vorzubelegen; die Angabe des
Hochladenden und unsere Vorbelegung speichern wir getrennt. Eine Prüfung digitaler
Herkunftssignaturen findet derzeit nicht statt.
</p>
<p>
Zweck dieser Speicherung ist der Nachweis, welche Datei mit welchen Angaben eingereicht wurde, falls
Dritte Rechte an dem Bild geltend machen, sowie die Nachvollziehbarkeit der KI-Kennzeichnung.
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO; unser berechtigtes Interesse liegt in der
Nachweisführung und Rechtsverteidigung. Eine dokumentierte Abwägung liegt vor.
</p>
<p>
Die Originaldatei ist nicht öffentlich abrufbar. Öffentlich ausgeliefert werden ausschließlich
verkleinerte Fassungen, aus denen Standortdaten, Geräteseriennummern und sonstige technische Metadaten
des Originals entfernt sind. Bildnachweis und KI-Kennzeichnung werden am Bild angezeigt.
</p>
<p>
Bilder, die hochgeladen, aber nie veröffentlicht werden, löschen wir, wenn Sie sie löschen oder
ersetzen, sofort. Wird ein veröffentlichtes Bild entfernt oder ersetzt oder endet die Veröffentlichung
der Mitteilung, werden die genannten Daten in unser Beweisarchiv überführt
(<a href="#beweisarchiv">Abschnitt „Beweisarchiv“</a>) und dort nach den dort genannten Fristen gelöscht.
</p>

View file

@ -26,10 +26,16 @@ test('the seeder registers all legal documents idempotently', function () {
$this->seed(LegalDocumentSeeder::class);
$this->seed(LegalDocumentSeeder::class); // Wiederholung darf nichts duplizieren.
expect(LegalDocument::query()->count())->toBe(6);
expect(LegalDocument::query()->count())->toBe(7);
expect(LegalDocument::current(LegalDocument::TYPE_RICHTLINIEN)?->version)->toBe('0.2');
expect(LegalDocument::currentAgbVersion())->toBe('0.6');
// DSE 0.4 gilt ab 16.10.2026 (Rechtspaket 10/2026, Deploy A); davor 0.3.
$this->travelTo('2026-10-15');
expect(LegalDocument::current(LegalDocument::TYPE_DATENSCHUTZ)?->version)->toBe('0.3');
$this->travelTo('2026-10-16');
expect(LegalDocument::current(LegalDocument::TYPE_DATENSCHUTZ)?->version)->toBe('0.4');
$this->travelBack();
});
test('the agb page renders version and effective date from the database', function () {

View file

@ -68,7 +68,8 @@ test('a guest request with a confirmed turnstile token is accepted and mailed',
Http::assertSent(fn (HttpRequest $request) => $request->url() === 'https://challenges.cloudflare.com/turnstile/v0/siteverify'
&& $request['secret'] === '0x4AAAAAAAsecretkeyforthetests'
&& $request['response'] === 'token-aus-dem-widget'
&& $request['remoteip'] === '127.0.0.1');
// Rechtspaket 10/2026 (Deploy A): die IP wird nicht mehr an Cloudflare übermittelt.
&& ! array_key_exists('remoteip', $request->data()));
});
test('a guest request without a confirmed token is rejected with a visible error', function (array $overrides, ?array $siteverify) {

View file

@ -1,6 +1,7 @@
<?php
use App\Models\RejectionCategory;
use Database\Seeders\LegalDocumentSeeder;
use Database\Seeders\RejectionCategorySeeder;
use Illuminate\Support\Str;
use Tests\TestCase;
@ -140,20 +141,29 @@ test('the reporting page falls back to the neutral price wording when depublicat
->assertDontSeeText('zzgl. USt.');
});
test('the privacy policy renders the real v03 content with host-specific blocks', function () {
test('the privacy policy renders the v04 content with host-specific blocks', function () {
/** @var TestCase $this */
// Spoke: Portal-Bausteine (Medienprivileg, Änderungslinks), kein Stripe-Block.
// Spoke: Portal-Bausteine (Archivfunktion, Änderungslinks), kein Stripe-Block.
$this->get('https://presseecho.test/de/datenschutz')
->assertSuccessful()
->assertSeeText('adametz.media')
->assertSeeText('info@pressekonto.com')
->assertSeeText('Hetzner Online GmbH')
->assertSeeText('Medienprivileg')
->assertSeeText('Veröffentlichte Pressemitteilungen und Archivfunktion')
->assertSeeText('Änderungslinks für Pressekontakte')
// Roadmap 0.7: Ereignisprotokolle ohne Personenbezug, 395 Tage.
->assertSeeText('Eigene Nutzungsstatistiken ohne Personenbezug')
->assertSeeText('Feed abonniert hat, erfahren wir nicht.')
->assertSeeText('werden nach 395 Tagen gelöscht')
->assertSeeText('Konversionsschritten (Abschnitt 5a): 395 Tage')
// DSE 0.4 (Rechtspaket 10/2026, Deploy A): Fehlerprotokoll nur serverseitig,
// Bilder- und Beweisarchiv-Abschnitte, kein Medienprivileg-Verweis mehr.
->assertSeeText('3a. Fehlerprotokoll')
->assertSeeText('Browser setzen wir nicht ein')
->assertSeeText('8a. Bilder in Pressemitteilungen')
->assertSeeText('8b. Beweisarchiv nach Entfernung von Inhalten')
->assertDontSeeText('Medienprivileg')
->assertDontSeeText('§ 57 MStV')
->assertDontSeeText('Google Gemini')
->assertDontSeeText('Zahlungsabwicklung mit Stripe')
// Alter Platzhalter (Google Analytics gibt es nicht) ist weg.
->assertDontSeeText('Google Analytics');
@ -162,12 +172,29 @@ test('the privacy policy renders the real v03 content with host-specific blocks'
$this->get('https://pressekonto.test/de/datenschutz')
->assertSuccessful()
->assertSeeText('Kundenkonto und Registrierung auf dem Hub')
->assertSeeText('7a. Anmeldung und Kontosicherheit')
->assertSeeText('Eigene Nutzungsstatistiken ohne Personenbezug')
->assertSeeText('Zahlungsabwicklung mit Stripe')
->assertSeeText('gewerblichen oder selbständigen beruflichen Tätigkeit')
->assertSeeText('10a. Bilder in Pressemitteilungen')
->assertSeeText('10b. Beweisarchiv nach Entfernung von Inhalten')
->assertDontSeeText('Archivfunktion')
->assertDontSeeText('Medienprivileg');
});
test('the privacy policy shows the version and effective date of the current legal document', function () {
/** @var TestCase $this */
$this->seed(LegalDocumentSeeder::class);
$this->travelTo('2026-10-16');
$this->get('https://presseecho.test/de/datenschutz')
->assertSuccessful()
->assertSeeText('Version 0.4');
$this->travelBack();
});
test('the help center shows quick links and topics', function () {
/** @var TestCase $this */
$this->get('https://businessportal24.test/de/hilfe')