Zum Hauptinhalt springen
Audact
Angebot ansehen

Änderungsprotokoll

Alle wesentlichen Änderungen an der Audact Platform API, einschließlich Breaking Changes und neuer Endpunkte.

Alle wesentlichen Änderungen an der Audact Platform API sind in dieser Datei dokumentiert.

[Unveröffentlicht]

⚠️ Breaking — C2PA-Manifeste sind jetzt wirklich signiert (Generator 2.0.0)

  • Entfernt C2PAManifest.signature (der HMAC-Hex). Das Manifest ist jetzt ein echter C2PA-2.x-Content-Credential: ein .c2pa-JUMBF-Manifest-Store, dessen Claim ES256 (COSE, ECDSA P-256) mit einer X.509-Zertifikatskette signiert ist, fest gebunden (c2pa.hash.data) an die Anrufaufzeichnung — oder, wenn keine Aufzeichnung vorhanden ist, an den signierten Artikel-50-JSON-Export des Anrufs. signature_algorithm ist "ES256". Alles, das .signature gelesen hat, muss den Manifest-Store und das Asset herunterladen und sie mit c2patool <asset> --external-manifest <file>.c2pa verifizieren.

  • Neue Felder in der POST /v1/calls/{call_id}/c2pa-Zusammenfassung: manifest_id; asset (kind recording|evidence_export, media_type, sha256, url); manifest_store (media_type application/c2pa, sha256, url); signing_credential (subject, issuer, serial, not_before, not_after, fingerprint_sha256, trust self_signed|ca_issued). Die url-Felder sind relative API-Pfade, für die dasselbe Bearer-Token benötigt wird — es sind keine vorzeichneten URLs. assertions erhält c2pa.hash.data nach com.audact.compliance und c2pa.actions.

  • Neue Endpunkte:

    • GET /v1/calls/{call_id}/c2pa — Manifeste eines Anrufs auflisten, neueste zuerst (listC2PAManifests). Elemente sind eine Teilmenge der POST-Zusammenfassung (kein claim/assertions; nur Fingerabdruck/Trust des Unterzeichners).
    • GET /v1/calls/{call_id}/c2pa/{manifest_id}/manifest.c2pa — der gespeicherte Manifest-Store, gestreamt als 200 application/c2pa (getC2PAManifestStore).
    • GET /v1/calls/{call_id}/c2pa/{manifest_id}/asset — das gebundene Asset (getC2PAAsset): evidence_export-Assets werden als 200 gestreamt; recording-Assets antworten mit 302 auf eine vorzeichnete S3-URL, die 15 Minuten gültig ist (ohne Authorization-Header abrufen). Eine seit der Ausstellung gelöschte Aufzeichnung liefert 410 c2pa_artefact_gone.
    • GET /v1/c2pa/trust-anchor — öffentlich; der selbst-signierte Root am Anfang der aktuellen Signaturkette (Audacts Root bei Selbstsignierung, der Root der CA nach dem Import einer CA-Kette) (getC2PATrustAnchor).
  • POST /v1/calls/{call_id}/c2pa stellt bei jedem Aufruf einen neuen Credential aus und fügt ein C2PA_MANIFEST_ISSUED-Ereignis an die (nur-anhängbare) Nachweiskette des Anrufs an. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen die ursprüngliche Antwort wiedergeben.

  • Fehler: 503 c2pa_signing_unavailable (kein Signing-Credential — es gibt keinen Fallback), 503 c2pa_storage_unavailable, 404 für einen unbekannten oder zu einem anderen Mandanten gehörenden Anruf/Manifest (identisch), 410 c2pa_artefact_gone, 400 für einen fehlerhaften Listen-Cursor.

  • Sidecar, nicht eingebettet: Der .c2pa-Store wird neben dem Asset in S3 gespeichert und separat heruntergeladen. Die Ausstellung erfolgt nicht auf dem Validator-Pfad.

  • Verifizierung: Asset + .c2pa herunterladen, dann c2patool <asset> --external-manifest <file>.c2pa, optional gefolgt von trust --trust_anchors <pem> mit dem PEM aus GET /v1/c2pa/trust-anchor. Für die Verifizierung ist nach dem Download kein API-Zugriff erforderlich.

  • Gültigkeit an das Unterzeichnerzertifikat gebunden: RFC-3161-Zeitstempel sind in dieser Version noch nicht enthalten, daher ist ein Manifest nur gültig, solange sein Unterzeichnerzertifikat gültig ist. Es gibt keinen Widerrufs-Mechanismus (kein CRL/OCSP) in dieser Version.

Quelle aktualisiert: 19. Oktober 2026