Che cosa porta un'immagine generata con l'AI, e come la etichetta un sito Drupal?
Approfondisci il progetto AI Disclosure
Con la versione 1.0.0-beta1 (si apre in una nuova scheda), uscita il 12 ottobre 2026, AI Disclosure, il modulo che ho creato su drupal.org nella Drupal AI Initiative, etichetta anche immagini, video e audio, oltre ai testi. Qui parto dall'immagine, che è il caso più comune: che cosa porta dentro quando arriva da un generatore, che cosa ne resta quando un sito Drupal la pubblica, e come la beta1 la accompagna dal caricamento fino a chi la guarda. Quando un'etichetta è obbligatoria lo spiega l'articolo sull'articolo 50(4) dell'AI Act in Drupal.
Che cosa c'è dentro un'immagine generata con l'AI?
Dentro un'immagine sintetica ci possono essere fino a quattro segnali di provenienza, e li mette chi ha costruito il generatore nel momento in cui crea il file.
Il primo è un watermark invisibile, nascosto nei pixel: l'occhio lo ignora, il rilevatore del fornitore lo riconosce. Il secondo è un manifesto C2PA, le Content Credentials: una specie di carta d'identità firmata, attaccata al file, che dice chi l'ha prodotto e con quale strumento. Il terzo è un'etichetta più semplice nei metadati, il tipo di sorgente IPTC, che scrive in chiaro «generato da un modello addestrato». Il quarto resta fuori dal file: è un'impronta che il fornitore tiene nel suo registro e che serve a riconoscere l'immagine anche quando ha perso tutto il resto.
L'immagine in testa a questo articolo l'ha generata ChatGPT il 10 ottobre 2026, e porta un manifesto C2PA di 23.654 byte firmato da OpenAI. Il manifesto dichiara che l'immagine è stata creata da un modello, con il tipo di sorgente trainedAlgorithmicMedia, e annuncia un watermark nei pixel. Il tipo di sorgente IPTC nei metadati, invece, manca: in questo file quel dato vive solo dentro il manifesto.
Che differenza c'è fra l'etichetta e la marcatura?
La marcatura è per le macchine, l'etichetta è per le persone, e l'AI Act le chiede a due soggetti diversi. La marcatura la deve mettere il fornitore del sistema di AI, con l'articolo 50(2). L'etichetta la deve mostrare chi pubblica un deep fake, con l'articolo 50(4), e un sito Drupal che pubblica immagini fatte da altri sta da questa parte.
Il Codice di buona pratica che la Commissione ha pubblicato a giugno 2026 chiede ai fornitori più livelli di marcatura insieme, per esempio metadati firmati e un watermark, perché ogni tecnica da sola si rompe. A chi pubblica chiede un'etichetta che si veda subito, con l'icona europea o un simbolo equivalente che contenga «AI».
Che cosa succede a quei segnali quando un sito pubblica l'immagine?
Quando carichi un'immagine in Drupal, il sito non mostra quasi mai il file originale. Ne ricava delle copie ridimensionate, i derivati, una per ogni formato che il tema usa, e serve quelle. Ogni derivato è un file nuovo, e la domanda è che cosa si porta dietro.
L'ho misurato su un banco di prova con Drupal 11.4, partendo dall'immagine di ChatGPT e da una foto di prova che conteneva coordinate GPS, il modello della fotocamera, il tipo di sorgente IPTC e il prompt usato per generarla. Il manifesto C2PA è sparito da tutti i derivati, sempre. Il resto dipende dalla libreria grafica che il sito usa. Con GD, quella di serie, il derivato esce pulito e muto: nessun metadato. Con ImageMagick il derivato si porta dietro i metadati dell'originale, e con loro anche le coordinate GPS e il prompt, che il redattore credeva rimasti nel file caricato.
In pratica un'immagine che arriva ben marcata dal generatore esce dal sito senza le sue marcature. Instagram cerca il tipo di sorgente IPTC, LinkedIn cerca il manifesto C2PA, e in un derivato di Drupal di serie entrambi trovano un file qualunque.
Quali segnali arrivano fino a chi guarda l'immagine?
Fino in fondo arrivano due segnali soli: un watermark progettato per resistere e l'icona impressa nell'immagine, finché nessuno ritaglia l'angolo dove sta. Gli altri si perdono lungo la strada, in punti diversi.
Il caso qui sotto è un deep fake che arriva da un fornitore con tutte le marcature, pubblicato in un sito Drupal. Ogni tappa è un passaggio della sua vita, e l'interruttore mostra che cosa cambia con AI Disclosure 1.0.0-beta1.
Per il watermark ho fatto una prova a parte, perché quello di OpenAI è SynthID di Google, e lo controllano solo gli strumenti di Google e di OpenAI. Ho inserito nella copertina due watermark aperti e li ho fatti passare dal banco di prova. TrustMark di Adobe, che è una rete neurale, ha attraversato tutto: le copie con GD e con ImageMagick, la ricompressione, lo screenshot, la miniatura da 400 pixel. Si è perso solo togliendo un quinto dell'immagine. Il watermark classico usato da Stable Diffusion è sparito già nella prima copia. Drupal quindi cancella il watermark solo quando è fragile, come effetto del ridimensionamento e della compressione.
| Che cosa porta | File originale | Ridimensionata con GD | Ridimensionata con ImageMagick | Salvata da un lettore | Screenshot |
|---|---|---|---|---|---|
| Icona UE | – il generatore non la mette | – assente → ↻ disegnata nell'angolo | – assente → ↻ disegnata nell'angolo | – assente → ↻ resta nella copia salvata | – assente → ↻ resta nello screenshot |
| Tipo di sorgente IPTC | ✓ nei metadati del file | ✗ perso nel ridimensionamento → ↻ riscritto nella copia | ⚠ copiato insieme ai dati privati → ↻ riscritto da solo | ✗ assente nella copia → ↻ arriva con la copia | ✗ uno screenshot non ha metadati |
| Firma C2PA | ✓ firmata da OpenAI | ✗ persa nel ridimensionamento | ✗ persa nel ridimensionamento | ✗ persa | ✗ persa |
| Watermark resistente (TrustMark) | ✓ nei pixel | ✓ sopravvive | ✓ sopravvive | ✓ sopravvive | ✓ sopravvive |
| Watermark classico (Stable Diffusion) | ✓ nei pixel | ✗ perso alla prima copia | ✗ perso alla prima copia | ✗ perso | ✗ perso |
| Prompt e GPS | ⚠ nel file caricato | ⊘ GD non li copia | ⚠ copiati nella copia → ⊘ tolti da AI Disclosure | ⚠ presenti con ImageMagick → ⊘ tolti da AI Disclosure | ⊘ uno screenshot non li porta |
Con AI Disclosure 1.0.0-beta1 resta fuori un solo passaggio: il watermark, che mette il fornitore e che nessun sito può aggiungere dopo.
Come si dichiara un'immagine quando la si carica?
Chi carica un'immagine in Drupal trova nel form del media un pannello solo, «AI disclosure», con tutto quello che riguarda il file. In cima c'è una riga di stato: il grado scelto e un verdetto in chiaro, che dice se l'etichetta è dovuta, se non lo è o se la domanda non è ancora stata valutata. Sotto ci sono le domande che decidono il verdetto, e accanto alla prima, se il file è un deep fake, una guida breve aperta di default, perché è la risposta che i redattori sbagliano più spesso. Il pannello si apre da solo quando il file ha bisogno di un'etichetta e resta chiuso negli altri casi.
Se l'icona nell'angolo copre un volto o un logo, il redattore sceglie un altro angolo per quella sola immagine, con un'anteprima che si sposta mentre cambia la scelta. L'angolo vale per il file, quindi per tutti i contenuti che lo mostrano, e il form lo dice prima del salvataggio, con i link agli altri contenuti.
Quando l'immagine arriva già firmata, per esempio da ChatGPT, il modulo Content Credentials di @maurice1969 (si apre in una nuova scheda) può leggerne la firma e proporre il grado; la decisione resta al redattore.
Chi decide che un'immagine è fatta con l'AI?
La decide la redazione. AI Disclosure registra quello che dichiara chi ha prodotto il contenuto: il redattore nel form, un passaggio del flusso editoriale, oppure l'agente che ha scritto il contenuto tramite Tool API. Il modulo lascia da parte i rilevatori automatici: la classificazione resta una scelta editoriale di cui qualcuno risponde.
Per le immagini già pubblicate vale la stessa prudenza. Le domande sull'articolo 50(4) partono tutte da «non valutato», e finché qualcuno risponde la pagina scrive che il verdetto è aperto, invece di dire che l'etichetta non serve.
Quando un'immagine va etichettata con l'icona europea?
Un'immagine va etichettata quando è un deep fake, cioè quando somiglia in modo credibile a una persona, a un luogo, a un oggetto o a un evento che esiste o potrebbe esistere, e chi la guarda la prenderebbe per vera. Le linee guida della Commissione leggono così la definizione dell'AI Act, e contano tutti e quattro gli elementi insieme.
Una persona inventata conta, se è mostrata come reale. L'intenzione di chi pubblica è irrilevante: conta che cosa crederebbe il pubblico, compresi bambini e anziani. Un'opera chiaramente artistica, satirica o di finzione tiene l'etichetta in forma più leggera, accanto all'immagine invece che sopra. L'illustrazione di questo articolo è una mascotte che nessuno scambierebbe per una foto, e quindi resta fuori.
Che cosa vede chi guarda la pagina?
Chi guarda la pagina vede l'icona europea in un angolo del deep fake, sempre, senza dover passare col mouse: il Codice accetta un'icona d'interfaccia solo se si riconosce subito. L'icona ha una dimensione minima che la tiene leggibile anche sulle miniature, e usa sempre la versione piena, nera o bianca, così resta visibile su qualsiasi sfondo. Un sito può scegliere di mostrarla anche sulle altre immagini fatte con l'AI, non solo sui deep fake.
Sotto l'immagine una riga apribile spiega come è stata usata l'AI, senza coprire l'immagine. Chi usa un lettore di schermo sente il testo alternativo dell'icona ufficiale e la frase del grado. L'etichetta arriva ovunque un'immagine compaia: nei campi immagine, nei media e nelle immagini inserite nel testo con l'editor. Una pagina con più media fatti con l'AI può riassumerli tutti in una scheda sola, invece di ripetere la stessa spiegazione per ognuno.
Che cosa resta nel file che il sito serve?
L'icona sulla pagina è codice HTML, e chi salva l'immagine se la lascia alle spalle. Per questo la beta1 può anche imprimere l'icona nei pixel, con l'effetto «AI disclosure icon» del sottomodulo ai_disclosure_image, aggiunto come ultimo passo dello stile immagine. L'icona allora viaggia con il file: nelle anteprime social, nei feed, nei download. Si sceglie stile per stile dove serve, per esempio sull'immagine grande dell'articolo e su quella per i social, lasciando pulite le miniature della libreria media; attivare il sottomodulo lascia gli stili esistenti com'erano. L'icona si calcola sulla copia finale, così resta proporzionata anche in una copia piccola. Lo fa solo sui deep fake, sceglie da sola la versione chiara o scura guardando la luminosità dell'angolo, e salta le copie sotto i 240 pixel, dove l'icona sarebbe illeggibile e resta quella sulla pagina. Quando l'icona è nei pixel, quella sulla pagina si fa da parte, e il lettore ne vede una sola.
Lo stesso sottomodulo rimette nel file anche la marcatura per le macchine. In ogni copia scrive il tipo di sorgente IPTC e una frase leggibile, come «This content was produced by AI.», e toglie tutto il resto dei metadati originali. Il prompt resta sempre fuori, perché può contenere testo personale o riservato, e restano fuori anche le coordinate GPS e i dati della fotocamera. Lo fa su ogni immagine fatta con l'AI, anche quando non è un deep fake. Il file originale resta com'era: il modulo lavora solo sulle copie, e quando il grado cambia le rigenera, così chi chiede l'immagine riceve quella aggiornata.
La firma digitale delle copie la aggiunge un altro modulo, C2PA Sign, che usa i dati di AI Disclosure.
Che cosa leggono le macchine sulla pagina?
Oltre ai file, la pagina stessa dichiara le sue immagini fatte con l'AI nel codice che leggono motori e agenti. Nel blocco JSON-LD dell'articolo il modulo aggiunge un elemento per ogni immagine, video o audio fatto con l'AI che la pagina mostra, con l'indirizzo del file originale e il suo tipo di sorgente: TrainedAlgorithmicMediaDigitalSource per ciò che l'AI ha generato, CompositeWithTrainedAlgorithmicMediaDigitalSource per ciò che l'AI ha modificato o completato. È la stessa marcatura di pagina che l'articolo su come una pagina Drupal dichiara alle macchine l'uso dell'AI descrive per i testi, estesa ai media.
E i video e gli audio?
La beta1 tratta video e audio con la stessa logica delle immagini. Un video riceve l'icona europea sul player, anche quando arriva da YouTube o da Vimeo, e il sito può prepararne una copia con l'icona dentro le immagini. Un audio mostra icona e frase accanto al player, e la sua copia si apre con un avviso parlato nella lingua del file.
Che cosa deve saper fare un modulo Drupal per le immagini fatte con l'AI?
Chi sceglie un modulo per etichettare le immagini fatte con l'AI può partire da otto domande, e la risposta di AI Disclosure 1.0.0-beta1 sta accanto a ciascuna.
| Domanda | AI Disclosure 1.0.0-beta1 |
|---|---|
| Distingue quanto l'AI è entrata nel contenuto? | sì, con nove gradi, dal solo umano al deep fake |
| Dice se l'etichetta è dovuta secondo l'articolo 50(4)? | sì, con un verdetto calcolato dalle risposte della redazione |
| Lascia intatto il file originale? | sì, lavora solo sulle copie |
| Mette l'icona anche nei pixel, oltre che sulla pagina? | sì, sui deep fake, nello stile immagine scelto |
| Rimette i metadati per le macchine nelle copie, togliendo prompt e GPS? | sì, in JPEG, PNG e WebP, e con ExifTool in AVIF e HEIC |
| Copre anche video e audio? | sì, con l'icona sul player, le copie etichettate e l'avviso parlato |
| Tiene una dichiarazione per ogni traduzione? | sì |
| Lavora insieme a C2PA? | sì, con C2PA Sign per la firma e Content Credentials per la lettura |
Che cosa cambia per un sito che aggiorna il modulo?
Un sito che passa dalla 1.0.0-alpha3 alla 1.0.0-beta1 resta identico finché non accende le novità: tutto quello che il lettore vede parte spento. La marcatura per le macchine nei derivati parte invece appena si abilita ai_disclosure_image.
Le opzioni da guardare sono tre: quali immagini ricevono l'icona, nella scheda Media; una scheda sola che riassume i media fatti con l'AI della pagina, nella scheda Output; e come si presenta un media inserito dentro un altro contenuto, nella visualizzazione del tipo di media. Una combinazione va evitata: icona su nessuna immagine e, per i media inseriti, solo l'icona sul media. Un deep fake dentro un articolo resterebbe senza nessuna etichetta, e l'articolo 50(4) lo esclude.
Il formato WebP l'ho riprovato l'11 ottobre 2026 su una foto di prova con coordinate GPS, modello della fotocamera e prompt. Con GD e con ImageMagick la copia WebP esce con il tipo di sorgente IPTC e la frase leggibile, e senza GPS, fotocamera e prompt.
Per chi vuole verificare che cosa porta un file
Questo è il pacchetto di metadati che il modulo ha scritto nel derivato dell'immagine di ChatGPT, con il grado «Autonomously AI generated»:
<x:xmpmeta xmlns:x="adobe:ns:meta/">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<Iptc4xmpExt:DigitalSourceType>http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia</Iptc4xmpExt:DigitalSourceType>
<dc:description>
<rdf:Alt><rdf:li xml:lang="x-default">This content was produced by AI.</rdf:li></rdf:Alt>
</dc:description>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>Il modulo lo scrive in JPEG, PNG e WebP senza librerie esterne; per AVIF e HEIC serve ExifTool. Per leggere che cosa porta un file bastano tre comandi:
# Tipo di sorgente IPTC e descrizione
exiftool -XMP-iptcExt:DigitalSourceType -XMP-dc:Description derivato.jpg
# Manifesto C2PA, con le azioni e la firma
c2patool originale.png
# Etichette di un video o di un audio
ffprobe -v error -show_entries format_tags -of default=nw=1 copia.mp4Che cosa la marcatura lascia aperto?
Il tipo di sorgente IPTC è un'informazione senza firma: si toglie in un attimo, e si può anche scrivere su un file che l'AI non l'ha mai visto. Vale quanto la redazione che lo ha dichiarato. La prova dell'origine è il manifesto C2PA firmato, e la marcatura che resiste di più è il watermark del fornitore. L'icona impressa rende visibile l'etichetta in tutte le copie scaricate da quel momento in poi; quelle scaricate prima restano come erano.
Fonti
Fonti consultate dal 10 al 12 ottobre 2026.
- AI Disclosure, documentazione: Media (si apre in una nuova scheda). Immagini, video, audio e marcature nelle copie. Fonte primaria.
- AI Disclosure 1.0.0-beta1 (si apre in una nuova scheda), drupal.org, 12 ottobre 2026. La release descritta in questo articolo. Fonte primaria.
- AI Disclosure, note di rilascio (si apre in una nuova scheda), git.drupalcode.org. Opzioni nuove e valori per i siti aggiornati. Fonte primaria.
- Digital Source Type (si apre in una nuova scheda), IPTC NewsCodes. Valori e definizioni. Fonte primaria.
- C2PA Explainer 2.3 (si apre in una nuova scheda), Coalition for Content Provenance and Authenticity. Firma, invalidazione, soft binding. Fonte primaria.
- AI disclosure on social media: a work in progress (si apre in una nuova scheda), IPTC. Quali piattaforme leggono IPTC e quali C2PA. Fonte primaria.
- European Commission publishes final Code of Practice on marking and labelling AI-generated content (si apre in una nuova scheda), Jones Day. Due livelli di marcatura, icona UE. Stampa di settore.
- EU AI Act update: Commission adopts guidelines on Article 50 (si apre in una nuova scheda), Stephenson Harwood. Etichetta al primo contatto, eccezione artistica. Stampa di settore.
- C2PA Sign (si apre in una nuova scheda) e Content Credentials (si apre in una nuova scheda), drupal.org. Firma e lettura dei manifesti. Fonte primaria.
- TrustMark and C2PA (si apre in una nuova scheda), Content Authenticity Initiative. Il watermark come soft binding. Fonte primaria.
- Advancing content provenance (si apre in una nuova scheda), OpenAI, maggio 2026. SynthID e C2PA nelle immagini di ChatGPT, strumento di verifica. Fonte primaria.
- Google's SynthID AI content detector expands globally (si apre in una nuova scheda), 9to5Google, 7 ottobre 2026. Il rilevatore di Google legge anche le immagini di OpenAI. Stampa di settore.
- La mia prova su un sito Drupal 11 di test, con GD e ImageMagick, letta con ExifTool e c2patool; i WebP rifatti l'11 ottobre 2026. Misura di prima mano.
- TrustMark (si apre in una nuova scheda), Adobe, e invisible-watermark (si apre in una nuova scheda), usati per la prova del watermark sul sito di test. Misura di prima mano.
Questo contenuto è stato prodotto dall'AI e rivisto da una persona.
Come è stata usata l'AI?
Le bozze sono prodotte con l'assistenza dell'AI, poi dirette, rivedute e verificate da una persona. Numeri, date e versioni sono confrontati con le fonti pubbliche prima della pubblicazione, e la data di quel controllo è indicata nel testo.