Guida all'installazione
Due cose devono essere online sul tuo sito: l'avviso che vedono i tuoi visitatori e un piccolo file pubblico che dichiara il tuo uso dell'IA (tuosito.com/.well-known/ai-disclosure.json). Scegli la tua piattaforma qui sotto; nella maggior parte dei casi bastano circa dieci minuti.
Il banner e le etichette IA che i tuoi visitatori vedono sulla pagina.
ai-disclosure.json, un file pubblico leggibile dal tuo stesso dominio.
il verificatore mostra Livello 2 · Visualizzato.
Scegli la tua piattaforma
WordPress
Installa il plugin
Nella bacheca di WordPress: Plugin → Aggiungi nuovo → Carica plugin, scegli il file scaricato qui sotto, poi fai clic su Attiva.
Lascia che faccia entrambe le cose
Il plugin mostra gli avvisi e pubblica automaticamente il tuo file di dichiarazione. Marca i contenuti IA su qualsiasi articolo o immagine con il suo interruttore "Contenuto IA". Nessuna modifica al codice.
-
Verifica
Fatto quando il verificatore mostra Livello 2 · Visualizzato.
Avvia il verificatore
Shopify
Aggiungi lo snippet
Negozio online → Temi → ⋯ → Modifica codice → theme.liquid: incolla questo subito prima di </body>. Nota l'indirizzo nella prima riga: Shopify non può ospitare file nella radice del tuo dominio, quindi lo snippet legge la tua dichiarazione dalla nostra copia ospitata.
theme.liquid <script>window.AIDiscloseConfig = { manifestUrl: "https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Collega la tua dichiarazione
Incolla questa riga dentro <head> nello stesso file. La tua dashboard mostra entrambi i blocchi precompilati con la chiave del tuo sito.
<head> <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">È un metodo ammesso dalla specifica.
-
Verifica
Fatto quando il verificatore mostra Livello 1 · Dichiarato con una nota. È il risultato atteso su questa piattaforma, ed è conforme.
Avvia il verificatore
Webflow
Aggiungi lo snippet
Site settings → Custom code → Footer code: incolla il blocco qui sotto, poi pubblica.
Footer code <script>window.AIDiscloseConfig = { manifestUrl: "https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Collega la tua dichiarazione
In Head code, aggiungi la riga di collegamento della dichiarazione (secondo blocco qui sotto). Preferisci pubblicare il file dal tuo dominio? Usa il proxy nella sezione Avanzate se il tuo DNS passa da Cloudflare.
Head code <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">È un metodo ammesso dalla specifica.
-
Verifica
Fatto quando il verificatore mostra Livello 1 · Dichiarato con una nota. È il risultato atteso su questa piattaforma, ed è conforme.
Avvia il verificatore
Squarespace
Aggiungi lo snippet
Settings → Advanced → Code Injection → Footer: incolla il blocco qui sotto. L'iniezione di codice richiede il piano Business.
Footer <script>window.AIDiscloseConfig = { manifestUrl: "https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Collega la tua dichiarazione
In Header injection, aggiungi la riga di collegamento della dichiarazione (secondo blocco qui sotto).
Header <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">È un metodo ammesso dalla specifica.
-
Verifica
Fatto quando il verificatore mostra Livello 1 · Dichiarato con una nota. È il risultato atteso su questa piattaforma, ed è conforme.
Avvia il verificatore
Google Tag Manager
Crea il tag
Nuovo tag → Configurazione tag → HTML personalizzato → incolla lo snippet. Attivazione: All Pages (Page View). Non usare attivatori ritardati o allo scorrimento: l'articolo 50 richiede l'avviso fin dalla prima esposizione. Pubblica l'area di lavoro.
Custom HTML <script>window.AIDiscloseConfig = { manifestUrl: "/.well-known/ai-disclosure.json" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Pubblica anche la tua dichiarazione
Tag Manager gestisce solo gli avvisi. Il tuo file di dichiarazione deve comunque andare online: segui il passaggio della tua piattaforma nelle altre schede, oppure la scheda Codice personalizzato se gestisci il tuo sito.
-
Verifica
Fatto quando il verificatore mostra Livello 2 · Visualizzato.
Avvia il verificatore
Codice personalizzato
Aggiungi lo snippet
Prima di </body> su ogni pagina. Le misure di irrobustimento per la produzione (blocco della versione, SRI) sono nella sezione Avanzate.
HTML <script>window.AIDiscloseConfig = { manifestUrl: "/.well-known/ai-disclosure.json" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Pubblica il file di dichiarazione
ai-disclosure.json deve essere leggibile a /.well-known/ sul tuo dominio. Su Vercel o Netlify, committa il file. Le configurazioni nginx e Apache sono nella sezione Avanzate.
Vercel / Netlify # Vercel / Netlify: commit the file, done public/.well-known/ai-disclosure.json-
Verifica
Fatto quando il verificatore mostra Livello 2 · Visualizzato.
Avvia il verificatore
Verifica
Avvia il verificatore. Conferma tre cose: il tuo file di dichiarazione è valido, lo snippet è in esecuzione e gli avvisi compaiono davvero sulla pagina. (Per gli ingegneri: controlli C1, C3 e da C4 a C6.)
Avanzate
Blocca lo script su una versione esatta (SRI)
Un hash di integrità nel tag script fa sì che il browser rifiuti di eseguire un file modificato. Blocca l'URL con versione e genera l'hash dal file esatto che distribuisci:
curl -sO https://cdn.aidisclose.io/v0/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Pubblica tu stesso il file (nginx / Apache)
Per i server che controlli, pubblica direttamente il file ai-disclosure.json scaricato:
location = /.well-known/ai-disclosure.json {
alias /var/www/site/ai-disclosure.json;
default_type application/json;
add_header Cache-Control "max-age=3600";
}
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
ForceType application/json
</Files>
Pubblica dal tuo dominio il file ospitato nella dashboard
Il tuo server inoltra a noi le richieste di quel solo indirizzo: modifichi il file nella dashboard, e continua a essere servito dal tuo dominio. La dashboard mostra questi blocchi precompilati con la chiave del tuo sito.
location = /.well-known/ai-disclosure.json {
proxy_pass https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY;
proxy_set_header Host api.aidisclose.io;
proxy_ssl_server_name on;
}
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/.well-known/ai-disclosure.json") {
return fetch("https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY");
}
return fetch(request);
}
};
Se il tuo sito blocca il nostro verificatore (AIDiscloseBot)
Le scansioni e le catture di prova provengono da AIDiscloseBot/1.0. Legge solo pagine pubbliche: non accede mai con credenziali, non invia moduli e rispetta robots.txt. Se il tuo robots.txt o la tua protezione anti-bot blocca i crawler sconosciuti, autorizzalo esplicitamente:
User-agent: AIDiscloseBot
Allow: /
Autorizzarlo è un rischio? No. Un permesso in robots.txt non concede alcun accesso. Dice soltanto ai bot rispettosi che possono leggere pagine già pubbliche. Chiunque può falsificare uno User-Agent, ma un impostore non ottiene nulla che le tue pagine pubbliche non diano già.
Se filtri il traffico con un WAF o un gestore di bot, non autorizzare mai sul solo User-Agent. Abbinalo a una verifica della sorgente. Pubblichiamo l'identità del nostro crawler, e gli intervalli di IP in uscita man mano che vengono attivati, su aidisclose.io/bot.json.