Průvodce instalací

Na vašem webu musí být aktivní dvě věci: oznámení, které vidí vaši návštěvníci, a malý veřejný soubor, který deklaruje vaše používání UI (vas-web.cz/.well-known/ai-disclosure.json). Tag snippetu se vloží jednou, je na každé stránce stejný a vaše deklarace rozhoduje, která oznámení se kde zobrazí. Vyberte svou platformu níže; většina zabere asi deset minut.

1 · Zobrazit oznámení

Banner a štítky UI, které vaši návštěvníci vidí na stránce.

2 · Zveřejnit vaši deklaraci

ai-disclosure.json, veřejný soubor čitelný z vaší vlastní domény.

Hotovo je, když

kontrola ukáže Úroveň 2 · Zobrazeno.

Vyberte svou platformu

WordPress

  1. Nainstalujte plugin

    Ve správě WordPress: Pluginy → Přidat nový → Nahrát plugin, vyberte soubor, který jste stáhli níže, a klikněte na Aktivovat.

    Stáhnout plugin AIDisclose (.zip)

  2. Nechte jej dělat obě práce

    Plugin zobrazuje oznámení a automaticky zveřejňuje váš soubor s deklarací. Označte obsah UI u libovolného příspěvku nebo obrázku jeho přepínačem „AI content“. Žádné úpravy kódu.

  3. Ověření

    Hotovo, když kontrola ukáže Úroveň 2 · Zobrazeno.

    Spustit kontrolu

Ověření

Spusťte kontrolu. Potvrdí tři věci: váš soubor s deklarací je platný, snippet běží a oznámení se na stránce skutečně objevují. (Pro techniky: kontroly C1, C3 a C4 až C6.)

Spustit kontrolu

Pokud váš web blokuje naši kontrolu (AIDiscloseBot)

Kontroly a zachycení důkazů pocházejí z AIDiscloseBot/1.0. Čte pouze veřejné stránky: nikdy se nepřihlašuje, nikdy neodesílá formuláře a řídí se robots.txt. Pokud váš robots.txt nebo ochrana proti botům blokuje neznámé prohledávače, povolte jej výslovně:

robots.txt
User-agent: AIDiscloseBot
Allow: /

Je jeho povolení riziko? Ne. Povolení v robots.txt neuděluje žádný přístup. Pouze říká zdvořilým botům, že mohou číst stránky, které jsou již veřejné. User-Agent může kdokoli zfalšovat, ale falšovatel nezíská nic, co by mu vaše veřejné stránky již nedaly.

Pokud regulujete provoz pomocí WAF nebo správce botů, nikdy nepovolujte na základě samotného User-Agent. Doplňte to ověřením zdroje. Identitu našeho prohledávače a rozsahy výstupních IP adres, jak jsou přidělovány, zveřejňujeme na aidisclose.io/bot.json.

Spustit kontrolu

Pokročilé

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

Uzamkněte skript na přesnou verzi (SRI)

Integritní hash ve script tagu přiměje prohlížeč odmítnout spuštění upraveného souboru. Připněte verzovanou URL a vygenerujte hash z přesného souboru, který nasazujete:

shell
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Doručujte soubor sami (nginx / Apache)

Na serverech, které ovládáte, doručujte stažený ai-disclosure.json přímo:

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>
Doručujte soubor hostovaný v dashboardu z vaší vlastní domény

Váš server přeposílá požadavky na tuto jedinou adresu k nám: soubor upravujete v dashboardu a přesto se doručuje z vaší domény. Dashboard je zobrazuje předvyplněné vaším klíčem webu.

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);
  }
};
Jednostránkové aplikace a statické hosty

Frameworky, které přepisují každou routu na index.html, a některé statické hosty zachytávají /.well-known/ai-disclosure.json a vracejí HTML vaší aplikace se stavem 200. Soubor vypadá jako commitnutý, ale kontrolní nástroj čte HTML místo manifestu. Dvě řešení: vyjměte /.well-known/ z pravidla přepisujícího všechny routy, aby se statický soubor doručoval s typem application/json, nebo přidejte data-aidisclose="YOUR_SITE_KEY" k tagu skriptu, aby se načetl manifest hostovaný na AIDisclose a soubor se nemusel doručovat vůbec.

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