presseportale/docs/user-admin/Presseportal – Konzept für Relaunch.md
Kevin Adametz 8d8d957884 Doku: Status-Sync 11./12.06., Decision-Update Preisstruktur und Phase-9-Plan
- Decision-Update Preisstruktur & Veroeffentlichungs-Flow aufgenommen
  (Launch-Tarife, Slot-Verbrauch bei Veroeffentlichung, Submit-Gate,
  Launch-Credits) inkl. Klarstellung 12.06.: Gelb geht direkt live,
  keine manuelle Pruef-Queue, nur Rot wird abgelehnt
- Alle Status-Dokumente auf den Code-Stand gezogen: README-Index,
  STATUS-ABGLEICH (KI-Pipeline, Bilder/Lizenzen, Pricing), Checkliste
  (KI- und Titelbild-Bloecke, Launch-To-dos), Admin-User,
  user-zusammenhaenge (Datenmodell-Delta), Entwicklungsplan KI-Pruefung
  (Phase 0 abgehakt, Decision-Abgleich)
- Ueberschriebene Tarif-Abschnitte in Konzept-Update 1/2 und
  Relaunch-Konzept mit Superseded-/IST-Hinweisen markiert
- Neues Plan-Dokument PHASE-9-FLOW-UND-TARIFE-PLAN.md (9A-9J)
- Phase-8-Roadmap-Doku (20-PHASE-8-USER-PANEL.md) + PROGRESS-Eintraege

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:20:22 +00:00

44 KiB
Raw Permalink Blame History

Stand der Doku: 11.06.2026 — dieses Konzept beschreibt den Zielzustand der Plattform. Umgesetzt sind inzwischen die KI-Prüfung (§1, §15.1/15.2) und Bilder/Lizenzen (§2); offen bleiben externe Meldungen, Magic-Link-Flow, Korrektur-Hinweise und Trust-Score. Welcher Teil in welchem Zustand ist, steht jeweils in einer „IST-Stand"-Box am Anfang des Abschnitts.

Für Tarife/Credits (§810) gilt das Decision-Update Preisstruktur & Veröffentlichungs-Flow.

Aktueller Code-vs-Konzept-Abgleich: docs/STATUS-ABGLEICH-USER-PANEL.md.


1. KI-Freigabe-Workflow für Pressemitteilungen

IST-Stand 11.06.2026: Der Drei-Stufen-Workflow ist umgesetzt (Detail-Doku: Entwicklungsplan KI-Pruefung und Veroeffentlichung.md, Phasen 05):

  • Jede Einreichung (Formular + API) laeuft durch den Blacklist-Hard-Filter und wird anschliessend asynchron KI-klassifiziert (Rot/Gelb/Gruen, OpenAI-Treiber mit deterministischem Fallback, Queue classification).
  • Routing: Rot → rejected + Mail mit Begruendung, Gelb → manuelle Admin-Queue, Gruen → Auto-Publish (sofort oder zum geplanten Termin).
  • Jede Entscheidung wird in ki_audits protokolliert (Provider, Modell, Begruendung, Raw-Response); Re-Klassifikation bei Titel-/Text-Aenderung.
  • Zusaetzlich umgesetzt: Content-Score 0100 → Stufe (§15.2).

Offen: Trust-Score (§15.3), Live-Anzeige des Ergebnisses ohne Reload, DSGVO-Aufbewahrungsregel fuer raw_response.

Ziel

Automatisierte Vorprüfung jeder neu eingereichten Pressemitteilung, um direkte Veröffentlichung problematischer Inhalte zu verhindern.

Editor

IST-Stand 21.05.2026: Der Editor ist flux:editor mit Absaetzen, fett, kursiv, Listen, Zitat, Links und Headings. Das ist bewusst etwas mehr als das urspruenglich geplante „nur fett + kursiv", weil Pressemitteilungen in der Praxis Zitate, Aufzaehlungen und gelegentlich Zwischenueberschriften brauchen. Der Inhalt wird beim Speichern serverseitig durch HTMLPurifier (mews/purifier, gekapselt in App\Services\PressRelease\PressReleaseHtmlSanitizer) bereinigt — alles ausserhalb der erlaubten Tag-Liste wird entfernt.

  • Einfacher Texteditor mit Absätzen
  • Formatierungen: nur fett und kursiv
  • Keine weiteren Formatierungsoptionen

Klassifikation durch KI

KI antwortet strukturiert (JSON) mit Score und Kategorien:

  • Werbung statt Pressemitteilung
  • Beleidigend / diskriminierend
  • Rechtlich heikel
  • Spam-Muster
  • Unseriöse Versprechen

Drei-Stufen-Ergebnis

Status Behandlung User sieht
Grün Direkte Veröffentlichung (optional 510 Min Verzögerung) Sofort live
Gelb Manuelle Review-Queue Status „in Prüfung"
Rot Zurück an User mit Begründung Möglichkeit zur Überarbeitung

Logging

Jede Prüfung wird vollständig geloggt: Prompt, KI-Antwort, Score, Zeitstempel, User-ID. Basis für spätere Prompt-Optimierung und Nachvollziehbarkeit.

Trust-Score (mittelfristig)

Pro User wird ein Vertrauenslevel aufgebaut. Der Score kann im Admin Backend eingesehen und manuell justiert werden, damit Sonderfälle wie Distribution-Partner, Bestandskunden oder auffällige Accounts gezielt gesteuert werden können.

Da aktuell Pressemitteilungen ohne Freigabe veröffentlicht werden, sollte die Einführung schrittweise erfolgen:

  • Startwert pro User aus Historie ableiten: Anzahl PMs, Ablehnungen, Beschwerden, manuelle Eingriffe.
  • Neue/unbekannte User konservativer behandeln.
  • Verlässliche User können bei grünem KI-Ergebnis schneller oder automatisch veröffentlicht werden.
  • Admins können Trust-Score und Auto-Publishing-Status überschreiben.

Beispiel: Nach z. B. 50 problemfrei veröffentlichten PMs wird die Grün-Schwelle automatisch gelockert. Reduziert spätere Moderationslast.

Aufbewahrung und Zugriff

KI-Prüfungen müssen nachvollziehbar sein, dürfen aber nicht unbegrenzt und ungeschützt wachsen:

  • KI-Audits mit Prompt, Antwort, Score und Klassifikation speichern, aber mit definierter Aufbewahrungsfrist.
  • Personenbezogene Daten und potenziell rechtswidrige Inhalte möglichst minimieren oder redigieren.
  • Zugriff nur für Admins mit passender Berechtigung.
  • Fristen im Admin Backend konfigurierbar machen, mindestens getrennt nach normalen Checks, roten Treffern und juristischen Fällen.

2. Bilder & Lizenzen

IST-Stand 11.06.2026: Lizenz-/Rechteerfassung und Titelbild sind umgesetzt (Phase 8F8H + Umbau 10./11.06., Detail-Doku: Umsetzung Pressemitteilung Bearbeitung Titelbild Veroeffentlichung.md, Fachvorgabe: Lizenztyp Bildupload.md):

  • Ein Titelbild pro PM (Cover-Variante 1280×580, Original wird nach Verarbeitung geloescht) oder SVG-Platzhalter aus dem zentralen Set (App\Enums\PressReleasePlaceholder, PressReleaseCoverImage-Resolver).
  • Vollstaendiges Rechteformular: Urheber, 7 Lizenztypen, Lizenzdetails, Lizenz-/Quell-URL, Personen- und Sachrechte-Status, interne Notizen, Rechte-Bestaetigung; bedingte Pflichtfelder + Risikohinweise.
  • Nur Quelle „Eigenes Bild hochladen". Stock und KI sind nicht angebunden (weiterhin offen, ebenso der KI-Wasserzeichen-Check).

Upload-Workflow

Beim Klick „Bild hinzufügen" wählt der User die Quelle:

  1. Eigenes Bild hochladen
  2. Aus Bilddatenbank wählen (Stock (kostenpflichtig?))
  3. Mit KI generieren (kostenpflichtig)

Eigenes Bild Pflichtfelder

Ohne Eingabe kein Speichern, kein Veröffentlichen:

  • Urheber/Fotograf (Freitext)
  • Lizenztyp (Dropdown):
    • Eigene Aufnahme
    • CC-Lizenz
    • Kommerzielle Lizenz erworben
    • Einwilligung des Urhebers
    • Sonstiges
  • Quelle/Lizenz-URL (Pflicht bei CC und kommerziellen Lizenzen)
  • Bei abgebildeten Personen: Checkbox „Einwilligung der abgebildeten Personen liegt vor"
  • Bestätigungs-Checkbox (nicht vorausgewählt):

„Ich bestätige, dass ich die erforderlichen Nutzungsrechte an diesem Bild besitze und stelle [Plattform] von sämtlichen Ansprüchen Dritter frei, die aus einer unberechtigten Nutzung resultieren."

Optionaler KI-Check beim Upload

Erkennt Wasserzeichen, bekannte Stock-Muster, Logos. Wirft Warnung an Admin, blockiert nicht automatisch.

Stock-Integration (Free)

  • Unsplash + Pexels API kostenlos einbinden
  • Lizenz/Quelle automatisch gespeichert
  • User muss keine Lizenzdaten manuell eingeben

Stock-Integration (Premium)

  • Adobe Stock oder Shutterstock per API
  • Kosten x € pro Bild, weitergegeben an User mit Aufschlag

KI-Bildgenerierung

  • API-Anbindung z. B. Flux, DALL·E 3, Stable Diffusion
  • User gibt keinen Prompt ein, erhält 1-2 Vorschläge zur Auswahl (Hier wird die Pressemitteilung mehr oder weniger als prompt genommen und es werden Vorschläge gemacht, die der User über Auswahlfelder oder Auswahlmenüs Justieren kann)
  • Wichtig:
    • Lizenzhinweis transparent
    • Metadaten/dezenter Hinweis „mit KI erstellt" (wird mit AI Act Pflicht)
    • Keine Generierung realer Personen/Marken (Prompt-Filter vorschalten)

Datenmodell images (grob)

- source_type (own/stock/ai)
- author
- license_type
- license_url
- stock_provider
- stock_id
- ai_provider
- ai_prompt
- rights_confirmed_at
- uploaded_by
- persons_consent (bool)

AGB-relevante Punkte

  • Freistellungsvereinbarung: User stellt Plattform von Ansprüchen Dritter frei
  • AGB-Klausel sollte vom Anwalt geprüft werden
  • Notice-and-Takedown-Prozess (DSA-pflichtig)

3. Pressemitteilung melden (öffentlich, durch Dritte)

IST-Stand 21.05.2026: Noch nicht implementiert. Es gibt weder ein oeffentliches Melde-Formular noch ein internes Ticketsystem. Das Thema bleibt fuer Phase 2/3 (DSA-Pflicht).

Ziel

DSA-konformer Notice-and-Action-Mechanismus für Beschwerden Dritter.

Ticketsystem

Feste Kategorien:

  • Urheberrecht
  • Persönlichkeitsrecht
  • Falschaussage
  • Beleidigend
  • Spam
  • Sonstiges

Pflichtfelder:

  • Kategorie
  • Begründung (Freitext)
  • Kontakt-E-Mail des Melders

Auto-Empfangsbestätigung an Melder.

Behandlung

  • KI-Triage bewertet Plausibilität, ordnet Priorität zu
  • Bei plausibler Meldung (besonders Urheberrecht): PM sofort in Quarantäne
  • Autor wird informiert, bekommt Frist zur Stellungnahme
  • Finale Entscheidung durch Admin

Abgrenzung zum Änderungs-Flow

Der „Melden"-Button ist für Dritte (kein Login nötig). Änderungen an eigenen PMs laufen über den autorisierten Magic-Link-Flow (siehe Abschnitt 6).


4. Korrektur-Modell für veröffentlichte Pressemitteilungen

IST-Stand 21.05.2026: Korrektur- und Update-Hinweise sind noch nicht umgesetzt. Was es gibt:

  • Status-Wechsel ueber PressReleaseService (draft → review → published | rejected | archived).
  • Eine rudimentaere Tombstone-Variante in PressReleaseService::deleteFromAdmin() — beim Loeschen einer bereits veroeffentlichten PM wird der Inhalt durch einen neutralen Ersatztext ersetzt und der Status auf archived gesetzt, statt die Zeile zu loeschen.
  • Editierbare Korrektur-/Update-/Tombstone-Textvorlagen im Admin Backend gibt es noch nicht.

Die hier beschriebenen Drei-Stufen-Sichtbarkeitsregeln sind Phase 2/3.

Grundprinzip

Pressemitteilungen sind historische Dokumente, kein Blog. Ändern eigentlich nie, ergänzen ja, löschen nur in Ausnahmen.

Drei Sichtbarkeits-Stufen

Korrektur-Hinweis (bei sachlichen Fehlern):

„Korrektur vom 5.5.2026: Der ursprünglich genannte Umsatz von 5 Mio. € wurde auf 4,2 Mio. € berichtigt."

Hinweis erscheint oben gut sichtbar, Originaltext wird angepasst, Versionierung dokumentiert alte Fassung.

Update-Hinweis (bei substanziellen Ergänzungen):

„Update vom 5.5.2026: Das Produkt ist seit dem 1.5. nicht mehr verfügbar."

Originaltext bleibt unverändert, Update wird unten angehängt.

Anonymisierung (bei Kontaktdaten/DSGVO): Persönliche Daten werden ohne sichtbaren Hinweis ersetzt. DSGVO-konform und sogar Pflicht.

Tombstone statt Hard Delete

Bei „Löschung" wird die PM nicht physisch entfernt, sondern die Seite zeigt:

„Diese Pressemitteilung wurde am 5.5.2026 auf Wunsch des Autors entfernt. Die URL bleibt zu Zitat- und Archivzwecken erhalten."

Der Text ist nur ein Beispiel. Öffentlich sollte neutral formuliert werden, damit keine unnötigen juristischen oder reputativen Aussagen entstehen. Tombstone-Texte, Korrekturhinweise, Update-Hinweise und Standardbegründungen sollen im Admin Backend als Textvorlagen pflegbar sein.

  • Aus Übersichten/Suche raus
  • noindex-Tag gesetzt
  • Backlinks funktionieren weiter
  • Keine 404-Fehler

Echte physische Löschung nur bei juristischer Notwendigkeit (Gerichtsurteil, schwere Persönlichkeitsrechtsverletzung).

SEO-Konsequenzen

  • 301 nur bei bewusster URL-Änderung
  • 410 Gone signalisiert permanent weg, nimmt Linkjuice mit
  • Tombstone + noindex: behält Backlink-Wert, aus Suche raus → meist beste Wahl
  • Korrekturhinweise sind Trust-Signal für Google

5. DSGVO-Position

Kernaussage

Pressemitteilungen fallen unter berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO) im Rahmen von Meinungs- und Informationsfreiheit (Art. 85 DSGVO, Medienprivileg).

Komplettlöschung einer PM ist kein DSGVO-Anspruch.

Was gelöscht/anonymisiert werden muss (auf Wunsch)

  • Vollständiger Name natürlicher Personen im Kontaktblock
  • Direktdurchwahl, Mobilnummer, persönliche E-Mail
  • Privatadresse
  • Foto identifizierbarer Personen

Was bleiben darf

  • Firmenname, Firmenadresse, Hauptrufnummer
  • Funktions-E-Mails (presse@firma.de, info@firma.de)
  • Geschäftsführer im Pressetext mit Tätigkeitsbezug (z. B. Zitate)
  • Historische Aussagen zur Firma

Standard-Anonymisierungs-Patterns

  • Name → entfernt oder „[Name auf Wunsch entfernt]"
  • Telefon → entfernt
  • E-Mail → durch Funktions-E-Mail ersetzt (presse@firma.de)
  • Im Versionsverlauf: Grund „DSGVO-Anonymisierung Art. 17" dokumentiert, Inhalt nicht erneut gespeichert

Sonderfall Persönlichkeitsrecht

Persönlichkeitsrechtsverletzungen (§§ 823, 1004 BGB analog) sind kein DSGVO-Thema, können aber echte Komplettlöschung rechtfertigen. Eigener Pfad mit manueller Sichtung.


6. User-Flow: Änderung durch Pressekontakt

IST-Stand 21.05.2026: Der Magic-Link-Flow fuer Pressekontakte ist noch nicht implementiert. Was es gibt:

  • Die Tabelle magic_links existiert (gehoert aktuell an users).
  • Der MagicLinkGenerator wird intern fuer Vorschau-Links („Share-Link") aus dem Admin-Press-Release-Show genutzt.
  • Es gibt keine separate press_release_access_requests- oder press_contact_access_tokens-Tabelle.
  • Der Aenderungs-Wizard (Pfade AG) ist nicht gebaut.

Das Thema bleibt fuer Phase 2.

Dieser Flow ist vom normalen User-Login getrennt. Er soll Firmen und hinterlegten Pressekontakten erlauben, eigene Pressemitteilungen über E-Mail-Verifikation zu bearbeiten oder Änderungen zu beantragen, ohne dass zwingend ein vollwertiger User-Account existiert.

Technisch sollte dafür nicht die bestehende magic_links-Tabelle am users-Model missbraucht werden. Besser ist eine neue Request-/Token-Tabelle für Pressekontakt- und Firmenzugriffe, z. B. press_release_access_requests oder press_contact_access_tokens. Diese referenziert bestehende Daten (press_releases, companies, contacts) und bleibt getrennt von echten Login-Usern.

Wichtig: Tabellenbegriffe bleiben am bestehenden Modell ausgerichtet. Es gibt weiterhin contacts und press_release_contact; keine parallele Tabelle press_contacts.

Phase 1 Zugang & Authentifizierung

Schritt 1: Auf jeder PM dezenter Link „Sie sind als Pressekontakt hinterlegt? Pressemitteilung verwalten →"

Schritt 2: E-Mail-Eingabe + Captcha

Schritt 3: System prüft die eingegebene E-Mail gegen die vorhandenen Daten:

  • contacts.email über press_release_contact für direkt hinterlegte Pressekontakte.
  • companies.email der Firma, die der PM über press_releases.company_id zugeordnet ist.
  • optional später weitere verifizierte Firmen-E-Mails, falls ein eigenes Modell dafür entsteht.

Identische Antwort unabhängig vom Match (verhindert User-Enumeration):

„Falls die angegebene E-Mail-Adresse für diese Pressemitteilung oder Firma berechtigt ist, haben wir Ihnen einen Link zur Verwaltung gesendet."

Schritt 4: Bei Match: Token-Mail mit 30-Min-Token. Klick öffnet eine begrenzte Verwaltungssession für genau die berechtigten Pressemitteilungen/Firmeninhalte, keine normale User-Session.

Phase 2 Dashboard

Liste aller PMs, für die diese E-Mail berechtigt ist:

  • direkt als Pressekontakt über contacts + press_release_contact
  • über die Firmen-E-Mail der zugeordneten company
  • später optional über weitere verifizierte Firmen-E-Mails

Pro Eintrag:

  • Titel, Datum, Status (veröffentlicht / depubliziert / in Bearbeitung)
  • Button „Änderung beantragen"

Optional: „Permanenten Account anlegen" → Passwort vergeben, künftig direkter Login.

Phase 3 Änderungs-Wizard

Erste Frage: „Worum geht es?"

A) Tippfehler / Grammatik korrigieren
B) Pressekontakt-Daten aktualisieren
C) Inhaltliche Korrektur (sachlicher Fehler)
D) Update / Ergänzung (neue Information)
E) Persönliche Daten entfernen lassen (DSGVO)
F) Persönlichkeitsrechtsverletzung melden
G) Pressemitteilung depublizieren

Pfad A Tippfehler (low friction)

  • Inline-Editor mit Diff-Anzeige
  • KI prüft Diff: nur kosmetisch?
    • Ja → übernommen, kein öffentlicher Hinweis
    • Nein → automatische Umleitung zu Pfad C
  • Kostenfrei

Pfad B Pressekontakt-Daten (low friction)

  • Formular mit aktuellen Daten
  • Direkt übernommen, kein öffentlicher Hinweis
  • Versionierung im Hintergrund
  • Kostenfrei

Pfad C Inhaltliche Korrektur (medium friction)

  • Editor + Pflichtfeld „Was war falsch und was ist korrekt?"
  • KI prüft: Korrektur (Zahl, Datum, Name) ok / Umschreibung der Aussage blockiert
  • Vorschau zeigt PM mit Korrektur-Hinweis
  • Kostenpflichtig, nach Zahlung sofort live

Pfad D Update / Ergänzung (medium friction)

  • Textfeld für Ergänzung
  • Original bleibt vollständig unverändert
  • Wird unten angehängt mit Datum
  • KI-Check auf Spam/Werbe-Update
  • Kostenpflichtig, Sofortveröffentlichung

Pfad E DSGVO-Anonymisierung (low friction, kostenfrei)

Aufklärungs-Schritt zuerst:

„Pressemitteilungen sind öffentliche journalistische Dokumente und können nicht aufgrund der DSGVO gelöscht werden (Art. 85 DSGVO, Medienprivileg). Auf Wunsch entfernen wir aber kostenfrei personenbezogene Daten."

Checkbox-Auswahl:

  • ☐ Name aus Pressekontakt
  • ☐ Direktdurchwahl/Mobilnummer
  • ☐ Persönliche E-Mail-Adresse
  • ☐ Andere personenbezogene Angabe (Freitext mit Quote/Stelle)

KI-Check ob plausibel im DSGVO-Sinn (Firmendaten werden rausgefiltert). Kostenfrei, sofort umgesetzt.

Pfad F Persönlichkeitsrechtsverletzung (manuelle Sichtung)

  • Pflichtfelder: betroffene Stelle, Art der Verletzung, Begründung, ggf. Belege
  • Geht in Review-Queue, KI gibt Vorklassifikation
  • Kostenfrei (legitimes Anliegen darf nicht durch Gebühr blockiert werden)
  • Outcomes: Anonymisierung, Anpassung, Tombstone, Ablehnung mit Begründung

Pfad G Depublizieren (high friction)

G.1 Aufklärungsseite:

„Pressemitteilungen sind öffentliche, archivierte Dokumente. Eine Depublizierung sollte gut überlegt sein. Die URL bleibt mit einem Hinweis erhalten, der Inhalt wird nicht mehr angezeigt. Diese Aktion ist nicht ohne Weiteres rückgängig zu machen."

G.2 Begründungspflicht (Dropdown + Freitext, KI klassifiziert):

  • „Veraltet" → Hinweis: „Veraltung ist kein Grund. Update (Pfad D)?"
  • „Falsch / peinlich" → Hinweis: „Stattdessen Korrektur (Pfad C)?"
  • „Firma existiert nicht mehr" → ok, weiter
  • „Anderer Grund" → Freitext, KI prüft

G.3 Kostenpflichtige Bestätigung (höhere Gebühr als Korrektur)

G.4 Bedenkzeit (2448 h):

  • Nach Zahlung: Status „Depublizierung wird in 24h ausgeführt"
  • Widerrufslink per E-Mail
  • Im Dashboard sichtbar mit „Widerrufen"-Button

G.5 Ausführung: Tombstone-Seite, noindex, aus Listen/Suche raus, URL bleibt

Friction-Übersicht

Pfad Auth KI-Check Kosten Wartezeit Public Hint
A Tippfehler Magic-Link ja nein
B Kontaktdaten Magic-Link nein
C Korrektur Magic-Link ja ja ja
D Update Magic-Link ja ja ja
E DSGVO Magic-Link leicht nein
F Persönlichkeitsrecht Magic-Link Triage manuell je nach Outcome
G Depublizieren Magic-Link ja ja 2448 h Tombstone

Edge Cases

  • Keine valide E-Mail im Pressekontakt (alte connektar-PMs): Fallback „Verifikation per Domain-Inhaberschaft / Impressums-Match", manuelle Prüfung
  • E-Mail wurde geändert / Person verlässt Firma: Manuelle Anfrage mit Bestätigung über info@-Adresse
  • Massenanträge: Bulk-Aktion möglich, Friction wird pro PM angewendet

Missbrauchsschutz

  • Rate-Limit auf Magic-Link-Anfragen pro E-Mail/IP
  • Cooldown nach Hard-Delete-Anfrage (24 h Wiederherstellung)
  • Audit-Log mit IP/User-Agent jeder Edit-Aktion

Standard-Antwort an unautorisierte Lösch-Anfragen per Mail

„Änderungen an Pressemitteilungen sind ausschließlich über das Selbstbedienungs-Portal möglich. Bitte besuchen Sie [URL der PM] und nutzen Sie den Link Pressemitteilung verwalten'. Die Authentifizierung erfolgt über die in der PM hinterlegte Pressekontakt-E-Mail."


7. Distribution-Partner (connektar.de)

Status

Über 50 % des aktuellen PM-Volumens kommt über connektar via API. Aktuell kein klassischer Vertrag, nur AGB + Rechnung. Wichtig für Traffic während Relaunch-Phase, daher zunächst weiterlaufen lassen.

Behandlung

  • Eigene Account-Kategorie: source: distribution_partner (nicht öffentlich beworben)
  • Kein Standard-Tier, sondern Custom-Vertrag (Wholesale-Account)
  • API-Rate-Limits (z. B. max. 50/Stunde) zum Schutz vor Lastspitzen
  • Strengere Moderations-Schwelle in der KI-Prüfung

Tracking

Eigene Statistiken trennen:

  • Volumen, Engagement, Beschwerden, KI-Ablehnungsrate
  • Datenbasis für Vertragsverlängerungen und Qualitäts-SLA

Risiko

Klumpenrisiko bei >50 % Anteil. Beim nächsten Renewal Kündigungsrecht bei Qualitätsproblemen verankern.


8. Preismodell Tarife (überarbeitet)

⚠️ Ueberschrieben (11.06.2026): Die Abschnitte 8, 9 und 10 sind durch das Decision-Update Preisstruktur & Veröffentlichungs-Flow ersetzt. Wichtigste Aenderungen: Kontingente Pro 25 / Agency 60 (statt 60/150), Jahrespreis als „2 Monate gratis", Bonus-Credits aus der Tarif-Tabelle entfernt, Launch-Credits auf Extra-PM / Boost / PDF-Nachweis reduziert, Slot-Verbrauch erst bei Veroeffentlichung. Der folgende Text bleibt als urspruengliche Zielvorstellung erhalten.

IST-Stand 11.06.2026: Das Tarif- und Credit-System ist noch nicht implementiert. Es gibt:

  • Eine Tabelle user_payment_options (mit Pivot zu companies).
  • Eine Tabelle invoices (aktuell + Legacy ueber legacy_invoices).
  • Keine Tarif-Stufen, keine Stripe-Anbindung, kein Auto-Refill.
  • Den Phase-8-Quota-Stub auf users (press_release_quota, press_release_quota_used_this_month) samt Kontingent-Anzeige im Veroeffentlichungs-Modal — zaehlt aktuell beim Einreichen, laut Decision-Update kuenftig bei Veroeffentlichung.

Grundlogik

Alle Tarife enthalten ein Kontingent an Pressemitteilungen sowie monatlich ausgeschüttete Bonus-Credits für Tools und Add-ons. Bonus-Credits aus Abos verfallen monatlich, gekaufte Credits bleiben 24 Monate gültig. So bleibt das Abo aktivierungsstark, ohne dass der Nutzer eigenes Geld verliert.

Tier-Struktur

Tier Preis PMs Bonus-Credits/Mo. Effektiver PM-Preis Besonderheiten
Einzel 19 € / Stück 1 4 (verfallend nach 30 T) 19,00 € Pay-as-you-go
Starter 19 €/Mo. (190 €/Jahr) 3 12 6,30 € Free-Stock, KI-Quality-Check
Business 49 €/Mo. (490 €/Jahr) 10 30 4,90 € Erweiterte Statistiken, optionaler Newsroom
Pro 99 €/Mo. (990 €/Jahr) unbegrenzt (Fair Use) 60 < 2 € Eigener Newsroom, Priority, volles Statistik-Dashboard
Agency 199 €/Mo. (1.990 €/Jahr) unbegrenzt für 5 Marken 120 < 1 € Multi-Redakteur-Workflow, API-Zugang, je weitere Marke 29 €/Mo.

Jahrespreise mit ca. 17 % Rabatt eingebaut. Fair Use im Pro-Tarif: Soft-Cap 50 PMs/Monat.

Mehrwerte im Vergleich

Feature Einzel Starter Business Pro Agency
Pressemitteilungen 1 3/Mo. 10/Mo. unbegr. unbegr. (5 Marken)
Bonus-Credits 4 einmalig 12/Mo. 30/Mo. 60/Mo. 120/Mo.
Free-Stock-Bilder
KI-Quality-Check
Erweiterte Statistiken
Eigener Newsroom optional inkl. inkl.
Priority-Support
Multi-Redakteur-Workflow
API-Zugang

Kommunikation

Die inkludierten Bonus-Credits sind Teil des Pakets, nicht zusätzliche Kosten. Reicht das Kontingent nicht (z. B. weil mehrere PMs mit aufwändigem Tooling veröffentlicht werden), kauft der Nutzer Credits nach diese bleiben 24 Monate erhalten und schaffen langfristige Bindung an die Plattform.

Bestandskunden

Aktive Jahresabos behalten Preis bis zum nächsten Verlängerungstermin. Loyalty-Bonus 1020 % im ersten Verlängerungsjahr. Downgrade-Pfad anbieten.

Einstiegsstrategie

In der Anfangsphase (erste 612 Monate nach Relaunch) bewusst günstiger einsteigen, um User-Base aufzubauen. Preise sind kalkuliert mit Spielraum für spätere Anpassung. Wichtig: Bestandskunden behalten ihre Konditionen.


9. Credit-System (überarbeitet)

Grundregel

1 Credit = 1 € als Listenpreis-Anker. Alle Service-Preise werden in ganzen Credits ausgewiesen. Wer größere Pakete kauft, zahlt effektiv weniger pro Credit (Volumenrabatt), aber der Listenpreis bleibt stabil. So entfällt jede Kopfrechen-Übung im UI.

Credit-Pakete

Paket Credits Preis Effektiv pro Credit Ersparnis
Test 10 10 € 1,00 €
Standard 50 45 € 0,90 € 10 %
Plus 150 120 € 0,80 € 20 %
Pro 500 375 € 0,75 € 25 %
Business 1.500 1.050 € 0,70 € 30 %

Ganzzahlige Beträge, keine Bruchteile im UI. Intern kann auf Cent-Ebene abgerechnet werden, aber nach außen sieht der Nutzer nur ganze Credits.

Auto-Refill

Standardmäßig nach erstem Kauf aktiviert (mit Opt-Out):

  • Trigger: bei < 10 Credits Restguthaben

  • Aufladung: zuletzt gekauftes Paket (Default Standard, 50 Credits)

  • Eindeutige Bestätigungs-Mail nach jeder automatischen Aufladung

Gültigkeit

  • Gekaufte Credits: 24 Monate ab Kauf

  • Bonus-Credits aus Abos: monatlich verfallend

  • Willkommens-Bonus (5 Credits einmalig bei Account-Anlage): 90 Tage

Mini-Checkout (kontextuell)

  1. User klickt z. B. „KI-Bild generieren"

  2. Modal: „Kostet 4 Credits. Du hast 2 Credits."

  3. Optionen:

    • „Schnell aufladen: Standard-Paket (50 Credits, 45 €)" 1-Klick mit Saved Payment Method

    • „Anderes Paket wählen"

    • „Abbrechen"

  4. Nach Aufladung wird Aktion automatisch ausgeführt

Erstkauf

Stripe Checkout mit setup_future_usage für Saved Payment Method. Danach 1-Klick-Aufladung.

Dashboard

  • Credit-Stand oben rechts immer sichtbar

  • Trennung sichtbar: Bonus-Credits (verfallend) vs. gekaufte Credits (24 Monate)

  • Verlauf einsehbar (was wofür verbraucht)

  • Rechnungs-PDFs für jede Aufladung

Buchhaltung & Recht

  • Credits = Vorauszahlung, bilanziell als Verbindlichkeit

  • MwSt-Behandlung mit Steuerberater abstimmen (Kauf vs. Verbrauch)

  • Verfall in AGB sauber dokumentieren

  • Keine Auszahlung in Geld (sonst PSD2-Lizenzthema)

  • EU-Auslandskunden: Reverse-Charge bei B2B mit USt-ID


10. Preisliste in Credits (überarbeitet)

Alle Preise in ganzen Credits (1 Credit = 1 €). Anker-Werte für die Startphase, iterativ anpassbar.

Veröffentlichung

Service Credits
Standard-PM (Pay-as-you-go) 19
PM-Korrektur (Pfad C) 8
PM-Update (Pfad D) 4 (im ersten Jahr ggf. kostenlos)
Depublizierung (Pfad G) 1925

Bilder

Service Credits
Free-Stock (Unsplash, Pexels) 0
Premium-Stock (Adobe, Shutterstock) 8
KI-Bild generieren 4
KI-Bild Re-Generation 2

KI-Textservices

Service Credits
Quality-Check (Stil/Pressestil) 3
Lektorat 8
Pressetext-Optimierung (Headlines, SEO) 15
Headline-Booster (nur Headlines) 5
PM aus Stichworten generieren 25
Übersetzung (DE↔EN) 12

Platzierungen

Service Credits
Highlight Kategorie (3 Tage) 15
Highlight Kategorie (7 Tage) 30
Startseite-Highlight (24 h) 39
Startseite-Highlight (3 Tage) 89
Top-Slot Startseite (24 h) 119
Newsletter-Erwähnung 59
Social-Share (offizieller Kanal) 25

Voraussetzung für alle Platzierungen: Mindest-Content-Score erreicht (siehe Abschnitt „Boost-Eligibilität").

Distribution

Service Credits
PDF-Export mit Branding 2
Social-Snippet-Generierung 3
Verteiler-Versand (klein, branchenspezifisch) 39
Verteiler-Versand (mittel) 99
Verteiler-Versand (groß, branchenübergreifend) 199

Account / Profil

Service Credits
Verifiziertes Firmenprofil (einmalig) 79
Custom Subdomain (pro Jahr) 49
Erweiterte Statistiken (pro Monat) 15

Goodies (kostenlos, fördern Aktivität)

  • PM-Updates kostenfrei im ersten Jahr (besseres Archiv)

  • 3 Free-Stock-Bilder pro PM

  • Erster KI-Quality-Check pro PM kostenfrei

  • 5 Credits Willkommens-Bonus bei Account-Anlage (90 Tage gültig)

  • Headline-Vorschlag (1 Variante) kostenfrei pro PM




11. Weitere Monetarisierungs-Ideen

Mittelfristig prüfen, nicht im ersten Release:

  • Job-Anzeigen / Stellenausschreibungen: €4999 pro Anzeige oder Jahres-Pauschale
  • Branchen-Verzeichnis (Sponsored Listings): prominente Listung in Rubriken, €1949/Monat
  • Whitepaper-/Studien-Hosting: Landingpage + Lead-Capture, €99299/Monat
  • Event-Ankündigungen: eigene Rubrik (Webinare, Messen, Launches), €2979/Event
  • API-Zugang für Distribution-Partner: skaliertes connektar-Modell, €499999/Monat mit Limits
  • SEO-Backlink-Aufwertung: heikel, nicht offensiv kommunizieren, €99299
  • White-Label-PM-Verteilung: B2B-Modell für andere Portale
  • Affiliate-Werbung in PMs: Tracking-Links, Umsatzbeteiligung experimentell

12. Build-Reihenfolge (Empfehlung)

  1. Backend-Migration zu Laravel (in Umsetzung)
  2. Magic-Link-Auth + „Meine Pressemitteilungen" (Dashboard)
  3. Self-Service-Buttons für Top-3-Fälle (Kontaktdaten, Depublizieren, Link)
  4. Versionierung im Datenmodell (press_release_revisions)
  5. KI-Freigabe-Workflow für neue PMs (3-Stufen-Klassifikation)
  6. Bild-Modul mit Pflichtfeldern + Free-Stock-Integration
  7. Credit-System als Datenmodell (Konto, Transaktionen, Verfall)
  8. Stripe-Integration mit Saved Payment Methods + Auto-Refill
  9. Erste Add-ons anbinden: Highlight, KI-Bild, KI-Lektorat
  10. KI-Triage für Änderungs-Wizard (Pfad A vs. C, Pfad G)
  11. Melden-Button mit DSA-konformem Ticketsystem
  12. Premium-Stock + KI-Bildgenerierung
  13. Tombstone-Logik + SEO-Setup (noindex, 410 nur wo nötig)
  14. Tarif-Integration mit Bonus-Credits
  15. Schrittweise weitere Services anbinden, datengetrieben

13. Datenmodell-Skizze (relevante Tabellen)

press_releases
  - id, title, body, published_at, status, tombstone_at, ...

press_release_revisions
  - id, press_release_id, type (correction/update/anonymization)
  - old_content, new_content, reason, created_by, created_at

contacts
  - bestehende Tabelle: id, company_id, name fields, email, phone, ...

press_release_contact
  - bestehender Pivot: press_release_id, contact_id

press_release_access_requests
  - neue Tabelle für Phase 2: id, press_release_id, company_id, contact_id nullable
  - requester_email, token_hash, purpose, expires_at, consumed_at
  - scope (single_press_release/company_press_releases)

change_requests
  - neue Tabelle für Phase 2: id, press_release_id, requester_email
  - path (A-G), status, ki_classification, ki_score
  - payment_id, scheduled_for, executed_at

reports (Melden-Button)
  - id, press_release_id, reporter_email, category
  - reason, status, ki_triage, created_at

images
  - id, source_type, author, license_type, license_url
  - stock_provider, stock_id, ai_provider, ai_prompt
  - rights_confirmed_at, persons_consent, uploaded_by

credit_accounts
  - id, user_id, balance_cent_credits, auto_refill_enabled
  - auto_refill_package_id

credit_transactions
  - id, account_id, amount_cent_credits (signed)
  - type (purchase/spend/bonus/expiry)
  - reference_type, reference_id (z. B. image_id, press_release_id)
  - expires_at, created_at

ki_audits
  - id, reference_type, reference_id, prompt, response
  - score, classification, created_at

admin_text_templates
  - id, key, locale, title, body, is_active
  - für Tombstone, Korrekturhinweise, Update-Hinweise, Ablehnungen, Standardmails

retention_policies
  - id, key, retention_days, description, is_active
  - konfigurierbare Aufbewahrungsfristen für KI-Audits, Access-Requests, Change-Requests, API-Logs

14. Offene Punkte / nächste Entscheidungen

  • Konkrete Preise für Korrektur (Pfad C), Update (Pfad D), Depublizierung (Pfad G) finalisieren
  • Stripe-Webhook-Architektur für Credit-Transaktionen
  • AGB-Anpassung durch Anwalt (Lizenzklausel, Credits, DSA, DSGVO)
  • KI-Prompt für Diff-Klassifikation und Veröffentlichungs-Triage final ausarbeiten
  • Migrations-Plan für Bestands-PMs ohne Bilder/Lizenzangaben
  • Newsletter-Aufbau (Voraussetzung für Newsletter-Add-on)
  • Trust-Score-Schwellenwerte definieren
  • Aufbewahrungsfristen für KI-Audits, Token-Requests, Change-Requests und API-Logs definieren
  • Admin-pflegbare Textvorlagen für Tombstones, Korrekturen, Updates, Ablehnungen und Standardmails konzipieren
  • Pressekontakt-/Firmen-E-Mail-Zugriff technisch als getrennte Access-Request-Logik modellieren, nicht als normaler User-Login

Abschnitt 15: Score-Architektur

IST-Stand 11.06.2026: §15.1 (Klassifikations-Score Rot/Gelb/Grün) und §15.2 (Content-Score 0100 → Stufe) sind umgesetzt — siehe Entwicklungsplan KI-Pruefung und Veroeffentlichung.md (Phasen 25). §15.3 (Trust-Score) ist weiterhin offen (Phase 3).

Die Plattform arbeitet mit drei voneinander unabhängigen Scores. Sie haben unterschiedliche Funktionen, werden unterschiedlich berechnet und an unterschiedlichen Stellen wirksam. Die Trennung ist zentral, weil sie unterschiedliche Datenmodelle und Update-Logiken betrifft.

15.1 Klassifikations-Score (Eintritts-Filter)

Funktion: Entscheidet, ob eine Pressemitteilung überhaupt veröffentlicht wird.

Bereich: Grün / Gelb / Rot (kategorial)

Faktoren:

  • Werbung statt Pressemitteilung

  • Beleidigend / diskriminierend

  • Rechtlich heikel

  • Spam-Muster

  • Unseriöse Versprechen

Auswirkung:

  • Grün: Direkte Veröffentlichung (optional 510 Min Verzögerung)

  • Gelb: Manuelle Review-Queue

  • Rot: Zurück an User mit Begründung

Aktualisierung: Einmalig bei Einreichung. Bei Änderung der PM (Pfad C/D) wird neu klassifiziert.

Speicherung: press_releases.classification plus vollständiges Audit-Log in ki_audits.

15.2 Content-Score (Qualitäts-Indikator)

Funktion: Misst die handwerkliche Qualität einer Pressemitteilung. Bestimmt organische Sichtbarkeit und Boost-Berechtigung.

Bereich: 0100 Punkte

Faktoren (Vorschlag, iterativ verfeinerbar):

Kategorie Gewichtung Was zählt
Pressestil 20 % Tonalität (informativ vs. werblich), passive vs. aktive Konstruktion, Zitate vorhanden
Struktur 15 % Lead-Absatz vorhanden, sinnvolle Absatzstruktur, Pyramidaler Aufbau
Lesbarkeit 10 % Flesch-Index für Deutsch, Satzlängen, Fachsprache angemessen
Vollständigkeit 15 % Pressekontakt, Unternehmensinfo, Datum, Branche, Region
Bildmaterial 10 % Mindestens 1 Bild, Auflösung, Alt-Text, Bildunterschrift
Quellen / Belege 10 % Verlinkungen, Studien-Referenzen, Datenquellen
Headline-Stärke 10 % Länge, Keyword-Relevanz, Klarheit
Originalität 10 % Kein Boilerplate, kein Duplicate-Content, individueller Ton

Auswirkung:

  • Organische Sichtbarkeit: Listing-Position, Top-Story-Kandidat, Newsletter-Aufnahme, Trending in Branche

  • Boost-Berechtigung: Schwellenwerte für kostenpflichtige Slots (siehe Abschnitt 16)

  • User-Feedback: Sichtbar im Editor-Dashboard mit konkreten Verbesserungsvorschlägen

Aktualisierung: Bei Einreichung berechnet, bei jeder Änderung der PM neu berechnet. History pro PM in content_scores.

Speicherung: press_releases.content_score (aktueller Wert), content_scores (History mit Faktor-Breakdown).

15.3 Trust-Score (Reputations-Indikator)

Funktion: Bewertet die Zuverlässigkeit eines Publishers über Zeit. Reduziert Moderationslast und kann öffentliche Anerkennung bringen.

Bereich: 0100 oder Stufen (Bronze / Silber / Gold / Verifiziert)

Faktoren:

  • Anzahl problemfrei veröffentlichter PMs

  • Durchschnittlicher Content-Score über alle PMs

  • Beschwerderate (Reports, Korrekturen, Depublizierungen)

  • Account-Alter

  • Verifikations-Status (verifiziertes Firmenprofil)

Auswirkung:

  • Moderation: Lockerung der KI-Freigabe-Schwelle (mehr „Grün" automatisch)

  • Sichtbarkeit (optional): öffentliches Verifizierungs-Badge auf Newsroom und PM-Seiten

  • Bevorzugung in Branchen-Übersichten bei gleichem Content-Score

  • Bei Trust-Verlust: Rückfall in strengere Moderation (auch nach Beschwerden, häufigen Korrekturen, Depublizierungen)

Aktualisierung: Rollierend, z. B. nächtlicher Cron-Job über die letzten 90 Tage Aktivität.

Speicherung: accounts.trust_score, accounts.trust_tier (Bronze/Silber/Gold/Verifiziert), History in trust_score_log.

Offene Detail-Entscheidungen

  • Trust auf User- oder auf Firmen-Ebene? (Empfehlung: Firmen-Ebene, weil Mitarbeiter wechseln)

  • Trust-Verlust: ab welchen Schwellen?

  • Verifizierungs-Badge: nur über kostenpflichtigen Verifizierungs-Prozess oder auch durch Trust-Score erreichbar?


NEU Abschnitt 16: Boost-Eligibilität

Die Verbindung zwischen Score-System und kostenpflichtigen Sichtbarkeits-Slots. Grundprinzip: Schlechter Content kann nicht in den Top-Slot gekauft werden. Das schützt die redaktionelle Glaubwürdigkeit der Plattform und schafft den Anreiz, in Qualität zu investieren.

Schwellenwerte je Slot-Typ

Slot Klassifikation Min. Content-Score
Highlight Kategorie Grün 50
Startseite-Highlight (24h / 3 T) Grün 65
Top-Slot Startseite Grün 75
Newsletter-Erwähnung Grün 70
Social-Share (offizieller Kanal) Grün 70
Verteiler-Versand (extern) Grün 80

PMs mit Klassifikation Gelb können nicht boostbar werden, auch nicht nach manueller Freigabe sie bleiben in regulärer Sichtbarkeit. PMs mit Klassifikation Rot werden nicht veröffentlicht und sind damit irrelevant.

UI-Logik

Wenn ein User einen Boost-Slot bucht, dessen Schwelle seine PM nicht erreicht, sieht er statt des Buchungsformulars:

„Diese Pressemitteilung erreicht aktuell einen Content-Score von 60/100. Für den Top-Slot Startseite empfehlen wir mindestens 75 Punkte. So kannst du deinen Score verbessern:"

[Pressetext-Optimierung 15 Credits → +1520 Punkte] [Headline-Booster 5 Credits → +37 Punkte] [Bild hinzufügen 4 Credits → +510 Punkte]

Nach Tool-Anwendung wird der Score neu berechnet, der Slot kann dann gebucht werden.

Effekt

Drei gewollte Konsequenzen:

  1. Plattform-Qualität bleibt hoch: Premium-Slots zeigen nur qualitativ hochwertige Inhalte.

  2. Tools werden indirekt verkauft: Wer den Slot will, muss in Qualität investieren entweder selbst oder über kostenpflichtige Tools.

  3. Glaubwürdigkeit für Leser bleibt erhalten: Leser und Journalisten erkennen schnell, dass sichtbar platzierte Inhalte tatsächlich relevant sind.

Sonderfall: Editorial-Pick

Unabhängig vom Boost-System kann die Redaktion (intern) PMs als „Empfehlung der Redaktion" hervorheben. Das ist ein redaktionelles Instrument, kein kommerzielles, und nicht buchbar. Wirkt als Vertrauensanker auf der Startseite.


NEU Abschnitt 17: Tool-zu-Algorithmus-Loop

Der strategische Kern der Monetarisierungslogik. Der Loop verbindet drei Plattform-Ziele in einem geschlossenen System:

Die drei Ziele

  1. Plattform-Qualität: Hohe durchschnittliche Inhaltsqualität, damit Leser, Journalisten und Mediaplaner die Plattform als seriös wahrnehmen.

  2. Monetarisierung: Umsatz aus Tools, Tarifen und Boost-Slots.

  3. Anreiz für Publisher: Sichtbar gute Platzierungen für gute Inhalte als motivierender Faktor.

Der Loop

Publisher schreibt PM
  ↓
Content-Score wird berechnet (z. B. 55/100)
  ↓
Publisher will Top-Slot buchen (Schwelle 75)
  ↓
System empfiehlt: Pressetext-Optimierung (15 Credits)
  ↓
Tool wird angewendet, Score steigt auf 78
  ↓
Top-Slot wird gebucht (119 Credits)
  ↓
PM erscheint prominent auf Startseite
  ↓
Hohe Reichweite, gute Statistiken
  ↓
Publisher sieht Wert, kommt wieder
  ↓
Plattform-Durchschnittsqualität steigt
  ↓
Mehr Leser, mehr Wert für nächsten Boost-Käufer

Voraussetzungen für Funktionieren

  • Tools müssen tatsächlich gut sein. Wenn das KI-Lektorat schlechter ist als das, was der Publisher selbst zustande bringt, kollabiert der Loop. → Tool-Qualität ist Wettbewerbsvorteil, hier wird investiert.

  • Score-Verbesserung muss spürbar und nachvollziehbar sein. Der Publisher muss verstehen, was sein Tool-Einsatz konkret gebracht hat. → Score-Breakdown sichtbar, Vorher-Nachher-Vergleich.

  • Reichweite muss real sein. Ein gekaufter Top-Slot muss tatsächlich Reichweite bringen. → Leser-Seite (Newsletter, SEO, Social) muss aktiv aufgebaut werden.

  • Boost-Schwellen dürfen nicht zu hoch sein. Sonst wird der Loop frustrierend statt motivierend. → Schwellen iterativ kalibrieren auf Basis realer Score-Verteilung.

Was das für den Build bedeutet

  • Tools haben strategische Priorität. KI-Lektorat, Pressetext-Optimierung, Headline-Booster sind nicht nur Add-ons, sondern das Herzstück der Wertschöpfung.

  • Score-Anzeige muss früh implementiert werden. Ohne sichtbaren Score kein Loop.

  • Statistik-Dashboard ist Pflicht für mittlere Tarife. Ohne sichtbare Reichweiten-Daten erkennen Publisher den Wert ihres Investments nicht.


18. Datenmodell-Skizze Ergänzungen

Zusätzlich zu den bestehenden Tabellen aus dem Hauptkonzept:

content_scores

  • id, press_release_id
  • score (0-100), version (bei Neuberechnung)
  • factors (JSON: pressestil, struktur, lesbarkeit, vollstaendigkeit,
                bildmaterial, quellen, headline, originalitaet)
  • calculated_at, calculation_reason (initial/edit/tool_applied)

    placements
  • id, press_release_id, account_id
  • slot_type (kategorie_highlight, startseite_highlight, top_slot,
                  newsletter, social_share, verteiler_klein/mittel/gross)
  • starts_at, ends_at
  • credits_spent
  • status (scheduled, active, completed, cancelled)
  • eligibility_check_passed (bool, snapshot bei Buchung)
  • eligibility_score_snapshot (Content-Score zum Zeitpunkt der Buchung)
  • created_at

    placement_inventory
  • id, slot_type
  • max_concurrent (z.B. 1 für Top-Slot, 3 für Startseite-Highlight)
  • duration_options (JSON: [24h, 72h])
  • min_content_score (75)
  • min_classification ('green')

    trust_score_log
  • id, account_id
  • score (0-100), tier (bronze/silber/gold/verifiziert)
  • factors (JSON: pm_count, avg_content_score, complaints,
                account_age_days)
  • calculated_at

    accounts (Ergänzungen)
    • trust_score (int, 0-100)
    • trust_tier (enum)
    • verified_business_profile (bool)
    • verified_at

Wichtige Logiken:

  • placement_inventory definiert, wie viele Slots welcher Art parallel verfügbar sind. Bei Buchung wird geprüft: ist ein Slot für das gewünschte Zeitfenster frei? Wenn nicht: nächstmöglicher Termin anbieten oder ablehnen.

  • eligibility_score_snapshot auf Placement-Ebene: damit nachvollziehbar bleibt, mit welchem Score eine PM zum Buchungszeitpunkt qualifiziert war. Wenn der Score später sinkt (etwa durch Korrektur), bleibt der gebuchte Slot bestehen, aber bei Verlängerung wird neu geprüft.

  • content_scores mit Versionierung erlaubt nachträglich Auswertung: Welche Tools haben welchen Score-Effekt gehabt? Daten für Tool-Optimierung.


Offene Punkte / nächste Entscheidungen (Update)

Zusätzlich zu den bereits dokumentierten Punkten:

  • Content-Score-Faktoren feinjustieren: Welche Gewichtung passt für deutsche Pressemitteilungen? Iterativ kalibrieren mit echten Daten.

  • Boost-Schwellen kalibrieren: Erst nach 100200 echten PMs sehen, wo die Score-Verteilung liegt. Schwellen ggf. anpassen.

  • Trust-Score: User vs. Firma: Empfehlung Firma, aber Detail-Logik bei Mitarbeiterwechsel klären.

  • Tool-Qualität: KI-Prompts für Lektorat und Pressetext-Optimierung müssen sehr sauber gebaut werden. Eigene Test-Suite mit Vorher/Nachher-PMs.

  • Slot-Inventory: Wie viele Top-Slots parallel? Empfehlung 1 (sonst verliert er an Wert), Startseite-Highlight 3, Kategorie-Highlight 510 je Branche.

  • Editorial-Picks: Wer wählt aus? Anfangs du selbst, später ggf. Redaktions-Account mit Frontend-Tool.