Vodič za ugradnju

Dvije stvari moraju biti aktivne na vašoj stranici: obavijest koju vaši posjetitelji vide i mala javna datoteka koja deklarira vaše korištenje UI-ja (vasastranica.com/.well-known/ai-disclosure.json). Oznaka isječka lijepi se jednom, jednaka je na svakoj stranici, a vaša deklaracija odlučuje koje se obavijesti pojavljuju i gdje. Odaberite svoju platformu u nastavku; većina traje otprilike deset minuta.

1 · Prikažite obavijesti

Banner i UI oznake koje vaši posjetitelji vide na stranici.

2 · Objavite svoju deklaraciju

ai-disclosure.json, javna datoteka čitljiva s vaše vlastite domene.

Gotovi ste kada

alat za provjeru prikaže Razina 2 · Prikazano.

Odaberite svoju platformu

WordPress

  1. Instalirajte dodatak

    U administraciji WordPressa: Dodaci → Dodaj novi → Prenesi dodatak, odaberite datoteku koju ste preuzeli u nastavku, zatim kliknite Aktiviraj.

    Preuzmite dodatak AIDisclose (.zip)

  2. Neka obavi oba posla

    Dodatak prikazuje obavijesti i automatski objavljuje vašu datoteku deklaracije. Označite UI sadržaj na bilo kojoj objavi ili slici pomoću preklopnika „UI sadržaj”. Bez izmjena koda.

  3. Provjera

    Gotovo kada alat za provjeru prikaže Razina 2 · Prikazano.

    Pokrenite provjeru

Provjera

Pokrenite alat za provjeru. Potvrđuje tri stvari: da je vaša datoteka deklaracije valjana, da isječak radi i da se obavijesti doista pojavljuju na stranici. (Za inženjere: provjere C1, C3 te C4 do C6.)

Pokrenite provjeru

Ako vaša stranica blokira naš alat za provjeru (AIDiscloseBot)

Skeniranja i snimanja dokaza dolaze s AIDiscloseBot/1.0. Čita samo javne stranice: nikad se ne prijavljuje, nikad ne šalje obrasce i poštuje robots.txt. Ako vaš robots.txt ili zaštita od botova blokira nepoznate alate za pretraživanje, dopustite ga izričito:

robots.txt
User-agent: AIDiscloseBot
Allow: /

Je li dopuštanje rizik? Ne. Dopuštenje u robots.txt ne daje nikakav pristup. Samo pristojnim botovima govori da smiju čitati stranice koje su već javne. Svatko može lažirati niz User-Agent, ali lažni korisnik ne dobiva ništa što mu vaše javne stranice već ne daju.

Ako promet kontrolirate putem WAF-a ili upravitelja botova, nikad ne dopuštajte samo na temelju User-Agenta. Uparite to s provjerom izvora. Objavljujemo identitet našeg alata za pretraživanje i raspone izlaznih IP adresa kako se dodjeljuju, na aidisclose.io/bot.json.

Pokrenite provjeru

Napredno

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

Zaključajte skriptu na točnu verziju (SRI)

Hash integriteta u skriptnoj oznaci navodi preglednik da odbije pokrenuti izmijenjenu datoteku. Pričvrstite URL s verzijom i generirajte hash iz točne datoteke koju postavljate:

shell
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Poslužite datoteku sami (nginx / Apache)

Za poslužitelje koje kontrolirate, poslužite preuzeti ai-disclosure.json izravno:

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>
Poslužite datoteku hostiranu u nadzornoj ploči s vlastite domene

Vaš poslužitelj prosljeđuje zahtjeve za tu jednu adresu nama: vi uređujete datoteku u nadzornoj ploči, a ona se i dalje poslužuje s vaše domene. Nadzorna ploča prikazuje ovo unaprijed ispunjeno vašim ključem stranice.

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);
  }
};
Jednostranične aplikacije i statični poslužitelji

Okviri koji preusmjeravaju svaku rutu na index.html, kao i neki statični poslužitelji, presreću /.well-known/ai-disclosure.json i vraćaju HTML vaše aplikacije sa statusom 200. Datoteka izgleda kao da je predana, ali alat za provjeru čita HTML umjesto manifesta. Dva rješenja: isključite /.well-known/ iz sveobuhvatnog preusmjeravanja kako bi se statična datoteka posluživala s tipom application/json, ili dodajte data-aidisclose="YOUR_SITE_KEY" u oznaku skripte da bi se učitao manifest koji hostira AIDisclose i potpuno preskočilo posluživanje datoteke.

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