Huebsch Docs

AI Provenance

Huebsch audio is synthetic speech. Every published MP3 carries machine-readable markings that say so, in three layers. A public check at /verify reads them.

Markings

LayerCarrierSurvivesForgeable
IPTC digital source typeID3 PRIV (XMP) and TXXX:DigitalSourceTypefile copiesyes
C2PA manifestID3, signed and time-stampedonly byte-identical copiesno; any change invalidates it, a tag edit included
Watermarkthe audio itself, keyedre-encoding, resampling, loudness changes, cutsnot without the key

Digital source type

ValueWhen
http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMediaSynthetic speech only
http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMediaSynthetic speech mixed with at least one recording (sound, soundExternal)

The tags are informative only. /verify does not evaluate them.

C2PA

  • Manifest: a c2pa.created action carrying the digital source type, signed with ES256.
  • Time-stamp: from a TSA on the C2PA TSA Trust List, so a signature stays valid after its signing certificate expires.
  • Certificate chain: Huebsch runs its own root, and signing certificates are short-lived. Validators that lack the root report the signer as unknown.

Root: /.well-known/c2pa/root.pem

SHA-256
56:50:0B:A7:84:8D:EC:E6:42:65:ED:E3:03:42:98:82:39:16:DB:12:68:6D:E6:C9:4A:11:67:20:2B:3A:82:04

Watermark

  • Payload: identifies the production.
  • Not marked: tracks shorter than 30 seconds, and productions of clients that opted out.
  • Not detected: excerpts shorter than about 12 seconds, and audio with changed tempo or pitch.

Verification at /verify

  • Input: one audio file, up to three hours and 200 MB. The file is deleted as soon as the check ends, the result 30 minutes later.
  • Location: processed and stored in the EU.
  • API: the same check by URL, with the result posted to a webhook: Verification API.
  • Access: free. Media and researchers get unlimited access on request: hi@schoenreden.com.
  • Result: a signed file (JWS) to download; /verify also accepts it back and reports whether Huebsch issued it unchanged. Format: Signed result.

The result rests on two checks and names the basis of each:

  1. Signature: valid only when the chain leads to the Huebsch root. A valid signature means the file is byte-identical to the delivered one, and the client is named.
  2. Watermark: shows that the audio contains material of a Huebsch production. It does not show whether the audio was changed since delivery, or for whom it was produced.

Not confirmed:

  • the accuracy of the content;
  • who distributed the file;
  • whether the client approved its use.

A missing marking does not show that audio is human-made.

Regulatory basis

Marking per EU AI Act Art. 50(2) (Regulation (EU) 2024/1689) and the Code of Practice on Transparency of AI-Generated Content (June 2026): signed metadata plus watermark (Measure 1.1), a free public check with a signed result (2.1, 2.3). Disclosure to listeners (Art. 50(5)) is the publisher's labelling; /verify does not replace it.

On this page