AI Act art. 50 e Content Credentials
I quattro obblighi dell'art. 50
| Comma | Soggetto | Obbligo |
|---|---|---|
| 50(1) | Provider IA conversazionali | Informare che si sta interagendo con IA. |
| 50(2) | Provider di GenAI | Marker machine-readable rilevabile e robusto. |
| 50(3) | Deployer riconoscimento emozioni/biometria | Informare le persone esposte. |
| 50(4) | Deployer di deep fake / testo IA pubblico | Disclosure visibile agli utenti finali. |
Come questa app aiuta
- Marker machine-readable (50(2)) — IPTC/XMP
DigitalSourceTypeembedded nel JPEG + manifest C2PA sidecar. - Disclosure visibile (50(4)) — badge CR sovrapposto e opzionale watermark steganografico.
- Verifica — controllo del manifest e della trust list C2PA + rilevamento XMP e watermark.
- Distinzione ruoli — form bimodale Provider vs Deployer con gestione delle eccezioni artistica/editoriale.
Opzioni di firma C2PA
| Opzione | Firma reale | Trust list ufficiale | Costo | Stato |
|---|---|---|---|---|
Sidecar + c2patool | Sì (locale) | Dipende dal cert usato | 0 € | Attivo |
Test signer embedded (signing-service/) | Sì (self-signed) | No | 0 € + hosting Node | Attivo se configurato |
| DigiCert Content Trust Manager | Sì | Sì | Commerciale (contatto sales) | Disattivato — stub documentato |
| Truepic Sign | Sì | Sì | Commerciale | Disattivato — stub documentato |
Il repository include signing-service/, un microservizio Node deployabile su Fly.io / Render / Docker che effettua la firma crittografica reale. DigiCert e Truepic restano disattivati per assenza di contratto commerciale; i punti di estensione sono documentati in src/lib/signing-provider.ts e nel README del signing service.
Cosa questa app NON garantisce
- La firma crittografica C2PA completa richiede
c2patool+ certificato di una CA della trust list — l'app produce manifest e script pronti ma non firma nel browser. - Il watermark LSB è dimostrativo: non resiste alla ricompressione JPEG aggressiva o al ridimensionamento.
- Nessun marker è a prova di rimozione volontaria: un attaccante determinato può sempre rimuovere metadati e ri-encodare.
- L'app non conserva log delle operazioni: se ti serve un audit trail per uso deployer, integra un backend esterno.
SDK utilizzato
L'app è costruita interamente sul CAI Open Source SDK, l'implementazione di riferimento della specifica C2PA mantenuta dalla Content Authenticity Initiative:
c2pa-js— verifica in-browser (rotte /verify e /showcase).c2patool— CLI ufficiale eseguita dalsigning-servicecompanion per l'embedding JUMBF e la firma X.509.- Motore condiviso
c2pa-rs(Rust) → firme byte-per-byte equivalenti a quelle di qualunque altro Conforming Product.
Il gap rispetto ai prodotti ufficialmente conformi non è tecnologico ma di trust anchor: vedi Conforming Products per la roadmap.
Riferimenti
- Regolamento (UE) 2024/1689 — testo integrale
- Specifica C2PA 2.0
- CAI Open Source SDK
- C2PA Known Certificate List
- IPTC DigitalSourceType vocabulary
- Content Authenticity Initiative
Documenti legali
English summary
EU AI Act art. 50 requires providers of generative AI to mark synthetic outputs in a machine-readable way (50(2)) and deployers of deep fakes to visibly disclose the artificial nature of the content (50(4)).
This app produces (a) an IPTC/XMP DigitalSourceType tag embedded in the JPEG, (b) an optional visible CR badge overlay, (c) an optional LSB steganographic watermark, and (d) a C2PA sidecar manifest ready to be signed with c2patool and a certificate.
This tool is a demonstrative technical utility, not legal advice, and does not by itself guarantee compliance.