Audit vom 11.09. gegen HEAD geprüft, Entwicklungsplan dazu unter dev/2026-09-11-audit/ENTWICKLUNGSPLAN.md. Dieser Commit ist Deploy A: die sechs kleinen Punkte aus Block 1 ohne Schemaänderung. F01: Der Fortify-Endpunkt PUT /user/profile-information tauschte die E-Mail sofort und setzte die Verifizierung zurück; der Login-Sync vergab danach Firmenrechte allein nach E-Mail-Treffer. Feature abgeschaltet (die Kunden-UI hat den pending_email-Prozess), und der Sync verlangt jetzt ein verifiziertes, aktives Konto – für alle Aufrufer. F02: Google-Login übergibt Konten mit bestätigtem TOTP in die Challenge, wie Passwort- und Magic-Link-Login. F03: showRecoveryCodes ist gesperrt; ein Client-Update konnte die Recovery-Codes entschlüsseln lassen. F08: Nutzer-Detailroute unter can:users:manage (persistente Livewire- Middleware), Gutschriften autorisieren zusätzlich in der Action. F09: Gate::before greift nur für aktive Super-Admins; deaktivierte fallen auf die Gates mit is_active-Prüfung zurück. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
26 KiB
Umsetzung: Bildnachweis, KI-Kennzeichnung und Rechtebestätigung
Decision-Update und Umsetzungsspezifikation für pressekonto.com / presseecho.de / businessportal24.com Stand: 15.09.2026 · Status: Entwurf zur Umsetzung · Rechtstexte sind Entwürfe, Anwaltsprüfung offen
0. Zweck
Bilder in Pressemitteilungen sollen mit weniger Formularaufwand eingereicht werden, dabei aber so dokumentiert sein, dass im Fall einer Abmahnung der Regress gegen den Einreicher trägt und der Bildnachweis öffentlich sichtbar ist. Das Portal liest Herkunftsdaten (Content Credentials, IPTC) beim Upload aus, belegt das Formular vor und sperrt eine Abschwächung der Kennzeichnung. Jede Veröffentlichung endet mit einer aktiven, protokollierten Zustimmung.
Nicht Teil dieser Umsetzung
- Der Bestand (migrierte und bisher veröffentlichte Bilder) wird nicht nachgeprüft und nicht nachbestätigt. Stichprobe ohne Auffälligkeiten, Bestand bleibt wie er ist.
- Keine inhaltliche Bildprüfung durch das Portal (kein Vorab-Check auf Personen, Marken, Urheberschaft). Das Portal prüft Metadaten, nicht Inhalte.
- Keine Änderung am Freigabelauf für Texte.
1. Bestätigte Entscheidungen
| Nr. | Entscheidung | Typ |
|---|---|---|
| E1 | Bestand bleibt unverändert. Neue Regeln gelten ab Deployment für neue Uploads. | Geschäft |
| E2 | Bildnachweis wird sichtbar am Bild ausgegeben: dauerhaft als Textzeile unter dem Bild und als Overlay-Element im Bild, das sich zu einem Detailfenster öffnet. | Geschäft |
| E3 | Beim Upload werden C2PA-Manifest und IPTC/XMP-Metadaten ausgelesen. Ergebnis wird persistiert, nicht nur im Bild belassen. | Technik |
| E4 | Treffer in den Herkunftsdaten belegen das Formular vor. Die KI-Kennzeichnung ist dann gesperrt und kann nicht abgeschwächt werden. Eine Verschärfung durch den User bleibt immer möglich. | Geschäft |
| E5 | Ohne Treffer muss der User Bildnachweis und KI-Kennzeichnung selbst angeben (Pflicht). | Geschäft |
| E6 | In jedem Fall ist eine aktive Zustimmung (Toggle) mit protokollierter Textversion erforderlich. Kein stilles Durchwinken, auch nicht bei Vorbelegung. | Geschäft |
| E7 | Die Abfragen zu Personen, Marken und privaten Orten entfallen als eigene Felder. Sie sind im Bestätigungstext und in den AGB abgedeckt. | Geschäft |
| E8 | Die API erhält dieselben Bildfelder (Bildnachweis, KI-Kennzeichnung, Rechtebestätigung). Serverseitig läuft dieselbe Metadatenprüfung. connektar liefert derzeit keine Bilder, künftige API-Nutzer schon. | Technik |
| E9 | Das Original der hochgeladenen Datei wird privat aufbewahrt (Beweissicherung). Öffentlich ausgeliefert wird nur das bearbeitete Derivat. | Technik |
Grundregel für die Sperre (E4): Die Sperre wirkt nur in eine Richtung. Metadaten „KI-generiert" → User kann nicht „Originalfoto" wählen. Metadaten „Digitalaufnahme" → User kann trotzdem „KI-bearbeitet" wählen. Damit gibt es keinen Fall, in dem das Portal einen User zwingt, eine Kennzeichnung wegzulassen.
2. Datenmodell
2.1 Tabelle press_release_images (Ergänzungen)
| Spalte | Typ | Inhalt |
|---|---|---|
credit |
string(255), not null | Bildnachweis, wie er ausgegeben wird (z. B. „Musterfirma GmbH", „Foto: Anna Beispiel / Musterfirma") |
credit_source |
enum: user, metadata, api |
Woher der Bildnachweis stammt |
license_url |
string, nullable | Optionaler Link zur Lizenz oder Quelle |
ai_declaration |
enum: not_declared, original, ai_generated, ai_edited |
Effektive KI-Kennzeichnung |
ai_declaration_source |
enum: user, metadata, api, legacy |
Woher die Kennzeichnung stammt |
ai_declaration_locked |
boolean, default false | true, wenn aus verifizierten Metadaten abgeleitet |
provenance |
json, nullable | Normalisiertes Ergebnis der Metadatenprüfung (siehe 2.3) |
provenance_checked_at |
timestamp, nullable | Zeitpunkt der Prüfung |
provenance_tool_version |
string, nullable | z. B. c2patool 0.x / exiftool 13.x |
original_path |
string, nullable | Pfad auf privater Disk |
original_sha256 |
string(64) | Hash der Originaldatei |
rights_confirmation_id |
FK → image_rights_confirmations |
Letzte gültige Bestätigung |
Bestand: alle vorhandenen Datensätze erhalten ai_declaration = not_declared, ai_declaration_source = legacy, credit bleibt wie migriert (auch leer).
2.2 Tabelle image_rights_confirmations (neu)
Das ist der eigentliche Beweis. Ohne diese Tabelle ist der Toggle im Streitfall wertlos.
| Spalte | Inhalt |
|---|---|
id |
|
press_release_image_id |
FK |
confirmed_at |
Zeitstempel |
actor_type |
user, magic_link, api_key |
actor_id |
User-ID, Token-ID oder API-Key-ID |
company_id |
Firmenprofil, für das eingereicht wurde |
confirmation_text_version |
Version des Bestätigungstextes (Single-Source aus legal_document_sections) |
agb_version |
AGB-Version zum Zeitpunkt der Bestätigung |
declaration_snapshot |
json: credit, ai_declaration, ai_declaration_source, locked, provenance zum Zeitpunkt der Bestätigung |
file_sha256 |
Hash der Originaldatei |
ip_hash |
gehashte IP (kein Klartext) |
user_agent |
gekürzt |
Regeln: Insert-only, keine Updates, keine Löschung außerhalb der Löschfrist. Bei erneuter Bestätigung (z. B. nach Bildtausch) neuer Datensatz.
2.3 Struktur provenance (json)
{
"c2pa": {
"present": true,
"signature_valid": true,
"issuer": "OpenAI OpCo, LLC",
"claim_generator": "OpenAI Media Service API",
"signed_at": "2026-09-09T10:12:00Z",
"digital_source_type": "trainedAlgorithmicMedia",
"actions": ["c2pa.created"]
},
"iptc": {
"digital_source_type": null,
"creator": null,
"credit": null,
"copyright_notice": null
},
"derived": {
"ai_declaration": "ai_generated",
"locked": true,
"credit_suggestion": null
}
}
3. Upload-Prüfung (Herkunftsdaten)
3.1 Ablauf
- Datei landet über Livewire im Temp-Verzeichnis.
- Synchron (Timeout 10 s) laufen
c2patoolundexiftoolgegen die Datei. Beides ist in unter einer Sekunde durch. - Ergebnis wird normalisiert (2.3) und an das Formular zurückgegeben.
- Erst bei Speichern: Original auf private Disk, Derivate erzeugen, Datensatz anlegen.
- Bei Toolfehler oder Timeout: Formular im Zustand „kein Treffer" mit internem Vermerk
provenance_check_failed. Der Upload wird nicht blockiert.
3.2 Werkzeuge
| Tool | Zweck | Installation |
|---|---|---|
exiftool |
IPTC/XMP/EXIF lesen und schreiben | apt install libimage-exiftool-perl |
c2patool |
C2PA-Manifest lesen und Signatur prüfen | Release-Binary von GitHub (contentauth/c2patool), nach /usr/local/bin |
Aufruf aus Laravel über Symfony\Component\Process\Process, Ausgabe als JSON (c2patool --detailed file.jpg, exiftool -json -struct file.jpg).
3.3 Zuordnungsregeln
| Quelle | Wert | Ergebnis ai_declaration |
Sperre |
|---|---|---|---|
| C2PA, Signatur gültig | digitalSourceType = trainedAlgorithmicMedia |
ai_generated |
ja |
| C2PA, Signatur gültig | compositeWithTrainedAlgorithmicMedia |
ai_edited |
ja |
| C2PA, Signatur gültig | algorithmicallyEnhanced |
ai_edited |
ja (siehe offener Punkt O3) |
| C2PA, Signatur gültig | digitalCapture, negativeFilm, positiveFilm, print |
Vorbelegung original |
nein |
| C2PA, Signatur ungültig oder nicht prüfbar | beliebig | Hinweis im Formular, keine Vorbelegung | nein |
IPTC/XMP DigitalSourceType (ohne C2PA) |
trainedAlgorithmicMedia |
ai_generated |
ja |
IPTC/XMP DigitalSourceType (ohne C2PA) |
compositeWithTrainedAlgorithmicMedia |
ai_edited |
ja |
IPTC/XMP DigitalSourceType (ohne C2PA) |
digitalCapture u. a. |
Vorbelegung original |
nein |
| keine der obigen | not_declared, User muss wählen |
nein |
Bildnachweis-Vorbelegung (immer editierbar): Reihenfolge IPTC Credit → XMP dc:creator → IPTC By-line → EXIF Artist → CopyrightNotice. Kein Treffer → Vorbelegung mit dem Firmennamen des Firmenprofils.
Nicht ausgewertet (zu schwach, zu viele Fehltreffer): CreatorTool-Strings, Dateinamen, Bildinhalt.
3.4 Was mit den Derivaten passiert
Skalierung und WebP-Konvertierung entfernen C2PA-Manifest und die meisten Metadaten. Deshalb:
- Ergebnis der Prüfung liegt in der Datenbank (2.3), nicht im Bild.
- In das öffentliche Derivat werden per
exiftoolzurückgeschrieben:XMP-dc:RightsundIPTC:CopyrightNotice(=credit),XMP-iptcExt:DigitalSourceType(beiai_generated/ai_edited). Damit tragen Google Bildersuche, LinkedIn und andere Plattformen den Nachweis und die Kennzeichnung weiter, statt dass das Portal sie entfernt. BALD (Phase 2). - EXIF-GPS und Geräteseriennummern werden im Derivat entfernt (Datenminimierung). Das Original behält alles, ist aber privat.
4. Formular v2
Drei Blöcke statt vier. Feld-Reihenfolge und Texte je nach Zustand.
4.1 Zustand A: Herkunftsdaten erkannt und gesperrt
1 BILD
[Datei] [Vorschau]
Herkunftsdaten erkannt
Diese Datei enthält Content Credentials.
Erstellt mit: OpenAI Media Service API
Ausgestellt von: OpenAI OpCo, LLC am 9. September 2026
Das Bild wird öffentlich als KI-generiert gekennzeichnet.
Diese Kennzeichnung ist fest hinterlegt und kann nicht geändert werden.
Wenn die Herkunftsdaten nicht zutreffen, melde dich bei uns: [Kontakt]
2 BILDNACHWEIS Pflicht
[Musterfirma GmbH ] ← vorbelegt, editierbar
So erscheint der Nachweis unter dem Bild. Bei Stock- oder Agenturbildern
den Nachweis so eintragen, wie die Lizenz ihn verlangt.
Lizenz oder Quelle (optional) [https://...]
> Optionale Angaben Alt-Text, interne Hinweise
3 BESTÄTIGUNG
[○ ] Ich bestätige, dass ich zur Veröffentlichung dieses Bildes
berechtigt bin und meine Angaben zutreffen. Details ▾
„Details ▾" klappt den vollständigen Bestätigungstext (5.1) auf. Der Toggle ist erst aktiv, wenn credit gefüllt ist.
4.2 Zustand B: keine Herkunftsdaten
1 BILD
[Datei] [Vorschau]
Keine Herkunftsdaten in der Datei gefunden. Bitte mach die Angaben selbst.
2 BILDNACHWEIS Pflicht
[Musterfirma GmbH ] ← Firmenname vorbelegt
Lizenz oder Quelle (optional) [https://...]
KI-KENNZEICHNUNG Pflicht
( ) Originalfoto, nicht mit KI erzeugt oder bearbeitet
( ) KI-generiert
( ) KI-bearbeitet (z. B. generative Füllung, KI-Retusche)
KI-generierte oder KI-bearbeitete Bilder erhalten öffentlich einen
neutralen Hinweis. Übliche Bearbeitungen wie Zuschnitt, Farbkorrektur
oder Schärfung gelten nicht als KI-Bearbeitung.
> Optionale Angaben
3 BESTÄTIGUNG
[○ ] Ich bestätige ... Details ▾
4.3 Zustand C: Vorbelegung ohne Sperre (z. B. C2PA digitalCapture)
Wie B, aber Radio „Originalfoto" vorausgewählt mit dem Hinweis „Vorbelegt aus den Herkunftsdaten der Datei (Aufnahme mit [Gerät/App]). Du kannst die Auswahl ändern."
4.4 Validierung
| Regel | Fehlermeldung |
|---|---|
credit leer |
„Bitte gib an, wer das Bild erstellt hat oder die Rechte hält." |
ai_declaration = not_declared bei Zustand B |
„Bitte wähle aus, ob das Bild mit KI erstellt oder bearbeitet wurde." |
| Toggle nicht aktiv | „Die Bestätigung ist erforderlich, um das Bild zu veröffentlichen." |
| gesperrter Wert wird per Request manipuliert | serverseitig verwerfen, Metadatenwert bleibt, Log-Eintrag lock_bypass_attempt |
Serverseitig gilt immer: effektiver Wert = max(Metadaten, Userangabe) in der Reihenfolge original < ai_edited < ai_generated.
5. Texte
Alle Texte gehören ins Single-Source-System (legal_document_sections) mit eigener Versionsnummer, damit confirmation_text_version referenzierbar ist. Entwürfe, vor Livegang durch den Anwalt prüfen lassen.
5.1 Bestätigungstext v2 (Upload, vollständig)
Ich bestätige, dass ich zur Veröffentlichung dieses Bildes auf presseecho.de und businessportal24.com berechtigt bin. Das umfasst die Rechte des Urhebers, die Rechte abgebildeter Personen sowie Marken- und sonstige Rechte Dritter. Mein Bildnachweis und meine Angabe zur KI-Kennzeichnung sind zutreffend. Ich weiß, dass ich für fehlerhafte oder unvollständige Angaben verantwortlich bin und den Betreiber von Ansprüchen Dritter freistelle (Ziffer [X] der AGB).
Kurzform am Toggle: „Ich bestätige, dass ich zur Veröffentlichung dieses Bildes berechtigt bin und meine Angaben zutreffen."
5.2 AGB-Klausel (Entwurf, neue Ziffer „Bilder und Medieninhalte")
X.1 Rechte. Der Kunde reicht nur Bilder ein, für die er über die zur Veröffentlichung auf den Portalen erforderlichen Rechte verfügt. Dazu gehören das Recht zur öffentlichen Zugänglichmachung, zur technisch erforderlichen Bearbeitung (insbesondere Skalierung, Zuschnitt auf Vorschauformate, Formatkonvertierung) und zur Weitergabe im Rahmen der Verbreitung der Pressemitteilung über Feeds und Partner.
X.2 Rechte Dritter. Der Kunde stellt sicher, dass abgebildete Personen in die Veröffentlichung eingewilligt haben oder eine gesetzliche Ausnahme greift und dass keine Marken-, Eigentums- oder sonstigen Rechte Dritter verletzt werden.
X.3 Bildnachweis. Der Kunde gibt zu jedem Bild einen Bildnachweis an. Der Betreiber gibt diesen Nachweis am Bild aus. Der Kunde ist dafür verantwortlich, dass der Nachweis den Anforderungen der jeweiligen Lizenz entspricht.
X.4 KI-Kennzeichnung. Der Kunde kennzeichnet Bilder, die mit KI erzeugt oder bearbeitet wurden. Der Betreiber liest in der Datei enthaltene Herkunftsdaten (etwa Content Credentials) aus und kennzeichnet das Bild entsprechend. Eine aus solchen Herkunftsdaten abgeleitete Kennzeichnung kann der Kunde nicht abschwächen. Eigene Pflichten des Kunden aus der Verordnung (EU) 2024/1689 bleiben unberührt.
X.5 Freistellung. Der Kunde stellt den Betreiber von allen Ansprüchen Dritter frei, die auf einer Verletzung der Pflichten nach X.1 bis X.4 beruhen, einschließlich der angemessenen Kosten der Rechtsverfolgung und Rechtsverteidigung. Der Betreiber informiert den Kunden unverzüglich über geltend gemachte Ansprüche und stimmt sich mit ihm über die Verteidigung ab.
X.6 Entfernung. Der Betreiber darf Bilder bei begründeten Hinweisen auf eine Rechtsverletzung ohne vorherige Ankündigung entfernen. Das Meldeverfahren des Betreibers gilt entsprechend. Eine Entfernung nach diesem Absatz begründet keinen Anspruch des Kunden auf Erstattung oder Gutschrift.
X.7 Beweissicherung. Der Betreiber speichert die eingereichte Originaldatei sowie die Angaben und die Bestätigung des Kunden für die Dauer von [Frist] nach Ende der Veröffentlichung.
5.3 Ergänzung Datenschutzerklärung
Neuer Absatz unter Verarbeitung bei Veröffentlichung: Speicherung der Originaldatei inklusive enthaltener Metadaten, der Bestätigungsdaten (Zeitpunkt, gehashte IP, Textversion) für [Frist]; Rechtsgrundlage Art. 6 Abs. 1 lit. f (Nachweis- und Verteidigungsinteresse) und lit. c, soweit gesetzliche Aufbewahrung. Hinweis, dass öffentliche Bildderivate von Standort- und Gerätedaten bereinigt werden.
5.4 Ergänzung Veröffentlichungsrichtlinien
Kurzer Abschnitt „Bilder": Bildnachweis ist Pflicht, KI-Bilder werden gekennzeichnet, Herkunftsdaten werden ausgelesen, Bilder ohne Rechte werden entfernt. Kein Juristendeutsch, drei bis vier Sätze.
5.5 Texte im öffentlichen Detailfenster (Overlay)
Titel: Bildnachweis
| Zeile | Text | Bedingung |
|---|---|---|
| Nachweis | Bild: [credit] | immer |
| Lizenz | Lizenz / Quelle: [Link] | wenn license_url |
| KI-Hinweis | Dieses Bild wurde mit KI erstellt. | ai_generated |
| KI-Hinweis | Dieses Bild wurde mit KI bearbeitet. | ai_edited |
| Herkunft | Herkunftsnachweis in der Datei: erstellt mit [claim_generator], ausgestellt von [issuer] am [Datum]. Vom Portal beim Upload ausgelesen. | provenance.c2pa.present && signature_valid |
| Verantwortlich | Verantwortlich für Bild und Angaben: [Firma] | immer |
| Bestand | Bildnachweis vom Einreicher nicht hinterlegt. | credit leer (Bestand) |
| Aktion | Bild melden → [Meldeverfahren] | immer |
Sichtbare Zeile unter dem Bild (ohne Klick): „Bild: [credit]" plus Zusatz „· KI-generiert" oder „· KI-bearbeitet".
Bewusst weggelassen: Wörter wie „Deepfake", „manipuliert", „Warnung". Der Hinweis ist neutral, keine Wertung.
6. Öffentliche Ausgabe
6.1 Overlay-Element
- Position: unten links im Bild, rundes Icon (≈ 28 px), halbtransparenter Hintergrund, Symbol „i" oder ein eigenes Zeichen. Kein „cr"-Logo verwenden, das ist die geschützte Marke der C2PA-Initiative und nur für konforme Anzeigen gedacht.
- Klick / Tastatur (Enter, Escape) öffnet ein Popover mit den Zeilen aus 5.5.
- Alpine.js, keine externe Bibliothek.
aria-haspopup,aria-expanded, Fokusfalle im Popover. - Auf Mobil: Popover wird zum Bottom-Sheet.
6.2 Sichtbare Nachweiszeile
Immer unter dem Bild, auch ohne Klick. Grund: Die Urhebernennung nach § 13 UrhG muss „in üblicher Weise" erfolgen. Ein Nachweis, der nur hinter einem Klick liegt, ist angreifbar. Die Zeile ist die eigentliche Erfüllung, das Overlay ist die Erklärung.
6.3 Weitere Ausgabekanäle
| Kanal | Umsetzung | Phase |
|---|---|---|
| Artikelseite | Zeile + Overlay | 1 |
| Listen / Teaser | kein Nachweis (Vorschau, Link zur Artikelseite) | 1 |
| RSS / Feeds | <media:content> mit <media:credit> und <media:description> inkl. KI-Zusatz |
2 (BALD) |
| Structured Data | ImageObject mit creditText, copyrightNotice, creator, optional license; bei KI zusätzlich digitalSourceType |
2 (BALD) |
| Derivat-Metadaten | Rückschreiben per exiftool (3.4) | 2 (BALD) |
| OpenGraph-Bild | keine Änderung |
7. API
7.1 Request-Felder pro Bild
{
"images": [
{
"file": "<base64 oder URL>",
"credit": "Musterfirma GmbH",
"license_url": null,
"ai_declaration": "original",
"alt_text": "…",
"rights_confirmed": true,
"rights_confirmation_text_version": "img-confirm-v2"
}
]
}
| Feld | Pflicht | Regel |
|---|---|---|
credit |
ja, wenn Bild vorhanden | max. 255 Zeichen |
ai_declaration |
ja, wenn Bild vorhanden | original, ai_generated, ai_edited |
rights_confirmed |
ja, muss true sein |
|
rights_confirmation_text_version |
ja | muss eine aktive Version sein, sonst 422 mit Hinweis auf die aktuelle |
license_url, alt_text |
nein |
7.2 Serverseitige Verarbeitung
- Dieselbe Metadatenprüfung wie beim Upload (3.).
- Effektive Kennzeichnung = max(Metadaten,
ai_declaration). Widerspricht die API-Angabe den Metadaten (API sagtoriginal, Datei sagtai_generated), wird der Metadatenwert gesetzt und im Response gemeldet. Kein Abbruch. image_rights_confirmationsmitactor_type = api_key.- Fehlt
creditoderrights_confirmed: Bild wird verworfen, PM wird ohne Bild weiterverarbeitet, Response enthält Warnung. Die PM wird nicht blockiert (siehe O5).
7.3 Response
{
"images": [
{
"id": "…",
"credit": "Musterfirma GmbH",
"ai_declaration_effective": "ai_generated",
"ai_declaration_source": "metadata",
"provenance_detected": true,
"warnings": ["ai_declaration überschrieben: Datei enthält Content Credentials (OpenAI OpCo, LLC)."]
}
]
}
7.4 API-Dokumentation (Textbaustein)
Bilder sind optional. Wird ein Bild übermittelt, sind
credit,ai_declarationundrights_confirmed: truePflicht. Das Portal liest Herkunftsdaten in der Datei aus (C2PA, IPTC). Enthält die Datei eine KI-Kennzeichnung, gilt diese unabhängig von der übermitteltenai_declaration; eine Abschwächung ist nicht möglich. Bilder ohne die Pflichtfelder werden verworfen, die Pressemitteilung wird ohne Bild verarbeitet. Mitrights_confirmed: truebestätigt der API-Nutzer für jedes Bild die Rechteerklärung in der jeweils angegebenen Version. Die Rechteerklärung ist Bestandteil der API-Nutzungsbedingungen.
7.5 Vertragliche Seite
Die API-Nutzungsbedingungen (bzw. der Partnervertrag) müssen die Ziffer aus 5.2 enthalten oder darauf verweisen. Für connektar gilt das auch ohne Bilder, weil die Lücke sonst mit dem ersten übermittelten Bild aufgeht. Das ist Teil der ohnehin ausstehenden Syndikationsvereinbarung.
8. Beweissicherung und Aufbewahrung
| Was | Wo | Frist |
|---|---|---|
| Originaldatei | private Disk, nicht öffentlich erreichbar, Pfad in original_path |
[Frist] nach Depublizierung, Vorschlag 3 Jahre (Verjährung § 102 UrhG / § 195 BGB), Anwalt bestätigt |
image_rights_confirmations |
Datenbank, insert-only | wie Original |
provenance json |
Datenbank | wie Datensatz |
| Lock-Bypass-Versuche | Audit-Log ohne Klartext-Nutzdaten | 12 Monate |
Löschung des Originals erfolgt per Scheduler nach Frist, mit Log-Eintrag. Bei laufender Auseinandersetzung (Flag legal_hold am Datensatz) wird nicht gelöscht.
9. Umsetzungsreihenfolge
| Phase | Inhalt | Abhängigkeit |
|---|---|---|
| 1a | Migration: neue Spalten, Tabelle image_rights_confirmations, Bestand auf legacy setzen |
keine |
| 1b | exiftool und c2patool auf dem Server, Service ImageProvenanceInspector mit Zuordnungsregeln (3.3) und Tests gegen Beispieldateien (OpenAI, Adobe Firefly, Google, Kamera-JPEG, Screenshot) |
1a |
| 1c | Formular v2 (Zustände A/B/C), Validierung, Sperrlogik serverseitig, Bestätigungs-Insert | 1a, 1b |
| 1d | Original-Ablage auf private Disk, Hash, Derivat-Pipeline unverändert | 1a |
| 1e | Öffentliche Ausgabe: Nachweiszeile + Overlay auf Artikelseiten, Bestandsfallback | 1a |
| 1f | Texte ins Single-Source-System (5.1, 5.4, 5.5), Versionen anlegen | 1c |
| 1g | AGB-Entwurf (5.2) und DSE-Ergänzung (5.3) an Anwalt | unabhängig, blockiert Livegang von 1c |
| 2a BALD | API-Felder, Verarbeitung, Response, Doku (7.) | 1b, 1c |
| 2b BALD | Metadaten-Rückschreiben ins Derivat, Structured Data, Feeds (3.4, 6.3) | 1e |
| 2c BALD | Löschscheduler mit legal_hold (8.) |
1d, Anwaltsfrist |
Livegang von Phase 1 erst, wenn 1g (AGB-Klausel) geprüft ist. Bis dahin kann das Formular hinter einem Feature-Flag laufen.
10. Offene Punkte nach Dringlichkeit
| Nr. | Punkt | Wer | Dringlichkeit |
|---|---|---|---|
| O1 | Aufbewahrungsfrist für Original und Bestätigung festlegen | Kevin + Anwalt | hoch, blockiert 1g und 5.3 |
| O2 | Bestandsbilder ohne credit: Fallbacktext im Overlay wie in 5.5 („nicht hinterlegt") oder Firmenname des Einreichers als Nachweis? Firmenname ist eine Behauptung, die falsch sein kann. Empfehlung: „nicht hinterlegt" + Verantwortlich-Zeile. |
Kevin | hoch, blockiert 1e |
| O3 | algorithmicallyEnhanced (KI-Upscaling, KI-Entrauschen): als ai_edited sperren oder nur vorbelegen? Sperren ist konservativ, trifft aber keine üblichen Kamerafotos, weil Kameras den Wert nicht schreiben. Empfehlung: sperren. |
Kevin | mittel |
| O4 | Widerspruchsweg bei gesperrter Kennzeichnung: nur Kontaktlink (Empfehlung, kein Betreuungsaufwand im Regelfall) oder Begründungsfeld mit Admin-Freigabe? | Kevin | mittel |
| O5 | API: Bild ohne Pflichtfelder verwerfen und PM durchlassen (Empfehlung) oder gesamte PM mit 422 ablehnen? | Kevin | mittel, vor 2a |
| O6 | Textstil im Formular: Du oder Sie? Das Dokument nutzt Du für Formular und Overlay, Sie für AGB. An bestehende Portalkonvention angleichen. | Kevin | niedrig |
| O7 | Eigenes Overlay-Icon gestalten (kein „cr"-Logo) | Kevin | niedrig |
11. Anwaltsfragen (Ergänzung zur Liste im Handover-Dokument)
- Macht der Freigabelauf (inkl. KI-Scoring) die Bilder zu eigenen Inhalten im Sinne der marions-kochbuch-Rechtsprechung (BGH I ZR 166/07)? Reicht die Verantwortlich-Zeile am Bild und die neutrale Kommunikation der Freigabe als „formale Prüfung", um im Hoster-Status zu bleiben?
- Hält die Freistellungsklausel X.5 der AGB-Kontrolle nach § 307 BGB im B2B-Verkehr stand, insbesondere ohne Verschuldensbezug und mit Rechtsverteidigungskosten?
- Ist die gesperrte, aus Metadaten abgeleitete KI-Kennzeichnung (X.4) rechtlich unproblematisch, auch wenn die Herkunftsdaten im Einzelfall falsch sind und der Kunde das nicht ändern kann?
- Angemessene Aufbewahrungsfrist für Originaldatei und Bestätigung (O1). Rechtsgrundlage in der Datenschutzerklärung.
- Genügt die Nachweiszeile unter dem Bild der Nennung „in üblicher Weise" nach § 13 UrhG, oder muss der Nachweis ins Bild bzw. direkt daneben?
- Übertragung der Rechteerklärung auf API-Nutzer: reicht
rights_confirmed: truepro Request in Verbindung mit den API-Nutzungsbedingungen, oder braucht es eine einmalige schriftliche Erklärung je Partner?
12. Revisit-Bedingungen
- connektar oder ein anderer API-Partner beginnt, Bilder zu liefern → Phase 2a wird sofort fällig.
- Die Kommission veröffentlicht die finalen Leitlinien zu Art. 50 KI-VO → Zuordnungsregeln (3.3) und Overlay-Texte (5.5) gegenprüfen.
- Erste Abmahnung wegen eines Bildes → Regressweg real testen, Lücken dokumentieren.
- Mehr als eine Handvoll Widersprüche gegen gesperrte Kennzeichnungen pro Monat → O4 neu entscheiden.
- Anteil KI-gekennzeichneter Bilder wird relevant → prüfen, ob der neutrale Hinweis in Listen/Teasern ergänzt wird.
13. Anti-Zombie-Check
| Kriterium | Ergebnis |
|---|---|
| Versteckte Kosten | keine. Bilder bleiben kostenlos, Kennzeichnung kostet nichts |
| Automatik gegen den Nutzer | Sperre ist erklärt, wirkt nur gegen Abschwächung, Kontaktweg steht daneben |
| Transparenz | Herkunftsdaten werden dem User im Formular genau so gezeigt wie später öffentlich |
| Menschlicher Kontakt | Widerspruch gegen Sperre läuft über direkten Kontakt |
| Betreuungsaufwand | Regelfall läuft ohne Admin. Einziger manueller Fall: Widerspruch gegen Sperre |
| Formularaufwand | von 6 Pflichtangaben + Toggle auf 1 bis 2 Pflichtangaben + Toggle |