Introduzione a textGrain e alle filigrane di OpenAI

textGrain è il nome interno della tecnologia utilizzata da OpenAI per inserire un segnale statistico nascosto nella generazione di testo. Il segnale, denominato watermark, non è visibile all’utente finale ma può essere rilevato da strumenti autorizzati. La sua finalità è soddisfare le nuove normative europee sulla trasparenza dei contenuti generati dall’intelligenza artificiale, introdotte nel Code of Practice UE.

Come attivare textGrain nelle API di OpenAI

L’attivazione avviene esclusivamente dal pannello di controllo della piattaforma API. Non è necessario aggiungere parametri alle singole richieste: la filigrana viene inserita automaticamente dal modello durante la generazione.

Passaggi per l’attivazione a livello di organizzazione

    • Apri la piattaforma API di OpenAI con un account autorizzato.
    • Accedi a Organization settings.
    • Seleziona Data controls e poi Text provenance.
    • Attiva Allow text watermarking.
    • Scegli i modelli da marcare (l’elenco mostra solo quelli supportati al momento).
    • Premi Save.

Questa impostazione diventa il valore predefinito per tutti i progetti all’interno dell’organizzazione.

Passaggi per l’attivazione a livello di singolo progetto (override)

    • Accedi a Project Settings del progetto che vuoi configurare.
    • Seleziona Text provenance.
    • Attiva Allow text watermarking e scegli i modelli.
    • Salva le modifiche.

L’opzione di progetto sovrascrive quella dell’organizzazione, permettendo test in staging o l’applicazione limitata a specifici prodotti destinati all’UE.

Domande frequenti sull’attivazione

Esiste un parametro da aggiungere alla singola chiamata API?

No. Le pagine di riferimento per Responses e Chat Completions non menzionano né la parola “watermark” né campi di provenienza. L’attivazione è un semplice interruttore lato piattaforma.

Come verificare se la filigrana è stata inserita?

L’attivazione non fornisce un indicatore nella risposta API. Inoltre, OpenAI non rende disponibile il detector per tutti; è riservato a ricercatori e organizzazioni approvate. L’endpoint POST /v1/contentprovenancechecks consente di verificare immagini e audio, ma per il testo è necessaria una richiesta di accesso che, senza autorizzazione, restituisce 404.

Copertura dei modelli e tipologia di output

L’elenco dei modelli supportati appare solo nella pagina delle impostazioni. OpenAI ha dichiarato che entro le “prossime settimane” estenderà la copertura a tutti i modelli legacy, escludendo però quelli in deprecazione imminente (ad esempio gpt-image-1, gpt-image-1.5 e sora-2, che non sono modelli testuali).

La tabella seguente riassume i tassi di rilevamento pubblicati da OpenAI (dati al 11 ottobre 2026):

Tipo di outputSegnale rilevato da OpenAI
Prosa di 400 token (≈300 parole in inglese)≈95% dei casi
Prosa di 200 token (≈150 parole)≈80% dei casi (sotto questa soglia il “Code of Practice” UE non richiede la filigrana)
Risposte molto fattuali o matematiche“Sostanzialmente più basse”
Testo fornito dall’utente e riprodotto senza modificheIl segnale può non risultare
Codice“Più difficile da marcare”, nessuna percentuale pubblicata

Il tasso di falsi positivi è dell’1% per le risposte psicologiche del dataset ELI5.

Perché il codice è più difficile da marcare

textGrain opera sulle scelte tra parole o frammenti di parola (token) che il modello considera equivalenti. Nel caso della prosa, un concetto può essere espresso in molteplici modi, offrendo al sistema ampio spazio per introdurre variazioni statistiche nascoste. Nel codice, invece, le alternative sono molto limitate: dopo import numpy as il token successivo è quasi sempre np; le firme di funzione e i nomi dei parametri sono quasi deterministici. Questo riduce drasticamente le opportunità di inserire un segnale distintivo.

OpenAI spiega che, se esistono dieci modi plausibili di esprimere una frase, il segnale può distribuire probabilità su tutti e risultare riconoscibile. Quando c’è solo un modo “corretto”, il segnale si indebolisce. Il codice rientra esattamente in quest’ultimo caso.

Implicazioni normative e Code of Practice UE

Il regolamento europeo prevede l’obbligo di filigrana per i contenuti testuali sopra i 200 token e per prodotti destinati all’UE. Tuttavia, il codice non è incluso nell’obbligo, poiché è considerato “snippet” e rientra nella soglia di 200 token.

OpenAI ha dichiarato che, mentre il segnale è tecnicamente possibile anche per il codice, non intende forzare la marcatura in assenza di un obbligo normativo. La combinazione di difficoltà tecnica e assenza di requisiti legali giustifica questa scelta.

Cosa cambia per Codex

L’annuncio del 5 ottobre 2026 afferma che la filigrana verrà estesa a ChatGPT e a Codex per tutti i piani nell’UE nelle prossime settimane. Tuttavia, OpenAI non ha ancora specificato se Codex includerà automaticamente la marcatura per tutti i linguaggi di programmazione o solo per quelli più comunemente usati. Il dibattito su r/codex (65 commenti) si concentra proprio su questo punto: se i frammenti di codice prodotti da Codex porteranno la filigrana o meno.

Guida riepilogativa delle impostazioni

    • Organizzazione (predefinito): Organization settings → Data controls → Text provenance. Ideale quando tutti i prodotti dell’organizzazione sono destinati a utenti UE.
    • Progetto (override): Project Settings → Text provenance. Utilizzabile per test in ambiente di staging o per progetti specifici.

Prospettive future

OpenAI sta collaborando con i principali cloud provider per garantire che i segnali di provenienza arrivino anche attraverso le loro piattaforme. La data di disponibilità varia a seconda del provider e del tipo di output. Inoltre, è previsto l’ampliamento della copertura ai modelli legacy entro le prossime settimane, ma senza una data precisa.

Conclusioni

Attivare textGrain nelle API di OpenAI è un processo semplice ma con implicazioni tecniche e legali significative. La filigrana viene inserita automaticamente dal modello, senza necessità di parametri per richiesta, ma la verifica del segnale resta limitata a soggetti autorizzati. I tassi di rilevamento sono elevati per prosa lunga, ma calano drasticamente per testi brevi, risposte fattuali e soprattutto per il codice, dove le scelte lessicali sono scarse.

Per gli sviluppatori europei, la spinta normativa rende indispensabile abilitare la filigrana per i prodotti destinati all’UE. Per gli altri casi, la decisione dipende dalla strategia di conformità e dalla necessità di tracciare la provenienza dei contenuti generati. Con l’evoluzione delle normative e l’estensione della copertura ai modelli legacy, è probabile che l’uso di textGrain diventi uno standard de facto per la trasparenza dell’AI.