Installationsanleitung
Zwei Dinge müssen auf Ihrer Website live sein: der Hinweis, den Ihre Besucher sehen, und eine kleine öffentliche Datei, die Ihre KI-Nutzung deklariert (ihre-website.de/.well-known/ai-disclosure.json). Das Snippet-Tag wird einmal eingefügt, ist auf jeder Seite identisch, und Ihre Deklaration entscheidet, welche Hinweise wo erscheinen. Wählen Sie unten Ihre Plattform; die meisten dauern etwa zehn Minuten.
Banner und KI-Kennzeichnungen, die Ihre Besucher auf der Seite sehen.
ai-disclosure.json, eine öffentliche Datei, lesbar von Ihrer eigenen Domain.
der Checker Stufe 2 · Dargestellt anzeigt.
Wählen Sie Ihre Plattform
WordPress
Plugin installieren
In Ihrer WordPress-Verwaltung: Plugins → Installieren → Plugin hochladen, wählen Sie die unten heruntergeladene Datei und klicken Sie dann auf Aktivieren.
Beide Aufgaben erledigen lassen
Das Plugin zeigt die Hinweise an und veröffentlicht Ihre Deklarationsdatei automatisch. Markieren Sie KI-Inhalte in jedem Beitrag oder Bild mit dem Schalter "KI-Inhalt". Keine Code-Änderungen.
-
Überprüfen
Fertig, wenn der Checker Stufe 2 · Dargestellt anzeigt.
Checker ausführen
Shopify
Snippet hinzufügen
Onlineshop → Themes → ⋯ → Code bearbeiten → theme.liquid: Fügen Sie dieses eine Tag direkt vor </body> ein. theme.liquid ist das Layout, durch das jede Seite dargestellt wird, sodass ein Einfügen den gesamten Shop abdeckt. Shopify kann keine Dateien im Domain-Root hosten, daher trägt das Tag Ihren AIDisclose-Site-Key (data-aidisclose) und lädt das Manifest, das wir für Sie hosten.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Deklaration verlinken
Fügen Sie diesen Link innerhalb von <head> in dieselbe Datei ein. Ihr Dashboard zeigt beide Zeilen mit Ihrem Site-Key vorausgefüllt.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dies ist eine nach der Spezifikation zulässige Methode.
-
Überprüfen
Fertig, wenn der Checker Stufe 1 · Deklariert mit einem Hinweis anzeigt. Das ist das erwartete Ergebnis auf dieser Plattform, und es ist konform.
Checker ausführen
Webflow
Snippet hinzufügen
Site settings → Custom code → Footer code: Fügen Sie den Snippet-Block unten ein und dann Publish. Site-weiter Custom Code lädt auf jeder Seite.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Deklaration verlinken
Fügen Sie im Head code die Zeile mit dem Deklarationslink hinzu (zweiter Block unten). Möchten Sie die Datei lieber von Ihrer eigenen Domain ausliefern? Nutzen Sie den Proxy unter Erweitert, falls Ihr DNS über Cloudflare läuft.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dies ist eine nach der Spezifikation zulässige Methode.
-
Überprüfen
Fertig, wenn der Checker Stufe 1 · Deklariert mit einem Hinweis anzeigt. Das ist das erwartete Ergebnis auf dieser Plattform, und es ist konform.
Checker ausführen
Squarespace
Snippet hinzufügen
Settings → Advanced → Code Injection → Footer: Fügen Sie den Snippet-Block unten ein. Code Injection gilt für jede Seite. Es erfordert den Business-Plan.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Deklaration verlinken
Fügen Sie unter Header injection die Zeile mit dem Deklarationslink hinzu (zweiter Block unten).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">Dies ist eine nach der Spezifikation zulässige Methode.
-
Überprüfen
Fertig, wenn der Checker Stufe 1 · Deklariert mit einem Hinweis anzeigt. Das ist das erwartete Ergebnis auf dieser Plattform, und es ist konform.
Checker ausführen
Google Tag Manager
Tag erstellen
Neues Tag → Tag-Konfiguration → Benutzerdefiniertes HTML → Snippet einfügen. Trigger: Alle Seiten (Seitenaufruf). Verwenden Sie keinen verzögerten oder Scroll-Trigger: Die Kennzeichnungsregeln verlangen den Hinweis ab der ersten Exposition. Veröffentlichen Sie den Arbeitsbereich.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Auch Ihre Deklaration veröffentlichen
Tag Manager kümmert sich nur um die Hinweise. Ihre Deklarationsdatei muss trotzdem live gehen: Folgen Sie dem Schritt für Ihre Plattform in den anderen Tabs, oder dem Tab Eigener Code, wenn Sie Ihre eigene Website betreiben.
-
Überprüfen
Fertig, wenn der Checker Stufe 2 · Dargestellt anzeigt.
Checker ausführen
Eigener Code
Snippet hinzufügen
Einmal in Ihr Website-Template oder Layout, vor </body>, damit es mit jeder Seite ausgeliefert wird. Produktionshärtung (Versions-Pinning, SRI) finden Sie unter Erweitert.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Deklarationsdatei ausliefern
ai-disclosure.json muss unter /.well-known/ auf Ihrer Domain lesbar sein. Bei Vercel oder Netlify checken Sie die Datei ein. Wenn Ihr Framework jede Route auf index.html umschreibt, benötigt diese Datei eine Ausnahme: siehe Single-Page-Apps unter Erweitert. nginx- und Apache-Konfigurationen finden Sie ebenfalls unter Erweitert.
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).-
Überprüfen
Fertig, wenn der Checker Stufe 2 · Dargestellt anzeigt.
Checker ausführen
Überprüfen
Führen Sie den Checker aus. Er bestätigt drei Dinge: Ihre Deklarationsdatei ist gültig, das Snippet läuft, und die Hinweise erscheinen tatsächlich auf der Seite. (Für Techniker: Prüfungen C1, C3 und C4 bis C6.)
Wenn Ihre Website unseren Checker (AIDiscloseBot) blockiert
Prüfungen und Nachweisaufnahmen kommen von AIDiscloseBot/1.0. Er liest nur öffentliche Seiten: Er meldet sich nie an, sendet nie Formulare ab und befolgt robots.txt. Wenn Ihre robots.txt oder Ihr Bot-Schutz unbekannte Crawler blockiert, erlauben Sie ihn ausdrücklich:
User-agent: AIDiscloseBot
Allow: /
Ist das Erlauben ein Risiko? Nein. Eine Freigabe in der robots.txt gewährt keinen Zugriff. Sie teilt höflichen Bots nur mit, dass sie bereits öffentliche Seiten lesen dürfen. Jeder kann einen User-Agent-String fälschen, aber ein Fälscher gewinnt nichts, was Ihre öffentlichen Seiten nicht ohnehin schon preisgeben.
Wenn Sie den Datenverkehr mit einer WAF oder einem Bot-Manager filtern, setzen Sie nie allein auf den User-Agent für die Freigabe. Kombinieren Sie sie mit einer Quellenverifizierung. Wir veröffentlichen unsere Crawler-Identität und die Egress-IP-Bereiche, sobald sie bereitgestellt werden, unter aidisclose.io/bot.json.
Erweitert
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Das Skript auf eine exakte Version festlegen (SRI)
Ein Integritäts-Hash im Script-Tag bewirkt, dass der Browser eine veränderte Datei nicht ausführt. Fixieren Sie die versionierte URL und erzeugen Sie den Hash aus genau der Datei, die Sie bereitstellen:
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Die Datei selbst ausliefern (nginx / Apache)
Für Server, die Sie kontrollieren, liefern Sie die heruntergeladene ai-disclosure.json direkt aus:
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>
Die im Dashboard gehostete Datei von Ihrer eigenen Domain ausliefern
Ihr Server leitet Anfragen an diese eine Adresse an uns weiter: Sie bearbeiten die Datei im Dashboard, und sie wird weiterhin von Ihrer Domain ausgeliefert. Das Dashboard zeigt diese mit Ihrem Site-Key vorausgefüllt.
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-Apps und statische Hosts
Frameworks, die jede Route auf index.html umschreiben, sowie manche statische Hosts fangen /.well-known/ai-disclosure.json ab und geben das HTML Ihrer App mit dem Status 200 zurück. Die Datei wirkt eingecheckt, aber der Checker liest HTML statt des Manifests. Zwei Lösungen: Nehmen Sie /.well-known/ von der Catch-all-Umschreibung aus, damit die statische Datei mit dem Typ application/json ausgeliefert wird, oder fügen Sie dem Skript-Tag data-aidisclose="YOUR_SITE_KEY" hinzu, um das von AIDisclose gehostete Manifest zu laden und die Datei gar nicht erst auszuliefern.
# 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" }
] }