Guía de instalación

Dos cosas deben estar activas en tu sitio: el aviso que ven tus visitantes y un pequeño archivo público que declara tu uso de IA (tusitio.com/.well-known/ai-disclosure.json). La etiqueta del snippet se pega una sola vez, es idéntica en todas las páginas, y tu declaración decide qué avisos aparecen y dónde. Elige tu plataforma abajo; la mayoría tardan alrededor de diez minutos.

1 · Mostrar los avisos

Banner y etiquetas de IA que tus visitantes ven en la página.

2 · Publicar tu declaración

ai-disclosure.json, un archivo público legible desde tu propio dominio.

Habrás terminado cuando

el verificador muestre el Nivel 2 · Mostrado.

Elige tu plataforma

WordPress

  1. Instalar el plugin

    En tu administrador de WordPress: Plugins → Añadir nuevo → Subir plugin, elige el archivo que descargaste abajo y haz clic en Activar.

    Descargar el plugin de AIDisclose (.zip)

  2. Deja que haga ambas tareas

    El plugin muestra los avisos y publica tu archivo de declaración automáticamente. Marca el contenido de IA en cualquier entrada o imagen con su interruptor «Contenido de IA». Sin editar código.

  3. Verificar

    Listo cuando el verificador muestre el Nivel 2 · Mostrado.

    Ejecutar el verificador

Verificar

Ejecuta el verificador. Confirma tres cosas: tu archivo de declaración es válido, el snippet está funcionando y los avisos aparecen de verdad en la página. (Para ingenieros: comprobaciones C1, C3 y C4 a C6.)

Ejecutar el verificador

Si tu sitio bloquea nuestro verificador (AIDiscloseBot)

Los análisis y las capturas de prueba provienen de AIDiscloseBot/1.0. Solo lee páginas públicas: nunca inicia sesión, nunca envía formularios y respeta robots.txt. Si tu robots.txt o tu protección contra bots bloquea rastreadores desconocidos, permítelo explícitamente:

robots.txt
User-agent: AIDiscloseBot
Allow: /

¿Permitirlo supone un riesgo? No. Una autorización en robots.txt no concede ningún acceso. Solo indica a los bots respetuosos que pueden leer páginas que ya son públicas. Cualquiera puede falsificar una cadena User-Agent, pero un falsificador no obtiene nada que tus páginas públicas no ofrezcan ya.

Si controlas el tráfico con un WAF o un gestor de bots, nunca autorices basándote solo en el User-Agent. Combínalo con la verificación del origen. Publicamos la identidad de nuestro rastreador, y los rangos de IP de salida a medida que se aprovisionan, en aidisclose.io/bot.json.

Ejecutar el verificador

Avanzado

Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.

Fija el script a una versión exacta (SRI)

Un hash de integridad en la etiqueta del script hace que el navegador se niegue a ejecutar un archivo modificado. Fija la URL con versión y genera el hash a partir del archivo exacto que despliegas:

shell
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Sirve el archivo tú mismo (nginx / Apache)

En los servidores que controlas, sirve directamente el ai-disclosure.json descargado:

nginx
location = /.well-known/ai-disclosure.json {
  alias /var/www/site/ai-disclosure.json;
  default_type application/json;
  add_header Cache-Control "max-age=3600";
}
Apache
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
  ForceType application/json
</Files>
Sirve desde tu propio dominio el archivo alojado en el panel de control

Tu servidor nos reenvía las solicitudes de esa única dirección: tú editas el archivo en el panel de control y se sigue sirviendo desde tu dominio. El panel de control las muestra rellenadas con tu clave de sitio.

nginx
location = /.well-known/ai-disclosure.json {
  proxy_pass https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY;
  proxy_set_header Host cdn.aidisclose.io;
  proxy_ssl_server_name on;
}
Cloudflare Worker
export default {
  async fetch(request) {
    const url = new URL(request.url);
    if (url.pathname === "/.well-known/ai-disclosure.json") {
      return fetch("https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY");
    }
    return fetch(request);
  }
};
Aplicaciones de página única y hosts estáticos

Los frameworks que reescriben todas las rutas a index.html, y algunos hosts estáticos, interceptan /.well-known/ai-disclosure.json y devuelven el HTML de tu aplicación con un estado 200. El archivo parece estar incluido en el repositorio, pero el verificador lee HTML en lugar del manifiesto. Dos soluciones: excluye /.well-known/ de la reescritura general para que el archivo estático se sirva con el tipo application/json, o añade data-aidisclose="YOUR_SITE_KEY" a la etiqueta del script para cargar el manifiesto alojado por AIDisclose y no servir el archivo en absoluto.

netlify.toml / vercel.json
# netlify.toml: serve the real file before the SPA fallback
[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200
  force = false   # a real file at the path wins over this fallback

# vercel.json: rewrite everything EXCEPT /.well-known to the app
{ "rewrites": [
  { "source": "/((?!\.well-known/).*)", "destination": "/index.html" }
] }