Vodnik za namestitev

Na vašem spletnem mestu morata biti v veljavi dve stvari: obvestilo, ki ga vidijo vaši obiskovalci, in majhna javna datoteka, ki deklarira vašo uporabo UI (vasemesto.si/.well-known/ai-disclosure.json). Oznaka odseka kode se prilepi enkrat, je enaka na vsaki strani, vaša deklaracija pa odloči, katera obvestila se pojavijo kje. Spodaj izberite svojo platformo; večina vzame približno deset minut.

1 · Prikažite obvestila

Pasica in oznake UI, ki jih vaši obiskovalci vidijo na strani.

2 · Objavite svojo deklaracijo

ai-disclosure.json, javna datoteka, berljiva z vaše lastne domene.

Končali ste, ko

pregledovalnik pokaže Raven 2 · Prikazano.

Izberite svojo platformo

WordPress

  1. Namestite vtičnik

    V skrbniškem delu WordPress: Vtičniki → Dodaj novega → Naloži vtičnik, izberite datoteko, ki ste jo prenesli spodaj, nato kliknite Aktiviraj.

    Prenesite vtičnik AIDisclose (.zip)

  2. Naj opravi obe nalogi

    Vtičnik samodejno prikaže obvestila in objavi vašo deklaracijsko datoteko. Vsebino UI označite na kateri koli objavi ali sliki s stikalom "Vsebina UI". Brez urejanja kode.

  3. Preverite

    Končano, ko pregledovalnik pokaže Raven 2 · Prikazano.

    Zaženite pregledovalnik

Preverite

Zaženite pregledovalnik. Potrdi tri stvari: vaša deklaracijska datoteka je veljavna, odsek kode teče in obvestila se dejansko pojavijo na strani. (Za inženirje: preverja C1, C3 in C4 do C6.)

Zaženite pregledovalnik

Če vaše spletno mesto blokira naš pregledovalnik (AIDiscloseBot)

Pregledi in zajemi dokazil prihajajo iz AIDiscloseBot/1.0. Bere samo javne strani: nikoli se ne prijavlja, nikoli ne oddaja obrazcev in upošteva robots.txt. Če vaš robots.txt ali zaščita pred boti blokira neznane pregledovalnike, ga izrecno dovolite:

robots.txt
User-agent: AIDiscloseBot
Allow: /

Ali je dovolitev tveganje? Ne. Dovolitev v robots.txt ne podeljuje nobenega dostopa. Vljudnim botom le sporoča, da lahko berejo strani, ki so že javne. Vsakdo lahko ponaredi niz User-Agent, a ponarejevalec ne pridobi ničesar, česar vaše javne strani že ne dajo.

Če promet nadzorujete z WAF ali upraviteljem botov, nikoli ne dovolite le na podlagi User-Agent. Združite ga s preverjanjem vira. Identiteto našega pregledovalnika in obsege izhodnih IP, ko so vzpostavljeni, objavljamo na aidisclose.io/bot.json.

Zaženite pregledovalnik

Napredno

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

Zakleni skripto na točno določeno različico (SRI)

Zgoščena vrednost integritete v oznaki script prisili brskalnik, da zavrne izvajanje spremenjene datoteke. Pripnite verzionirani URL in ustvarite zgoščeno vrednost iz natančne datoteke, ki jo namestite:

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

Za strežnike, ki jih nadzorujete, postrezite preneseni ai-disclosure.json neposredno:

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>
Postrezite datoteko, gostovano na nadzorni plošči, z lastne domene

Vaš strežnik posreduje zahteve za tisti en naslov nam: datoteko urejate na nadzorni plošči, ta pa se še naprej postreže z vaše domene. Nadzorna plošča to prikaže vnaprej izpolnjeno z vašim ključem mesta.

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);
  }
};
Enostranske aplikacije in statični strežniki

Ogrodja, ki vsako pot prepišejo na index.html, in nekateri statični strežniki prestrežejo /.well-known/ai-disclosure.json ter vrnejo HTML vaše aplikacije s statusom 200. Datoteka je videti nameščena, vendar pregledovalnik prebere HTML namesto manifesta. Dve rešitvi: /.well-known/ izključite iz vseobsegajočega prepisovanja, da se statična datoteka postreže z vrsto application/json, ali pa v oznako script dodajte data-aidisclose="YOUR_SITE_KEY", da se naloži manifest, ki ga gosti AIDisclose, in datoteke sploh ni treba postreči.

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