recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur

Phase 1: sync_locked_at auf press_releases (Importer überspringt gesperrte
PMs auch bei --force), LegalRequest um Verifikation/Ausführung erweitert,
verschlüsselte Vorher-Snapshots mit Löschfrist (snapshots:purge, täglich).

Phase 2: AnonymizationService (Unicode-Wortgrenzen-Schwärzung, Pflicht-Diff,
transaktionale Ausführung mit Snapshot, Kontakt-Detach, Bild-Löschung,
Sitemap-Invalidierung, Verlauf ohne Klartext-Altwerte); Admin-Queue kann
DSGVO-Anfragen anonymisieren oder depublizieren, inkl. Snapshot-Restore.

Phase 3: Deflektions-Trichter „PM melden/ändern" (melden/pm) mit Kosten-
Tabelle vorab; Magic-Link geht nur an die hinterlegte Pressekontaktadresse
(neuer purpose press_release_report), atomare Verifikation, Anliegen-Auswahl
erzeugt verifizierte Queue-Anfragen; toter-Kanal-Fallback; Owner-Einstieg.

Phase 4: Panel-Abschnitt „Änderung & Korrektur" — Levenshtein-Gate (5 %,
Mini-Edit-Ausnahme ≤ 2 Zeichen) stuft klein/groß ein; kleine Korrektur
kostenlos sofort live (Snapshot, Sperre, Verlauf, Re-Score), größere als
Change-Anfrage (Interim bis 10-€-Checkout, Phase 7).

Entwicklungsplan mit Entscheidungen E1-E8 und offenen Punkten in
docs/Decision-Update; 41 Pest-Tests (tests/Feature/Legal) grün.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-22 15:56:34 +00:00
parent 58c0cc3f23
commit b4b2e013d6
42 changed files with 3868 additions and 1 deletions

View file

@ -415,6 +415,40 @@ return [
'throttle' => 'Zu viele Anfragen. Bitte versuchen Sie es in :minutes Minuten erneut.',
],
'pm_report' => [
'title' => 'Pressemitteilung melden oder ändern',
'concerns_title' => 'Anliegen zu Ihrer Pressemitteilung',
'meta' => 'Änderungs-, Lösch- und Datenschutz-Anliegen zu einer veröffentlichten Pressemitteilung — verifiziert über die hinterlegte Pressekontaktadresse.',
'breadcrumb' => 'PM melden/ändern',
'intro' => 'Sie möchten eine veröffentlichte Pressemitteilung korrigieren, ändern, offline nehmen oder personenbezogene Daten entfernen lassen? Fügen Sie die URL der Mitteilung ein — wir senden einen Bestätigungslink an die hinterlegte Pressekontaktadresse. Die Kosten sehen Sie vorab:',
'track_correction' => 'Kleine Korrektur (Tippfehler, Kontaktdaten)',
'track_correction_desc' => 'Feld- oder Textkorrektur ohne neuen Inhalt.',
'track_dsgvo' => 'Entfernung personenbezogener Daten (DSGVO)',
'track_dsgvo_desc' => 'Schwärzung von Namen und Kontaktdaten natürlicher Personen; die Mitteilung bleibt online. Prüfung durch unser Team.',
'track_depublication' => 'Depublizierung (Mitteilung offline nehmen)',
'track_depublication_desc' => 'Die Mitteilung wird vollständig offline genommen (umkehrbar innerhalb der Widerruffrist).',
'track_change' => 'Inhaltliche Änderung',
'track_change_desc' => 'Neuer oder umgeschriebener Text, Bildtausch — mit erneutem Freigabelauf.',
'cost_free' => 'kostenlos',
'verification_note' => 'Der Bestätigungslink geht immer an die in der Veröffentlichung hinterlegte Pressekontaktadresse — nicht an eine hier eingegebene Adresse. So stellen wir sicher, dass nur der echte Kontakt Änderungen anstoßen kann.',
'submit' => 'Bestätigungslink anfordern',
'flash_link_sent' => 'Wir haben einen Bestätigungslink an :email gesendet. Bitte prüfen Sie das Postfach der hinterlegten Pressekontaktadresse.',
'flash_link_invalid' => 'Der Bestätigungslink ist ungültig, abgelaufen oder wurde bereits verwendet. Bitte fordern Sie einen neuen Link an.',
'flash_session_expired' => 'Ihre Sitzung ist abgelaufen. Bitte fordern Sie einen neuen Bestätigungslink an.',
'validation_not_found' => 'Unter dieser URL wurde keine veröffentlichte Pressemitteilung gefunden. Bitte prüfen Sie den Link zur Detailseite.',
'validation_already_open' => 'Zu dieser Pressemitteilung liegt bereits eine offene Anfrage dieser Art vor. Sie erhalten eine Rückmeldung per E-Mail.',
'throttle_release' => 'Für diese Pressemitteilung wurden heute bereits mehrere Bestätigungslinks angefordert. Bitte versuchen Sie es morgen erneut oder prüfen Sie das Postfach.',
'manual_fallback' => 'Für diese Pressemitteilung ist keine erreichbare Pressekontaktadresse hinterlegt. Bitte nutzen Sie die manuelle Prüfung — unser Team verifiziert Ihre Berechtigung anhand eines Nachweises:',
'manual_fallback_link' => 'Zum Formular für die manuelle Prüfung',
'verified_as' => 'Verifiziert über die Pressekontaktadresse :email — Sie können jetzt Ihr Anliegen stellen.',
'concern_legend' => 'Welches Anliegen möchten Sie stellen?',
'label_message' => 'Beschreibung Ihres Anliegens',
'placeholder_message' => 'z. B. „Bitte entfernen Sie meinen Namen Max Mustermann und die Telefonnummer aus dem Pressekontakt."',
'concern_note' => 'Kostenlose Anliegen setzen wir nach Prüfung direkt um. Bei kostenpflichtigen Anliegen (Depublizierung, inhaltliche Änderung) erhalten Sie vor der Umsetzung eine Zahlungsaufforderung — es entstehen keine Kosten ohne Ihre Bestätigung.',
'concern_submit' => 'Anliegen absenden',
'flash_concern_received' => 'Vielen Dank. Ihr Anliegen ist unter der Vorgangsnummer :reference eingegangen — Sie erhalten eine Eingangsbestätigung per E-Mail an die Pressekontaktadresse.',
],
'cancellation' => [
'meta_title' => 'Verträge hier kündigen',
'meta_description' => 'Kündigen Sie Ihren laufenden Vertrag online – ohne Login, über die gesetzliche Bestätigungsseite nach § 312k BGB.',