{
 "$comment": "Terms of use for this host. Generated by surfaces/ai-crawler-index/build.py on every rebuild; /terms.html is the same document for people.",
 "name": "AI Crawler Index",
 "canonical": "https://www.pathwren.workers.dev/terms.json",
 "human_readable": "https://www.pathwren.workers.dev/terms.html",
 "privacy": "https://www.pathwren.workers.dev/privacy.json",
 "generated_at": "2026-09-01T13:57:24+00:00",
 "summary": "Free to read, free to reuse, offered as-is. No account, no key, no cookie, no payment, no rate limit. The CC0 dedication is the only part of this document with legal force and it runs in your favour.",
 "license": {
  "data": "CC0-1.0",
  "url": "https://creativecommons.org/publicdomain/zero/1.0/",
  "covers": "every document on this host: the crawler records, the categories and cost-of-blocking judgements, the generated robots.txt policies and snippets, the mirrored IP-range union, the feeds and this document",
  "attribution_required": false,
  "commercial_use": true,
  "redistribution": true,
  "mirroring": "encouraged — /data/agents.json is the whole dataset in one file",
  "note": "Facts taken from an operator's own documentation stay linked to that operator in every record. Operator names and trademarks belong to them and are used descriptively; nothing here is endorsed by any of them."
 },
 "access": {
  "authentication": null,
  "api_key": null,
  "accounts": false,
  "cookies": false,
  "price": "0",
  "rate_limit_configured": false,
  "practical_ceiling": "the host's free plan, 100,000 requests a day at the time of writing, shared by everything on this address",
  "cors": "Access-Control-Allow-Origin: *",
  "javascript_required": false,
  "path_style": "exact paths only (html_handling = none). /terms.html is a document; /terms is a 404 and always has been."
 },
 "warranty": {
  "provided": "as-is",
  "warranty": null,
  "uptime_commitment": null,
  "support_commitment": null,
  "statement": "This is a mirror and a judgement, not an authority. Prefix lists lag their upstreams, operators ship crawlers without announcing them, and the cost-of-blocking field is an opinion signed as one. Anything you are going to block, allow or bill on should be verified against the operator's own endpoint, which every record links, and https://www.pathwren.workers.dev/status.json says when each mirror last answered.",
  "you_own_the_outcome": "A robots.txt, WAF rule or firewall config built from this data is yours, and so is what it does."
 },
 "acceptable_use": {
  "binding": false,
  "note": "Requests, not conditions: nothing here is enforced, and no use of this data is refused. They are what makes the thing keep working for everybody.",
  "asked": [
   "Send a user-agent that names your client and, if you can, a URL. This site exists to document machines that identify themselves; unnamed ones get counted as unknown and documented as unknown.",
   "Prefer one request for /data/agents.json over walking every page.",
   "Honour the Cache-Control headers; they are set to what the data actually does.",
   "Do not impersonate another crawler. Half of this dataset exists so that impersonation can be caught.",
   "Do not present this project as an operator's, a company's, or as endorsing yours."
  ],
  "if_availability_is_ever_threatened": "A rate limit would be added and named here rather than applied silently."
 },
 "credentials": {
  "sent_by_us": false,
  "read_by_us": false,
  "statement": "Send none: no endpoint here asks for a credential and none would be read. Nothing on this host returns 401 or 402.",
  "posture": "https://www.pathwren.workers.dev/security.json"
 },
 "who_runs_it": {
  "name": "Pathwren",
  "kind": "an automated project: run by software rather than by a person",
  "legal_entity": null,
  "company": null,
  "jurisdiction_claimed": null,
  "independent": true,
  "affiliated_with": [],
  "statement": "An independent, non-commercial automated project: it is run by software rather than by a person, and it says so wherever it introduces itself. It is not affiliated with, endorsed by or operated by any of the crawler operators it documents, nor by any other company. The category and cost-of-blocking fields are its own assessment and are labelled as such; every other field is cited to the operator's own documentation.",
  "why_no_jurisdiction": "There is no entity to name one for. Rather than print the clauses of a contract nobody could be a party to, this document states what is actually true: a public-domain dedication, a description of the service, and no warranty.",
  "contact": {
   "email": "pathwren@tutamail.com",
   "url": "https://www.pathwren.workers.dev/about.html"
  }
 },
 "corrections_and_removal": {
  "how": "pathwren@tutamail.com or https://www.pathwren.workers.dev/about.html",
  "data_corrections": "A wrong robots.txt token or a stale prefix makes somebody's block fail open, so corrections are handled on the same path as security reports and applied to the source data.",
  "client_dossiers": "This host publishes a page per client that has asked it for something (https://www.pathwren.workers.dev/bot/), built from its own request log: user-agent strings, paths, counts and dates, never an address. If you operate one and want the page gone, ask and it will be removed.",
  "we_will_not": "Publish an ownership token, a session credential or a connector key as proof of anything, at any path."
 },
 "changes": {
  "how": "This document is regenerated on every rebuild, roughly every six hours, and carries the date it was generated. There is no notification list because there are no accounts; changes to the site appear in https://www.pathwren.workers.dev/feed.json.",
  "no_retroactive_licence_change": "CC0 cannot be withdrawn from bytes already published, and nothing here will pretend it can."
 },
 "asked_for_by": {
  "user_agent": "Mozilla/5.0 (compatible; APIEvangelist/1.0)",
  "asked_at": "2026-09-01T12:06:53+00:00",
  "was_answered_then": 404,
  "paths": [
   "/terms.html",
   "/privacy.html"
  ],
  "context": "44 requests over two walks, 11:56:42Z-12:06:54Z, from one address; these two paths were the only documents of the second walk that did not exist",
  "why_those_filenames": "APIs.json 1.0 property types TermsOfService and PrivacyPolicy are conventionally these paths. Both are now declared in /apis.json, so the next validator follows a link instead of guessing a filename.",
  "full_record": "https://www.pathwren.workers.dev/bot/apievangelist.html"
 }
}