Installationsguide
Två saker behöver vara aktiva på din webbplats: meddelandet som dina besökare ser, och en liten offentlig fil som deklarerar din AI-användning (yoursite.com/.well-known/ai-disclosure.json). Skripttaggen klistras in en gång, är identisk på varje sida, och din deklaration avgör vilka meddelanden som visas var. Välj din plattform nedan; de flesta tar ungefär tio minuter.
Banner och AI-etiketter som dina besökare ser på sidan.
ai-disclosure.json, en offentlig fil som kan läsas från din egen domän.
kontrollverktyget visar Nivå 2 · Renderad.
Välj din plattform
WordPress
Installera pluginet
I din WordPress-administration: Plugins → Add New → Upload Plugin, välj filen du laddade ner nedan och klicka sedan på Activate.
Låt det sköta båda uppgifterna
Pluginet visar meddelandena och publicerar din deklarationsfil automatiskt. Markera AI-innehåll på valfritt inlägg eller bild med dess "AI content"-växel. Inga kodändringar.
-
Verifiera
Klart när kontrollverktyget visar Nivå 2 · Renderad.
Kör kontrollverktyget
Shopify
Lägg till skriptet
Online Store → Themes → ⋯ → Edit code → theme.liquid: klistra in denna enda tagg precis före </body>. theme.liquid är den layout som varje sida renderas genom, så en inklistring täcker hela butiken. Shopify kan inte vara värd för filer i din domänrot, så taggen bär din AIDisclose-webbplatsnyckel (data-aidisclose) och laddar det manifest vi är värd för åt dig.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Länka din deklaration
Klistra in denna länk inuti <head> i samma fil. Din kontrollpanel visar båda raderna förifyllda med din webbplatsnyckel.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Detta är en tillåten metod enligt specifikationen.
-
Verifiera
Klart när kontrollverktyget visar Nivå 1 · Deklarerad med en notering. Det är det förväntade resultatet på den här plattformen, och det uppfyller kraven.
Kör kontrollverktyget
Webflow
Lägg till skriptet
Site settings → Custom code → Footer code: klistra in skriptblocket nedan och klicka sedan på Publish. Anpassad kod på webbplatsnivå laddas på varje sida.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Länka din deklaration
Lägg till deklarationslänkraden (andra blocket nedan) i Head code. Föredrar du att leverera filen från din egen domän? Använd proxyn under Avancerat om din DNS går via Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Detta är en tillåten metod enligt specifikationen.
-
Verifiera
Klart när kontrollverktyget visar Nivå 1 · Deklarerad med en notering. Det är det förväntade resultatet på den här plattformen, och det uppfyller kraven.
Kör kontrollverktyget
Squarespace
Lägg till skriptet
Settings → Advanced → Code Injection → Footer: klistra in skriptblocket nedan. Kodinjektion gäller för varje sida. Det kräver Business-planen.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Länka din deklaration
Lägg till deklarationslänkraden (andra blocket nedan) i Header injection.
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Detta är en tillåten metod enligt specifikationen.
-
Verifiera
Klart när kontrollverktyget visar Nivå 1 · Deklarerad med en notering. Det är det förväntade resultatet på den här plattformen, och det uppfyller kraven.
Kör kontrollverktyget
Google Tag Manager
Skapa taggen
New tag → Tag configuration → Custom HTML → klistra in skriptet. Triggering: All Pages (Page View). Använd inte en fördröjd eller scroll-baserad utlösare: informationsreglerna kräver meddelandet från första exponeringen. Publicera arbetsytan.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Publicera även din deklaration
Tag Manager hanterar bara meddelandena. Din deklarationsfil måste fortfarande göras aktiv: följ steget för din plattform i de andra flikarna, eller fliken Egen kod om du driver din egen webbplats.
-
Verifiera
Klart när kontrollverktyget visar Nivå 2 · Renderad.
Kör kontrollverktyget
Egen kod
Lägg till skriptet
En gång i din webbplatsmall eller layout, före </body>, så att det följer med varje sida. Produktionshärdning (versionslåsning, SRI) finns under Avancerat.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Leverera deklarationsfilen
ai-disclosure.json måste vara läsbar på /.well-known/ på din domän. På Vercel eller Netlify checkar du in filen. Om ditt ramverk skriver om varje rutt till index.html behöver den filen ett undantag: se Single-page-appar under Avancerat. nginx- och Apache-konfigurationer finns också under Avancerat.
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).-
Verifiera
Klart när kontrollverktyget visar Nivå 2 · Renderad.
Kör kontrollverktyget
Verifiera
Kör kontrollverktyget. Det bekräftar tre saker: din deklarationsfil är giltig, skriptet körs, och meddelandena visas faktiskt på sidan. (För utvecklare: kontrollerna C1, C3 och C4 till C6.)
Om din webbplats blockerar vårt kontrollverktyg (AIDiscloseBot)
Skanningar och bevisregistreringar kommer från AIDiscloseBot/1.0. Den läser endast offentliga sidor: den loggar aldrig in, skickar aldrig formulär och följer robots.txt. Om din robots.txt eller ditt robotskydd blockerar okända sökrobotar, tillåt den uttryckligen:
User-agent: AIDiscloseBot
Allow: /
Är det en risk att tillåta den? Nej. En tillåtelse i robots.txt ger ingen åtkomst. Den talar bara om för artiga robotar att de får läsa sidor som redan är offentliga. Vem som helst kan förfalska en User-Agent-sträng, men en förfalskare får inget som dina offentliga sidor inte redan ger.
Om du styr trafik med en WAF eller robothanterare, tillåt aldrig enbart baserat på User-Agent. Kombinera det med källverifiering. Vi publicerar vår sökrobots identitet, och egress-IP-intervallen allteftersom de tillhandahålls, på aidisclose.io/bot.json.
Avancerat
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Lås skriptet till en exakt version (SRI)
En integritetshash i skripttaggen gör att webbläsaren vägrar köra en modifierad fil. Lås den versionshanterade URL:en och generera hashen från exakt den fil du distribuerar:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Leverera filen själv (nginx / Apache)
För servrar du kontrollerar, leverera den nedladdade ai-disclosure.json direkt:
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>
Leverera den kontrollpanelsvärdda filen från din egen domän
Din server vidarebefordrar förfrågningar för den enda adressen till oss: du redigerar filen i kontrollpanelen, och den levereras fortfarande från din domän. Kontrollpanelen visar dessa förifyllda med din webbplatsnyckel.
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);
}
};
Single-page-appar och statiska värdar
Ramverk som skriver om varje rutt till index.html, och vissa statiska värdar, fångar upp /.well-known/ai-disclosure.json och returnerar din apps HTML med statuskod 200. Filen ser incheckad ut, men kontrollverktyget läser HTML i stället för manifestet. Två lösningar: undanta /.well-known/ från catch-all-omskrivningen så att den statiska filen levereras med typen application/json, eller lägg till data-aidisclose="YOUR_SITE_KEY" i skripttaggen för att läsa in det AIDisclose-hostade manifestet och slippa leverera filen helt.
# 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" }
] }