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:
parent
58c0cc3f23
commit
b4b2e013d6
42 changed files with 3868 additions and 1 deletions
|
|
@ -414,6 +414,40 @@ return [
|
|||
'throttle' => 'Too many requests. Please try again in :minutes minutes.',
|
||||
],
|
||||
|
||||
'pm_report' => [
|
||||
'title' => 'Report or change a press release',
|
||||
'concerns_title' => 'Your request regarding this press release',
|
||||
'meta' => 'Change, removal and data-protection requests for a published press release — verified via the press contact address on file.',
|
||||
'breadcrumb' => 'Report/change release',
|
||||
'intro' => 'You want to correct or change a published press release, take it offline, or have personal data removed? Paste the URL of the release — we will send a confirmation link to the press contact address on file. Costs are shown upfront:',
|
||||
'track_correction' => 'Minor correction (typos, contact details)',
|
||||
'track_correction_desc' => 'Field or text correction without new content.',
|
||||
'track_dsgvo' => 'Removal of personal data (GDPR)',
|
||||
'track_dsgvo_desc' => 'Redaction of names and contact details of natural persons; the release stays online. Reviewed by our team.',
|
||||
'track_depublication' => 'Depublication (take the release offline)',
|
||||
'track_depublication_desc' => 'The release is taken offline completely (reversible within the revocation window).',
|
||||
'track_change' => 'Content change',
|
||||
'track_change_desc' => 'New or rewritten text, image replacement — with a new approval run.',
|
||||
'cost_free' => 'free of charge',
|
||||
'verification_note' => 'The confirmation link is always sent to the press contact address on file in the publication — never to an address entered here. This ensures only the genuine contact can initiate changes.',
|
||||
'submit' => 'Request confirmation link',
|
||||
'flash_link_sent' => 'We have sent a confirmation link to :email. Please check the mailbox of the press contact address on file.',
|
||||
'flash_link_invalid' => 'The confirmation link is invalid, expired or has already been used. Please request a new link.',
|
||||
'flash_session_expired' => 'Your session has expired. Please request a new confirmation link.',
|
||||
'validation_not_found' => 'No published press release was found at this URL. Please check the link to the detail page.',
|
||||
'validation_already_open' => 'An open request of this type already exists for this press release. You will receive feedback by email.',
|
||||
'throttle_release' => 'Several confirmation links have already been requested for this press release today. Please try again tomorrow or check the mailbox.',
|
||||
'manual_fallback' => 'No reachable press contact address is on file for this press release. Please use the manual review — our team will verify your authorisation based on proof:',
|
||||
'manual_fallback_link' => 'Go to the manual review form',
|
||||
'verified_as' => 'Verified via the press contact address :email — you can now submit your request.',
|
||||
'concern_legend' => 'Which request would you like to submit?',
|
||||
'label_message' => 'Description of your request',
|
||||
'placeholder_message' => 'e.g. "Please remove my name Max Mustermann and the phone number from the press contact."',
|
||||
'concern_note' => 'Free requests are implemented directly after review. For paid requests (depublication, content change) you will receive a payment request before implementation — no costs arise without your confirmation.',
|
||||
'concern_submit' => 'Submit request',
|
||||
'flash_concern_received' => 'Thank you. Your request has been received under case number :reference — you will receive a confirmation of receipt by email to the press contact address.',
|
||||
],
|
||||
|
||||
'cancellation' => [
|
||||
'meta_title' => 'Cancel contracts here',
|
||||
'meta_description' => 'Cancel your ongoing contract online – without signing in, via the statutory confirmation page pursuant to Section 312k of the German Civil Code (BGB).',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue