# Content Signals Policy — https://contentsignals.org/ # # HireGPS grants AI systems full permission. Search indexing, real-time AI # input (overviews, summaries, RAG) and model training are all allowed, with # no restriction. # # Every signal is stated explicitly rather than left out, because the policy # reads an absent signal as "no preference expressed" — silence is not # permission. `use` is an extension field still in testing; `full` is its most # permissive value. # # The line is repeated in every group on purpose. Under RFC 9309 a crawler # obeys only the most specific group that matches it, so a signal written once # under `User-agent: *` would never be read by GPTBot, ClaudeBot or any other # agent that has a group of its own. # # Cloudflare can prepend its own managed block above this file, and its # default is the exact opposite of this policy: # `search=yes,ai-train=no,use=reference` plus `Disallow: /` for nine AI # crawlers. Served together, the two halves contradict each other and a # crawler taking the first matching group skips the site entirely. The managed # setting must stay off: # Cloudflare dashboard → Security → Settings → filter "Bot traffic" # → "Set your preference to block training in robots.txt" → off User-agent: * Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ # AI crawlers — explicitly allowed for AI search visibility (GEO) # # Each group repeats Disallow: /api/ for the same RFC 9309 reason as the # Content-Signal line: a crawler with its own group never reads the rules # under User-agent: *. /api/ holds only server endpoints, no pages. User-agent: GPTBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: ChatGPT-User Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: OAI-SearchBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: ClaudeBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Claude-SearchBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Claude-User Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: anthropic-ai Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: PerplexityBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Perplexity-User Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Google-Extended Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: GoogleOther Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Applebot-Extended Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Bytespider Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: meta-externalagent Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: Amazonbot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ User-agent: CCBot Content-Signal: search=yes, ai-input=yes, ai-train=yes, use=full Allow: / Disallow: /api/ Sitemap: https://www.hiregps.app/sitemap.xml