# kvasir.legal — robots.txt # # Diese Datei ist die vollstaendige und massgebliche Fassung: sie traegt das # Content-Signal und die Trainings-Crawler-Regeln selbst, ist also nicht auf # vorgeschaltete Filter angewiesen. # # Content-Signals (contentsignals.org) — Suche ja, Training nein. Die # Beschraenkung ist ein ausdruecklicher Rechtevorbehalt nach Art. 4 der # Richtlinie (EU) 2019/790 (DSM-RL). Denselben Vorbehalt traegt standardkonform # das TDM Reservation Protocol unter /.well-known/tdmrep.json — die Zeile unten # ist eine herstellereigene Direktive, die strenge Validatoren melden. # Deckungsgleich mit den Nutzungsbedingungen (Massen-Scraping zum Aufbau eines # Konkurrenzdatenbestands ist untersagt) — bewusst ohne Ziffer, die # Nummerierung der AGB bewegt sich noch. # # search Suchindex und Suchergebnisse (Links, kurze Auszuege) -> erlaubt # ai-train Training oder Fine-Tuning von Modellen -> untersagt # use wie KI-Systeme den Inhalt konsumieren duerfen -> reference User-agent: * Disallow: /admin/ Disallow: /admin/login # Drei oeffentliche /api-Pfade bleiben crawlbar: sie sind Dokumentation, keine # Daten-Endpunkte, und llms.txt verweist auf sie. Laengster Treffer gewinnt, # die Allow-Zeilen stechen also das folgende "Disallow: /api/". Allow: /api/v1/status Allow: /api/v1/schema Allow: /api/v1/openapi.json Disallow: /api/ Disallow: /account Disallow: /login Disallow: /invite # Nur die App selbst sperren, nicht jeden Pfad, der mit "app" beginnt: # ein blosses "Disallow: /app" trifft per Praefix-Match auch die Gesetz-Hubs # /appgeomafpo und /appropruefvergvo samt ihrer Normen (19 Sitemap-URLs). Disallow: /app$ Disallow: /app/ Disallow: /app? Allow: / # Nicht-Standard-Direktive (contentsignals.org): RFC-9309-Parser ignorieren # unbekannte Zeilen, strenge Validatoren melden sie. Steht deshalb HINTER den # Regeln — ein Parser, der hier abbricht, hat Allow/Disallow schon gelesen. Content-Signal: search=yes,ai-train=no,use=reference # KI-Trainings-Crawler — ausgeschlossen (siehe ai-train=no). # # Entscheidend ist die Unterscheidung je Anbieter: derselbe Anbieter faehrt # getrennte Agents fuer Training und fuer Antworten/Suche. Geblockt wird nur # der Trainings-Agent, der Antwort-Agent faellt unter "User-agent: *": # # OpenAI GPTBot (Training) -> block | OAI-SearchBot, ChatGPT-User -> frei # Anthropic ClaudeBot (Training) -> block | Claude-SearchBot, Claude-User -> frei # Google Google-Extended -> block | Googlebot -> frei # Perplexity — | PerplexityBot, Perplexity-User -> frei # # Die Antwort-Agents stehen hier bewusst NICHT als eigene Gruppe: robots.txt # vererbt zwischen Gruppen NICHT, eine eigene Gruppe wuerde ihnen also auch # /admin/ und /api/ oeffnen. Sie sollen unter "*" mit search=yes laufen. # # Was hier steht, ist nur die Haelfte der Durchsetzung — die andere sitzt in # Cloudflare (AI Crawl Control + WAF). Weichen beide voneinander ab, gilt am # Ende Cloudflare. Siehe docs/gtm/sichtbarkeit.md. User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CloudflareBrowserRenderingCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: meta-externalagent Disallow: / Sitemap: https://kvasir.legal/sitemap.xml