# 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: / # Training crawlers User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: Diffbot Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: omgili Disallow: / User-agent: anthropic-ai Disallow: / User-agent: Claude-Web Disallow: / User-agent: cohere-ai Disallow: / User-agent: MistralAI-Training Disallow: / User-agent: meta-externalagent Disallow: / User-agent: GoogleOther Disallow: / User-agent: Baiduspider Disallow: / User-agent: PetalBot Disallow: / User-agent: AwarioSmartBot User-agent: AwarioRssBot Disallow: / User-agent: Google-CloudVertexBot Disallow: / User-agent: QualifiedBot Disallow: / User-agent: Cotoyogi Disallow: / User-agent: ICC-Crawler Disallow: / User-agent: atlassian-bot Disallow: / User-agent: FishBot Disallow: / User-agent: BorderxBot Disallow: / User-agent: NavuBot Disallow: / User-agent: SemrushBot-SWA Disallow: / User-agent: WARDBot Disallow: / User-agent: magpie-crawler Disallow: / User-agent: KimiBot Disallow: / User-agent: CitibotSiteCrawler Disallow: / # END Cloudflare Managed Content # Zanbug — https://zanbug.com # # Every crawler may read all four languages of the public site; only the panel # is closed. The product is meant to be found when someone asks an assistant # "self-hosted error tracking for Laravel", so the AI groups below are allowed # rather than merely unmentioned. # # Cloudflare's managed robots.txt — which prepended "Disallow: /" for every AI # crawler ahead of this file — was switched off on 2026-08-19, so what you read # here is now the whole answer. The rules stay written the defensive way anyway: # that setting is one dashboard click from coming back, and a file that only # works while a setting stays off is a file that breaks silently. User-agent: * Disallow: /app/ Disallow: /admin/ Disallow: /api/ Disallow: /payment/ Disallow: /github/ Disallow: /live/ Disallow: /share/ # AI assistants and answer engines — allowed on the public pages, blocked from # the panel like everyone else. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-Web User-agent: anthropic-ai User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot User-agent: Amazonbot User-agent: meta-externalagent User-agent: cohere-ai User-agent: YouBot # Stated on the AI groups themselves rather than on "User-agent: *", so they # survive anything an edge product prepends to a wildcard group. Content-Signal: search=yes,ai-input=yes,ai-train=yes,use=full # "Allow: /" would only TIE with Cloudflare's "Disallow: /" — same length, and # parsers break that tie differently (Google takes the least restrictive, others # take the first group and stay out). Every rule below is LONGER than "/", so # longest-match makes the answer the same everywhere. Allow: /* Allow: /$ Allow: /az Allow: /ru Allow: /tr Allow: /integrations/ Allow: /llms.txt Allow: /sitemap.xml # Longer than "/*", so the panel stays out of reach for them too. Disallow: /app/ Disallow: /admin/ Disallow: /api/ Disallow: /payment/ Disallow: /github/ Disallow: /live/ Disallow: /share/ # Bytespider scrapes for training and sends no visitors back. Cloudflare's # managed block used to be the only thing keeping it out; naming it here is why # turning that block off changed nothing for anyone we actually want. User-agent: Bytespider Disallow: / # What this site is, for assistants that read it. # https://llmstxt.org Sitemap: https://zanbug.com/sitemap.xml # IndexNow key file: /20e2dc89002317779c8ba4ac11594490.txt # Bing and Yandex accept a direct "these URLs changed" ping instead of waiting # for a crawl. Google does not participate — there it is sitemap plus patience.