# As a condition of accessing this website, you agree to abide by the following # content signals: # (a) If a Content-Signal = yes, you may collect content for the corresponding # use. # (b) If a Content-Signal = no, you may not collect content for the # corresponding use. # (c) If the website operator does not include a Content-Signal for a # corresponding use, the website operator neither grants nor restricts # permission via Content-Signal with respect to the corresponding use. # The content signals and their meanings are: # search: building a search index and providing search results (e.g., returning # hyperlinks and short excerpts from your website's contents). Search does not # include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models (e.g., retrieval # augmented generation, grounding, or other real-time taking of content for # generative AI search answers). # ai-train: training or fine-tuning AI models. # use: how AI systems may consume the content (immediate, reference, or full). # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF # RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT # AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET. # BEGIN Cloudflare Managed content User-agent: * Content-Signal: search=yes,ai-train=no,use=reference Allow: / 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: / # END Cloudflare Managed Content # Teloris # # Read this site to answer someone's question — that's what it's for. Absorb it # into a model's weights — that isn't. Our position in full is at /ai-use, which # is the authoritative statement; everything here is a courtesy signal. # # This file deliberately declares NO `User-agent` group and NO Content-Signal. # # Cloudflare injects its own at the edge (the "Cloudflare Managed Content" block # above this one), and it already draws the line we want: `ai-train=no`, backed by # an explicit `Disallow: /` for the training crawlers — GPTBot, CCBot, ClaudeBot, # Google-Extended, Applebot-Extended, Bytespider, Amazonbot, meta-externalagent — # while the assistants that read a page to answer a person (OAI-SearchBot, # PerplexityBot, ChatGPT-User) are left free to do it. A Disallow has teeth a # Content-Signal doesn't. # # A second `User-agent: *` group here would MERGE with Cloudflare's under RFC 9309 # and hand crawlers two Content-Signal lines that disagree — worse than one we # didn't write. It also made /ai-use point at a file contradicting itself, which # is a bad look on a page whose whole job is stating our legal position. # # Cloudflare's block leaves `ai-input` unstated, which under the Content Signals # spec neither grants nor restricts it. /ai-use §4 grants it expressly instead. # # Removing the managed block is a Cloudflare zone setting, not a code change. If # it ever goes away, this file declares nothing — bring the group back here then, # and update /ai-use with it. `src/__tests__/marketing-sitemap.test.ts` holds the # two halves together. Sitemap: https://teloris.ai/sitemap.xml