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.
Banner y etiquetas de IA que tus visitantes ven en la página.
ai-disclosure.json, un archivo público legible desde tu propio dominio.
el verificador muestre el Nivel 2 · Mostrado.
Elige tu plataforma
WordPress
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.
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.
-
Verificar
Listo cuando el verificador muestre el Nivel 2 · Mostrado.
Ejecutar el verificador
Shopify
Añadir el snippet
Tienda online → Temas → ⋯ → Editar código → theme.liquid: pega esta única etiqueta justo antes de </body>. theme.liquid es la plantilla a través de la cual se renderiza cada página, así que un solo pegado cubre toda la tienda. Shopify no puede alojar archivos en la raíz de tu dominio, así que la etiqueta lleva tu clave de sitio de AIDisclose (data-aidisclose) y carga el manifiesto que alojamos por ti.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Enlazar tu declaración
Pega este enlace dentro de <head> en el mismo archivo. Tu panel de control muestra ambas líneas rellenadas con tu clave de sitio.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Este es un método permitido según la especificación.
-
Verificar
Listo cuando el verificador muestre el Nivel 1 · Declarado con una nota. Ese es el resultado esperado en esta plataforma, y cumple la normativa.
Ejecutar el verificador
Webflow
Añadir el snippet
Configuración del sitio → Código personalizado → Código del pie de página: pega el bloque de snippet de abajo y luego Publicar. El código personalizado a nivel de sitio se carga en todas las páginas.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Enlazar tu declaración
En el código del Head, añade la línea de enlace de la declaración (segundo bloque de abajo). ¿Prefieres servir el archivo desde tu propio dominio? Usa el proxy en Avanzado si tu DNS pasa por Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Este es un método permitido según la especificación.
-
Verificar
Listo cuando el verificador muestre el Nivel 1 · Declarado con una nota. Ese es el resultado esperado en esta plataforma, y cumple la normativa.
Ejecutar el verificador
Squarespace
Añadir el snippet
Configuración → Avanzado → Inyección de código → Pie de página: pega el bloque de snippet de abajo. La inyección de código se aplica a todas las páginas. Requiere el plan Business.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Enlazar tu declaración
En la inyección de la cabecera, añade la línea de enlace de la declaración (segundo bloque de abajo).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Este es un método permitido según la especificación.
-
Verificar
Listo cuando el verificador muestre el Nivel 1 · Declarado con una nota. Ese es el resultado esperado en esta plataforma, y cumple la normativa.
Ejecutar el verificador
Google Tag Manager
Crear la etiqueta
Nueva etiqueta → Configuración de la etiqueta → HTML personalizado → pega el snippet. Activación: Todas las páginas (vista de página). No uses un activador con retardo o por desplazamiento: las normas de divulgación exigen el aviso desde la primera exposición. Publica el espacio de trabajo.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Publica también tu declaración
Tag Manager solo se encarga de los avisos. Tu archivo de declaración todavía tiene que activarse: sigue el paso para tu plataforma en las otras pestañas, o la pestaña Código personalizado si gestionas tu propio sitio.
-
Verificar
Listo cuando el verificador muestre el Nivel 2 · Mostrado.
Ejecutar el verificador
Código personalizado
Añadir el snippet
Una vez en la plantilla o el diseño de tu sitio, antes de </body>, para que se incluya en todas las páginas. El refuerzo para producción (fijación de versión, SRI) está en Avanzado.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Servir el archivo de declaración
El archivo ai-disclosure.json debe poder leerse en /.well-known/ de tu dominio. En Vercel o Netlify, incluye el archivo en el repositorio. Si tu framework reescribe todas las rutas a index.html, ese archivo necesita una excepción: consulta Aplicaciones de página única en Avanzado. Las configuraciones de nginx y Apache también están en Avanzado.
Vercel / Netlify # Vercel / Netlify: commit the file public/.well-known/ai-disclosure.json # SPA that rewrites every route to index.html? # Exclude /.well-known/ from the rewrite (see Advanced).-
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.)
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:
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.
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:
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:
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>
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.
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;
}
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: 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" }
] }