Guia de instalação
Duas coisas precisam de estar online no seu site: o aviso que os visitantes veem e um pequeno ficheiro público que declara o seu uso de IA (oseusite.com/.well-known/ai-disclosure.json). Escolha a sua plataforma abaixo; a maioria demora cerca de dez minutos.
O banner e as etiquetas de IA que os visitantes veem na página.
ai-disclosure.json, um ficheiro público legível a partir do seu próprio domínio.
o verificador mostra Nível 2 · Apresentado.
Escolha a sua plataforma
WordPress
Instale o plugin
Na administração do WordPress: Plugins → Adicionar novo → Enviar plugin, escolha o ficheiro descarregado abaixo e clique em Ativar.
Deixe-o fazer as duas coisas
O plugin mostra os avisos e publica automaticamente o seu ficheiro de declaração. Marque conteúdo de IA em qualquer artigo ou imagem com o respetivo interruptor «Conteúdo de IA». Sem alterações ao código.
-
Verificar
Concluído quando o verificador mostra Nível 2 · Apresentado.
Executar o verificador
Shopify
Adicione o snippet
Loja online → Temas → ⋯ → Editar código → theme.liquid: cole isto imediatamente antes de </body>. Repare no endereço da primeira linha: o Shopify não pode alojar ficheiros na raiz do seu domínio, pelo que o snippet lê a sua declaração a partir da nossa cópia alojada.
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>Ligue a sua declaração
Cole esta linha dentro do <head> no mesmo ficheiro. O seu painel mostra os dois blocos pré-preenchidos com a chave do seu site.
<head> <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">É um método admitido pela especificação.
-
Verificar
Concluído quando o verificador mostra Nível 1 · Declarado com uma nota. É o resultado esperado nesta plataforma, e está conforme.
Executar o verificador
Webflow
Adicione o snippet
Site settings → Custom code → Footer code: cole o bloco de snippet abaixo e publique.
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>Ligue a sua declaração
Em Head code, adicione a linha de ligação da declaração (segundo bloco abaixo). Prefere servir o ficheiro a partir do seu próprio domínio? Use o proxy em Avançado se o seu DNS passar pela Cloudflare.
Head code <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">É um método admitido pela especificação.
-
Verificar
Concluído quando o verificador mostra Nível 1 · Declarado com uma nota. É o resultado esperado nesta plataforma, e está conforme.
Executar o verificador
Squarespace
Adicione o snippet
Settings → Advanced → Code Injection → Footer: cole o bloco de snippet abaixo. A injeção de código requer o plano 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>Ligue a sua declaração
Em Header injection, adicione a linha de ligação da declaração (segundo bloco abaixo).
Header <link rel="ai-disclosure" href="https://api.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">É um método admitido pela especificação.
-
Verificar
Concluído quando o verificador mostra Nível 1 · Declarado com uma nota. É o resultado esperado nesta plataforma, e está conforme.
Executar o verificador
Google Tag Manager
Crie a tag
Nova tag → Configuração da tag → HTML personalizado → cole o snippet. Acionador: All Pages (Page View). Não use um acionador adiado nem por deslocamento: o artigo 50.º exige o aviso desde a primeira exposição. Publique o espaço de trabalho.
Custom HTML <script>window.AIDiscloseConfig = { manifestUrl: "/.well-known/ai-disclosure.json" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Publique também a sua declaração
O Tag Manager só trata dos avisos. O seu ficheiro de declaração ainda precisa de ficar online: siga o passo da sua plataforma nos outros separadores, ou o separador Código personalizado se gerir o seu próprio site.
-
Verificar
Concluído quando o verificador mostra Nível 2 · Apresentado.
Executar o verificador
Código personalizado
Adicione o snippet
Antes de </body> em todas as páginas. O reforço para produção (fixação de versão, SRI) está em Avançado.
HTML <script>window.AIDiscloseConfig = { manifestUrl: "/.well-known/ai-disclosure.json" };</script> <script src="https://cdn.aidisclose.io/v0/aidisclose.js" defer></script>Sirva o ficheiro de declaração
O ai-disclosure.json tem de estar legível em /.well-known/ no seu domínio. No Vercel ou Netlify, faça commit do ficheiro. As configurações de nginx e Apache estão em Avançado.
Vercel / Netlify # Vercel / Netlify: commit the file, done public/.well-known/ai-disclosure.json-
Verificar
Concluído quando o verificador mostra Nível 2 · Apresentado.
Executar o verificador
Verificar
Execute o verificador. Ele confirma três coisas: o seu ficheiro de declaração é válido, o snippet está a funcionar e os avisos aparecem realmente na página. (Para engenheiros: verificações C1, C3 e C4 a C6.)
Avançado
Fixar o script numa versão exata (SRI)
Um hash de integridade na tag script faz o navegador recusar executar um ficheiro modificado. Fixe o URL com versão e gere o hash a partir do ficheiro exato que implementa:
curl -sO https://cdn.aidisclose.io/v0/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Servir o ficheiro por si próprio (nginx / Apache)
Para servidores que controla, sirva diretamente o ficheiro ai-disclosure.json descarregado:
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>
Servir o ficheiro alojado no painel a partir do seu próprio domínio
O seu servidor encaminha para nós os pedidos desse único endereço: edita o ficheiro no painel e ele continua a ser servido a partir do seu domínio. O painel mostra estes blocos pré-preenchidos com a chave do seu site.
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 o seu site bloquear o nosso verificador (AIDiscloseBot)
As análises e as capturas de prova provêm do AIDiscloseBot/1.0. Só lê páginas públicas: nunca inicia sessão, nunca envia formulários e respeita o robots.txt. Se o seu robots.txt ou a sua proteção contra bots bloquear rastreadores desconhecidos, autorize-o explicitamente:
User-agent: AIDiscloseBot
Allow: /
Autorizá-lo é um risco? Não. Uma autorização no robots.txt não concede qualquer acesso. Apenas indica aos bots educados que podem ler páginas que já são públicas. Qualquer pessoa pode falsificar um User-Agent, mas um impostor não ganha nada que as suas páginas públicas já não deem.
Se filtra o tráfego com um WAF ou um gestor de bots, nunca autorize apenas com base no User-Agent. Combine-o com a verificação da origem. Publicamos a identidade do nosso rastreador, e os intervalos de IP de saída à medida que são aprovisionados, em aidisclose.io/bot.json.