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>
8.2 KiB
Flow: Pressemitteilung melden
Stand: 22.07.2026 Zweck: Selbstbedienungs-Flow für Änderungs-, Lösch- und DSGVO-Anliegen zu einer veröffentlichten Pressemitteilung. Reduziert manuelle Anfragen; Portal übernimmt den Post-Publication-Zustand selbst (connektar = write-once). Hinweis: Interne Konzeptbeschreibung, keine Rechtsberatung.
Übersicht der vier Anliegen
| Anliegen | Ergebnis | Kosten | Freigabe |
|---|---|---|---|
| Kleine Korrektur | Feld-/Textkorrektur ohne neuen Inhalt | kostenlos | automatisch (rate-limited) |
| DSGVO-Anonymisierung | Personendaten geschwärzt, PM bleibt online | kostenlos, nie Credits | Admin (später ggf. automatisiert) |
| Depublizierung | PM offline (Tombstone, umkehrbar) | 35 € | Zahlung |
| Änderung | Inhaltsedit + neuer Freigabelauf | 10 € | KI-Prüfung |
Reframe DSGVO: DSGVO führt zu Anonymisierung, nicht zu Depublizierung. Das ist das mildere, gesetzlich vorgesehene Mittel; der redaktionelle Kern bleibt erhalten (Art. 85). Depublizierung ist der separate, kostenpflichtige Fall.
Diagramm
flowchart TD
Start["PM melden (Website oder Dashboard)"]
QLogin{"Eingeloggter Creator mit zugeordneter PM?"}
PickOwn["PM aus eigenen Beitraegen waehlen"]
URL["PM per URL identifizieren"]
QMail{"Kontaktadresse hinterlegt?"}
ML["Magic-Link an hinterlegte Adresse"]
Click["Link bestaetigt = verifiziert"]
Manual["Hinweis: manuelle Verifizierung, Nachweis an Support"]
Admin0["Admin prueft Berechtigung"]
Anliegen{"Anliegen waehlen"}
KA["Feld-/Textkorrektur ohne neuen Inhalt"]
KDiff["Vorschau / Diff"]
KSave["Sofort speichern, rate-limited"]
DA["Zu schwaerzende Felder + Namensvarianten eingeben"]
DDiff["Pflicht-Vorschau / Diff, Wortgrenzen"]
DAdmin{"Admin-Freigabe: anonymisieren oder depublizieren?"}
DExec["Replace + Assets entfernen + Re-Index"]
PCheck["Checkout 35 EUR"]
PPay["Zahlung"]
PTomb["Tombstone: offline + noindex, umkehrbar"]
CA["Neuen Text eingeben"]
CPrice["Preis beziffern + Checkout"]
CPay["Zahlung"]
CAI{"Neuer Freigabelauf: KI-Pruefung"}
CLive["Live"]
CRej["Abgelehnt, kein Verbrauch"]
Sync["Re-Sync-Sperre setzen"]
Done["Nutzer-Benachrichtigung + Audit-Log ohne Klartext-Altwerte"]
Start --> QLogin
QLogin -- Ja --> PickOwn --> Anliegen
QLogin -- Nein --> URL --> QMail
QMail -- Ja --> ML --> Click --> Anliegen
QMail -- "Nein / tot" --> Manual --> Admin0 --> Anliegen
Anliegen -- "Kleine Korrektur (frei)" --> KA
Anliegen -- "DSGVO (frei)" --> DA
Anliegen -- "Depublizierung (35 EUR)" --> PCheck
Anliegen -- "Aenderung (kostenpflichtig)" --> CA
KA --> KDiff --> KSave --> Sync
DA --> DDiff --> DAdmin
DAdmin -- Anonymisieren --> DExec --> Sync
DAdmin -- "Depublizieren noetig" --> PTomb
PCheck --> PPay --> PTomb --> Sync
CA --> CPrice --> CPay --> CAI
CAI -- "gruen / gelb" --> CLive --> Sync
CAI -- rot --> CRej --> Done
Sync --> Done
Schritt-für-Schritt
1. Einstieg & Identität
Einstieg über die Website („Pressemitteilung melden") oder das eingeloggte Dashboard.
- Eingeloggter Creator mit zugeordneter PM → wählt die PM aus seinen Beiträgen, keine weitere Verifikation nötig.
- Nicht eingeloggt → PM per URL identifizieren → Verifikation über Magic-Link.
2. Verifikation (wenn nicht eingeloggt)
Der Magic-Link geht immer an die hinterlegte Firmen-/Pressekontaktadresse, nie an eine im Formular eingegebene Adresse. Damit ist selbst bei einem Fremdantrag nur der echte Kontakt handlungsfähig — die Verifikation ist strukturell.
- Adresse hinterlegt → Link raus, Klick verifiziert, weiter zur Anliegen-Auswahl.
- Keine Adresse hinterlegt / tot → Hinweis mit Alternativweg: manuelle Verifizierung (Berechtigungsnachweis an den Support), Admin prüft, Umsetzung umkehrbar + Aktenvermerk (Art. 5 Abs. 2).
3. Anliegen wählen
Vier Optionen (siehe Übersicht). Die Free/Paid-Einstufung wird nicht vom Nutzer frei gewählt: DSGVO läuft über Admin-Freigabe, damit „DSGVO" nicht als Gratis-Weg für eine eigentlich kostenpflichtige Depublizierung zulässiger Firmeneinträge missbraucht wird.
Spur A — Kleine Korrektur (kostenlos)
Feld- oder Textkorrektur ohne neuen Inhalt (Tippfehler, Kontaktdaten, Name einer natürlichen Person) → Pflicht-Vorschau/Diff → sofortiges Speichern. Rate-limited und auf geringe Änderungsdistanz begrenzt (Levenshtein), damit die Spur nicht zum kostenlosen Voll-Editor wird.
Spur B — DSGVO-Anonymisierung (kostenlos, nie Credits)
Der Kern des Konzepts. Ablauf:
- PM auswählen.
- Erfassung: Strukturierte Kontaktfelder werden automatisch zum Leeren angeboten; zusätzlich Freitextfelder, in die der Nutzer die zu schwärzenden Werte einträgt — inklusive Varianten (z. B. „Matvey Teplitsky", „Herr Teplitsky", „Teplitskys").
- Pflicht-Vorschau/Diff: System zeigt markiert, was ersetzt wird. Ersetzung über Wortgrenzen (
\b), damit weder Teiltreffer stehenbleiben noch Wörter wie „maximal" bei Name „Max" zerlegt werden. - Admin-Freigabe: Admin bestätigt und entscheidet auch anonymisieren vs. depublizieren — bei Vanity-/Personen-PMs bleibt nach Schwärzung nur ein Rumpf, dann ist Depublizierung das richtige Mittel.
- Ausführung: Text-Replace + separate Entfernung/Ersetzung betroffener Bilder und Anhänge (Klarname in Pressebild/PDF!) + Re-Index/Cache-Refresh.
- Kein KI-Red-Flag-Gate — Anonymisierung ist Compliance-Pflicht, darf nicht wie ein normaler Freigabelauf scheitern.
Umsetzung des Ersetzungswerts: neutraler Platzhalter oder Rolle („der Geschäftsführer"), kein Leerstring (zerstört Zitate grammatikalisch).
Spur C — Depublizierung (35 €)
Checkout → Zahlung → Tombstone (offline + noindex, umkehrbar mit Reversibilitätsfenster). Auch Zielpunkt aus Spur B, wenn der Admin depublizieren statt anonymisieren wählt.
Spur D — Änderung (kostenpflichtig)
Neuen Text eingeben → Preis beziffern + Checkout → Zahlung → neuer Freigabelauf über die KI-Prüfung: grün/gelb → live; rot → abgelehnt, kein Verbrauch. Aufwand entspricht faktisch einer Depublizierung (Eingriff + Freigabe), 35 € als plausibler Anker; reine Geschäftsentscheidung.
4. Gemeinsame Abschlussschritte
- Re-Sync-Sperre setzen (bei jeder Mutation zwingend) — sonst holt connektar beim nächsten Import den alten Stand / Klarnamen zurück.
- Nutzer-Benachrichtigung + Audit-Log. Der Log protokolliert „Feld X anonymisiert durch User Y am Z", nicht den Alt-Wert im Klartext (sonst leben die Daten im Log weiter). Alt-Wert nur verschlüsselt + mit Löschfrist, falls für Reversibilität nötig.
Querschnitts-Guardrails
- DSGVO nie Credits (Art. 12 Abs. 5).
- Scope-Grenze Spur B: Das DSGVO-Formular fasst nur personenbezogene Felder einer natürlichen Person an. Realname → Rolle/Platzhalter = frei; Realname → anderer echter Name oder Textumbau = Spur D (kostenpflichtig).
- Begriff: Was gebaut wird, ist De-Identifikation / Schwärzung direkter Identifier, keine „Anonymisierung" im DSGVO-Vollsinn — in der Kundenkommunikation nicht überversprechen.
- Formular-Rate-Limit (pro URL/IP), damit der Magic-Link-Versand nicht zum Werkzeug wird, fremde Kontakt-Postfächer zu fluten.
- Re-Sync-Sperre ist strukturell, nicht optional (connektar = write-once).
Zu bestätigen
- Spur B bleibt zunächst Admin-Freigabe, Automatisierung später bei guter Kalibrierung.
- Exakte Grenze Spur A ↔ D (Vorschlag: Feld-/Textkorrektur ohne neuen Inhalt = klein; neuer/umgeschriebener Fließtext, Bildtausch, Depublizierung = groß).
- Preis Spur D (Vorschlag: 35 € analog Depublizierung).
- Reversibilitätsfenster-Dauer für Depublizierung/Anonymisierung.