Dunkles Wachssiegel auf einem leinengebundenen Dokumentenblatt, daneben ein Stahl-Signet-Stempel, weiches Tageslicht.
Extension · moselwal/content-provenance

content-provenance — jeder Inhalt mit eigener Signatur.

Ed25519-basierte digitale Signaturen für TYPO3-Inhalte, kryptografisch verifizierbar via /.well-known/provenance-keys. Plus durchgängiges Audit-Trail-Logging — das Fundament für EU-AI-Act-Compliance und nachweisbare Content-Integrität.

Das Problem

EU AI Act, Deepfakes, KI-generierte Inhalte: wer hat das geschrieben?

Mit content-provenance

  • Ed25519-Signatur pro Content-Element, Storage neben dem Inhalt
  • Öffentlicher Verifizierungs-Endpoint via /.well-known/provenance-keys
  • Audit-Log mit Wer/Wann/Was, append-only
  • DDD-Architektur, deptrac-geprüft
  • EU-AI-Act-vorbereitete Felder (Modell, Prompt-Hash, Reviewer)

Bisher

  • „Von der Redaktion geprüft“ als Behauptung im Footer
  • Keine kryptografische Verifizierbarkeit
  • Audit-Trail fehlt oder lebt im SQL-Log
  • EU-AI-Act-Anforderungen ohne sauberen Nachweisweg

Vier Bausteine

EU-AI-Act-Felder

Vorbereitete Metadatenfelder für KI-generierte/-unterstützte Inhalte: Modell, Prompt-Hash, menschlicher Reviewer, Freigabezeitpunkt.

Audit-Trail

Append-only Audit-Log jeder Änderung: Wer, Wann, Was, signiert und mit Zeitstempel. End-to-end verifizierbar über dieselben Ed25519-Keys wie der Inhalt selbst.

Public-Key-Endpoint

/.well-known/provenance-keys liefert die aktiven Public Keys für externe Verifizierer — nach RFC-Konvention.

Ed25519-Signaturen

Pro Content-Element kryptografische Signatur via libsodium (ext-sodium Required). Schlüsselrotation und Multi-Key-Support inbegriffen.

Verfügbarkeit: Coming soon — öffentliche Veröffentlichung in Vorbereitung

Die öffentliche Bereitstellung als Composer-Paket wird derzeit vorbereitet. Wenn Sie den Baustein bereits in Ihrer TYPO3-Plattform einsetzen möchten, sprechen Sie uns über das Kontaktformular an — wir liefern aktuell im Rahmen von Plattform-Engagements aus.

Architektur

Classes/
├── Domain/          # Signatur-Modelle, Key-Value-Objects, Contracts
├── Application/     # Signing-Services, Verifizierungs-Orchestrierung
├── Infrastructure/  # Key-Provider, Repositories, API-Middleware
└── Presentation/    # Controller, Event-Listener

 

API-Endpoints

EndpointZweck
/_provenance/api/verifyInhalts-Signaturen verifizieren
/.well-known/provenance-keysÖffentliche Schlüssel zum Discovery

Datenbank-Tabellen

TabelleZweck
tx_provenance_signatureInhalts-Signaturen
tx_provenance_audit_logAudit-Trail-Einträge

AI Asset Provenance (EU AI Act Art. 50, ab v0.6.0)

Mit v0.6.0 deckt das Package den regulatorischen Kern von EU AI Act Artikel 50 ab: maschinen-lesbare Kennzeichnung KI-generierter Bilder, Auto-Detection beim Upload und IPTC-XMP-Write-Back ins File.

Drei Bausteine

Erweiterte TCA-Spalten (v0.6.0+)

TabelleSpalteZweck
sys_file_metadatatx_provenance_originAssetOrigin (human / ai_generated / ai_assisted)
sys_file_metadatatx_provenance_ai_systemModell-Name (z. B. „DALL-E 3")
sys_file_metadatatx_provenance_ai_promptOptionaler Prompt für Audit/Reproduzierbarkeit
sys_file_metadatatx_provenance_detected_atAuto-Detection-Zeitstempel
sys_file_metadatatx_provenance_c2pa_statusnone / signed_own / signed_external / stripped
sys_file_referencetx_provenance_originPer-Reference-Override (selten benötigt)
pagestx_provenance_originPage-Body-Origin (RTE / generierte Artikel)
pagestx_provenance_ai_systemModell-Name für den Page-Body

Container-Binaries (optional)

Für Auto-Detection und IPTC-Write müssen exiftool (Lesen/Schreiben aller Image/Video/Audio-Formate) und c2patool (Lesen/Schreiben von C2PA-Manifests; Releases bei contentauth/c2pa-rs) im httpd-Container vorhanden sein. Ohne die Binaries läuft die Extension weiter, nur Auto-Detection und IPTC-Write werden zu No-Ops mit Log-Warning. Defensive Binary-Handling-Logik im Listener fängt das ab — der Editor-Manual-Tag bleibt jederzeit Fallback.

C2PA Manifest Signing (Enterprise Provenance Layer, ab v0.7.0)

Positionierung: Diese Schicht ist kein regulatorisches Muss für EU AI Act Artikel 50 — die maschinen-lesbare Disclosure (IPTC-XMP plus Schema.org) und das sichtbare FE-Badge aus Phase 1–4 deckt den regulatorischen Kern bereits ab. C2PA-Signing ist die Enterprise-Authenticity-Schicht: Beweisbarkeit, Anti-Stripping, Chain-of-Custody, Forensik und Interoperabilität.

Ab v0.7.0 enthält das Package eine kryptografische C2PA-Sign-Pipeline:

c2pa_status-Statusmodell

WertBedeutung
noneDefault — kein Sign-Versuch erfolgt
signed_externalUpstream-Signatur erkannt (OpenAI, Adobe), wir haben noch nicht signiert
signed_self_anchoredFrisch von uns signiert (Step-CA), kein Parent-Manifest
signed_self_anchored_appendEdit-Action auf Upstream-Manifest appended (Parent-Source preserved)
signed_trustedReserviert für Phase 5b — Trust-List-konformes CA-Cert
strippedWar signed, Manifest wurde nachträglich entfernt (z. B. durch Re-Encode außerhalb TYPO3)
failedSign-Versuch crashte (Cert missing, c2patool exit ≠ 0, etc.)

Trust-Model

Die Signatur-Pipeline etabliert eine Private Provenance Chain: Signatur-Cert kommt von der projekteigenen Step-CA (self-anchored), Tamper-Evidenz über Hash-Anchored Manifest, Append-Mode preserved Upstream-Trust-Chain (OpenAI/Adobe bleiben sichtbar), Strip-Detection über c2pa_status=stripped liefert ein starkes Forensik-Signal im BE. Externe Validatoren wie contentcredentials.org/verify zeigen unsere Signatur als „untrusted (unknown CA)" — die Signatur ist kryptografisch valid und tamper-evident, aber unsere Root steht nicht in der C2PA-Trust-List. Das ist gewollt für Phase 1: interne Beweisbarkeit und Forensik ohne externes Onboarding-Programm.

Konfiguration & Voraussetzungen

Key-Provider und Signing-Policies konfigurieren Sie über die TYPO3 Site Settings. Mehrere Key-Provider für unterschiedliche Umgebungen (Development, Staging, Production) sind unterstützt — Backend austauschbar (Datei, Environment, Vault).

Voraussetzungen

Optionale Abhängigkeiten

PaketTypZweck
ext-sodiumRequiredEd25519-Krypto
moselwal/devDevGeteiltes QA-Tooling

EU-AI-Act-Art.-50-Compliance und Google AI Search

Das regulatorische Minimum für Art. 50 (gültig ab August 2026) ist „maschinen-lesbar gekennzeichnet UND als künstlich erzeugt erkennbar". Das wird durch die Phasen 1–4 dieses Packages und der Site-Packages abgedeckt:

AnforderungErfüllt durch
Maschinen-lesbarIPTC PhotoMetadata 2025.1 XMP (DigitalSourceType, AISystemUsed) — Phase 3
DetektierbarAuto-Detection aus C2PA/IPTC beim Upload — Phase 2
Sichtbar für UserFE-Badge via moselwal/sitepackage-base ≥ 3.22.0 — Phase 4
Strukturiert für CrawlerSchema.org ImageObject.creator via moselwal/structured-content ≥ 1.5.10 — Phase 4

Art. 50 fordert nach aktuellem Stand nicht kryptografische Provenance, keine PKI, keine Trust-List-CA, keine Watermarks, keine Blockchain. Die C2PA-Sign-Schicht (Phase 5) ist eine strategische Ergänzung für Beweisbarkeit, Forensik und Enterprise-Authenticity-Use-Cases, nicht eine regulatorische Pflicht-Schicht.

Google AI Search Konformität (Mai 2026)

Googles offizielle Guides bestätigen den Stack-Ansatz: der AI Optimization Guide sagt explizit, dass keine neuen maschinen-lesbaren Files, AI Text Files, Markup oder Markdown nötig sind, um in Generative AI Search aufzutauchen, und dass Structured Data dafür nicht erforderlich ist. Der einzige harte technische Pflicht-Punkt von Google für AI-Bilder ist IPTC DigitalSourceType TrainedAlgorithmicMedia — abgedeckt durch Phase 3 (IptcXmpWriter). Schema.org-Erweiterungen (Phase 4) bleiben für klassische SERP-Features sinnvoll, sind aber für Generative AI Search nicht erforderlich. C2PA-Signing (Phase 5) wird von Google aktuell nicht für Search-Ranking ausgewertet — bleibt strategisch als Enterprise-Authenticity-Layer.

Hinweis: Diese Doku ist keine juristische Beratung. Für die formelle Art.-50-Bewertung empfehlen wir eine eigene Risikoanalyse und ein Disclosure-Konzept, das die im Projekt umgesetzten Layer benennt und die Strip-Detection-Strategie (c2pa_status=stripped) dokumentiert.

Quellcode & Doku

TYPO3 Extension Repository

Nicht im offiziellen TER — die öffentliche Distribution über Composer wird vorbereitet (coming soon).

Composer-Package

Veröffentlichung als moselwal/content-provenance in Vorbereitung. Coming soon.

Repository

Quellcode und Issue-Tracker werden mit der öffentlichen Veröffentlichung freigeschaltet. Coming soon.

Mirror

Öffentlicher Mirror und Pull-Request-Workflow folgen mit der Veröffentlichung. Coming soon.

Nächster Schritt

EU-AI-Act-Readiness als Projekt?

content-provenance ist die technische Grundlage. Wenn Sie ein durchgängiges EU-AI-Act-Compliance-Setup brauchen — inkl. Prozessen, Schulung und Audit-Vorbereitung — sprechen Sie uns an.

AI-Act-Beratung anfragen

Oder direkt schreiben: kontakt@moselwal.de

Setzen wir ein bei …

Dieses Paket ist die Provenance-Schicht für AI-Ready CMS, AI-Ready Commerce und Open Source & Digitale Souveränität. In der betreuten Variante: AI-Ready CMS as a Service.