Ghid de instalare

Două lucruri trebuie să fie active pe site-ul dvs.: notificarea pe care o văd vizitatorii și un mic fișier public care declară utilizarea IA (yoursite.com/.well-known/ai-disclosure.json). Eticheta fragmentului de cod se lipește o singură dată, este identică pe fiecare pagină, iar declarația dvs. stabilește ce notificări apar și unde. Alegeți platforma dvs. de mai jos; majoritatea durează aproximativ zece minute.

1 · Afișați notificările

Banner și etichete IA pe care vizitatorii dvs. le văd pe pagină.

2 · Publicați declarația dvs.

ai-disclosure.json, un fișier public care poate fi citit de pe propriul dvs. domeniu.

Ați terminat când

verificatorul afișează Nivelul 2 · Afișat.

Alegeți platforma dvs.

WordPress

  1. Instalați pluginul

    În administrarea WordPress: Plugins → Add New → Upload Plugin, alegeți fișierul descărcat mai jos, apoi apăsați Activate.

    Descărcați pluginul AIDisclose (.zip)

  2. Lăsați-l să facă ambele sarcini

    Pluginul afișează notificările și publică automat fișierul dvs. de declarare. Marcați conținutul IA pe orice articol sau imagine cu comutatorul său „AI content”. Fără modificări de cod.

  3. Verificare

    Gata când verificatorul afișează Nivelul 2 · Afișat.

    Rulați verificatorul

Verificare

Rulați verificatorul. Acesta confirmă trei lucruri: fișierul dvs. de declarare este valid, fragmentul de cod rulează, iar notificările apar efectiv pe pagină. (Pentru ingineri: verificările C1, C3 și C4 până la C6.)

Rulați verificatorul

Dacă site-ul dvs. blochează verificatorul nostru (AIDiscloseBot)

Scanările și capturile de dovezi provin de la AIDiscloseBot/1.0. Acesta citește doar pagini publice: nu se autentifică niciodată, nu trimite niciodată formulare și respectă robots.txt. Dacă robots.txt sau protecția dvs. anti-bot blochează crawlerele necunoscute, permiteți-l explicit:

robots.txt
User-agent: AIDiscloseBot
Allow: /

Este un risc să îl permiteți? Nu. O permisiune în robots.txt nu acordă niciun acces. Le spune doar boților politicoși că pot citi pagini care sunt deja publice. Oricine poate falsifica un șir User-Agent, dar un falsificator nu obține nimic în plus față de ceea ce paginile dvs. publice oferă deja.

Dacă vă controlați traficul cu un WAF sau un manager de boți, nu permiteți niciodată accesul doar pe baza User-Agent. Asociați-l cu verificarea sursei. Publicăm identitatea crawlerului nostru și intervalele de IP de ieșire pe măsură ce sunt alocate, la aidisclose.io/bot.json.

Rulați verificatorul

Avansat

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

Blocați scriptul la o versiune exactă (SRI)

Un hash de integritate în eticheta de script determină browserul să refuze rularea unui fișier modificat. Fixați URL-ul cu versiune și generați hash-ul din fișierul exact pe care îl implementați:

shell
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Serviți singur fișierul (nginx / Apache)

Pentru serverele pe care le controlați, serviți direct fișierul ai-disclosure.json descărcat:

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>
Serviți fișierul găzduit în panoul de control de pe propriul dvs. domeniu

Serverul dvs. ne redirecționează cererile pentru acea unică adresă: editați fișierul în panoul de control, iar acesta este servit în continuare de pe domeniul dvs. Panoul de control le afișează precompletate cu cheia site-ului dvs.

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);
  }
};
Aplicații cu o singură pagină și gazde statice

Framework-urile care rescriu fiecare rută către index.html, precum și unele gazde statice, interceptează /.well-known/ai-disclosure.json și returnează codul HTML al aplicației tale cu statusul 200. Fișierul pare inclus în repozitoriu, dar verificatorul citește HTML în loc de manifest. Două soluții: exclude /.well-known/ din rescrierea globală, astfel încât fișierul static să fie servit cu tipul application/json, sau adaugă data-aidisclose="YOUR_SITE_KEY" în eticheta de script pentru a încărca manifestul găzduit de AIDisclose și a nu mai servi deloc fișierul.

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" }
] }