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.

1 · Hinweise anzeigen

Banner und KI-Kennzeichnungen, die Ihre Besucher auf der Seite sehen.

2 · Deklaration veröffentlichen

ai-disclosure.json, eine öffentliche Datei, lesbar von Ihrer eigenen Domain.

Fertig sind Sie, wenn

der Checker Stufe 2 · Dargestellt anzeigt.

Wählen Sie Ihre Plattform

WordPress

  1. Plugin installieren

    In Ihrer WordPress-Verwaltung: Plugins → Installieren → Plugin hochladen, wählen Sie die unten heruntergeladene Datei und klicken Sie dann auf Aktivieren.

    AIDisclose-Plugin herunterladen (.zip)

  2. 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.

  3. Ü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.)

Checker ausführen

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:

robots.txt
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.

Checker ausführen

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:

shell
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:

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>
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.

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);
  }
};
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 / 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" }
] }