presseportale/app/Services/PressRelease
Kevin Adametz b5b70416f2 archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F)
- archive_entries (append-only) + archive_access_log; Disk archive außerhalb des Web-Roots; eigener ARCHIVE_KEY (archive:key), AES-256-CBC, SHA-256 am Eintrag
- EvidenceArchive: record/open/manifest/export (signiertes ZIP), setLegalHold/releaseLegalHold (Frist läuft neu), purgeDue, exportTombstones, reconcileAfterRestore
- PressReleaseArchiver: image_removed (Original, Snapshot, Bestätigungen), pm_depublished (letzter veröffentlichter Stand), gdpr_change (Anonymisierung, Korrekturen), label_corrected
- Hooks in Remover, depublish/archive/changeStatusFromAdmin/deleteFromAdmin, AnonymizationService, CorrectionService, ImageCorrectionService
- Scheduler archive:purge 03:20 und archive:export-tombstones 03:30; archive:reconcile-after-restore im Runbook
- Admin ▸ Management ▸ Beweisarchiv (Liste, Legal Hold mit Pflichtvermerk, Öffnen/Export nur mit Zweck)
- Scope-Wächter: neue Befehle nutzen withoutGlobalScope(PortalScope::class)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 10:04:21 +00:00
..
Classification performance: Caching, deferred Tracking & externe Timeouts (H7, M12, M13) 2026-07-14 13:49:47 +00:00
ContentScore performance: Caching, deferred Tracking & externe Timeouts (H7, M12, M13) 2026-07-14 13:49:47 +00:00
Images archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F) 2026-09-22 10:04:21 +00:00
AiDeclarationRequiredException.php KI-Kennzeichnung (Art. 50 KI-VO): Pflicht-Deklaration für Text & Bilder 2026-07-09 13:54:43 +00:00
AnonymizationService.php archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F) 2026-09-22 10:04:21 +00:00
BlacklistService.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
BlacklistViolationException.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
BookingRequiredException.php Phase 9 Block 1: Gelb-Routing Direkt-Live, Slot-Verbrauch bei Veroeffentlichung, Submit-Gate 2026-06-12 09:47:06 +00:00
BoostService.php web: Entfernung mit 410 Gone als Alternative zur Löschung 2026-09-01 11:06:35 +00:00
CanonicalAssigner.php web: Doppelveröffentlichung — Prüfsumme, kanonische Zuordnung (aus bis E9), Quellenauskunft, noindex im Portal (Anhang 2) 2026-09-17 16:09:16 +00:00
CorrectionRateLimitException.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
CorrectionService.php archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F) 2026-09-22 10:04:21 +00:00
CorrectionTooLargeException.php recht: Meldeverfahren v2 Phasen 1-4 — Re-Sync-Sperre, Anonymisierung, Magic-Link-Intake, Self-Service-Korrektur 2026-07-22 15:56:34 +00:00
CrawlerHitReport.php admin: Bericht „Indexierung & Abrufe" — Rolle Erstquelle/Kopie, Quellenbefund, Crawler-Abrufe; Schlüsselpfad ab Projektwurzel 2026-09-18 12:53:22 +00:00
FeedFetchReport.php web: Abruf-Protokoll der RSS-Feeds — Reader-Dienst, gemeldete Abonnenten, Admin-Bericht, Panel (Roadmap 3.1) 2026-09-21 09:00:09 +00:00
ImageRightsConfirmationRequiredException.php images: Lebenszyklus — Veröffentlichungsgate, published_ever_at, Snapshot der veröffentlichten Fassung, Sofortlöschung, Legacy-Bereinigung, Beweiszugriff, Korrekturweg (Bildkennzeichnung Block E) 2026-09-22 09:53:49 +00:00
PressReleaseAttachmentStorage.php web/api/ki: Soft Deletes wieder wirksam, Caches bei Firmenwechsel, KI-Ergebnis an Inhalt gebunden (Audit Block 3+4, Deploy D) 2026-09-18 10:40:48 +00:00
PressReleaseCoverImage.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
PressReleaseHtmlSanitizer.php Fix: Umbrueche bleiben beim Bearbeiten von Legacy-PMs erhalten 2026-06-18 12:57:45 +00:00
PressReleaseLinkPolicy.php Verlinkung & Backlinks: systemseitige rel-Auszeichnung (Decision-Update 11.06.) 2026-06-12 15:24:20 +00:00
PressReleaseMediaPrivatizer.php deps: Composer- und npm-Pakete innerhalb der Constraints aktualisiert 2026-09-15 15:04:52 +00:00
PressReleaseService.php archive: Beweisarchiv — verschlüsselte Einträge, Legal Hold, Purge mit Tombstone, Restore-Abgleich, Auslöser und Admin-Seite (Bildkennzeichnung Block F) 2026-09-22 10:04:21 +00:00
ProofPdfRenderer.php web/admin/pdf: gemeinsame Bildnachweis-Auflösung, Detailfenster am Artikelbild, Bestätigungsstand in Kunden- und Adminansicht, Wortwahl „automatisierte Prüfung" (Bildkennzeichnung Block D) 2026-09-22 09:44:34 +00:00
QuotaExceededException.php Phase 9 Block 1: Gelb-Routing Direkt-Live, Slot-Verbrauch bei Veroeffentlichung, Submit-Gate 2026-06-12 09:47:06 +00:00
RejectionRateReport.php reports: Basiswerte für die Konversionsmessung (Roadmap 0.1 und 0.2) 2026-09-01 11:57:25 +00:00
ReviewCheckService.php performance: Caching, deferred Tracking & externe Timeouts (H7, M12, M13) 2026-07-14 13:49:47 +00:00
StaleClassificationException.php ki/quota: Hash-Bindung atomar bis in den Publish-Lock, roter Re-Check lehnt ab, Kontingent-Altbestand (Block 7, U02–U04) 2026-09-18 12:22:22 +00:00
ViewDistributionReport.php reports: Kohortenalter ab Stichtag statt ab --to; legacy:settle-unpaid kennt bereits ersetzte Quellen; dev: Basiswert 0.1 vom Live-System ausgewertet 2026-09-21 15:32:32 +00:00
VisibilityStats.php web: Abruf-Protokoll der RSS-Feeds — Reader-Dienst, gemeldete Abonnenten, Admin-Bericht, Panel (Roadmap 3.1) 2026-09-21 09:00:09 +00:00