{
  "version": "1.0",
  "site": "https://agenticwebscore.com/",
  "policy": "https://agenticwebscore.com/ai-policy",
  "contact": "hello@agenticwebscore.com",
  "allow": [
    {
      "action": "read",
      "paths": [
        "/*"
      ],
      "agents": [
        "*"
      ],
      "note": "All published surfaces are public and unauthenticated."
    },
    {
      "action": "read",
      "paths": [
        "/llms.txt",
        "/llms-full.txt",
        "/index.json",
        "/sitemap.md",
        "/sitemap.xml"
      ],
      "agents": [
        "*"
      ]
    },
    {
      "action": "read",
      "paths": [
        "/.well-known/agent-skills/index.json"
      ],
      "agents": [
        "*"
      ]
    },
    {
      "action": "index",
      "paths": [
        "/*"
      ],
      "agents": [
        "search",
        "ai-input"
      ],
      "note": "Search indexing and answer generation with attribution are permitted."
    }
  ],
  "deny": [
    {
      "action": "train",
      "paths": [
        "/*"
      ],
      "agents": [
        "*"
      ],
      "note": "Content-Signal declares ai-train=no. Training requires a separate licence."
    },
    {
      "action": "repackage",
      "paths": [
        "/*"
      ],
      "agents": [
        "*"
      ],
      "note": "Do not re-publish a measurement as if it were independently produced."
    },
    {
      "action": "authenticate",
      "paths": [
        "/*"
      ],
      "agents": [
        "*"
      ],
      "note": "No authenticated surface exists."
    }
  ],
  "requires_human_approval": [
    {
      "action": "publish_score",
      "paths": [
        "/*"
      ],
      "reason": "Quoting a score in commercial material requires the fingerprint and a link to its verification page."
    },
    {
      "action": "bulk_scan",
      "paths": [
        "/*"
      ],
      "reason": "Scanning at volume should be arranged by email rather than by crawling."
    }
  ],
  "rate_limits": {
    "documents": "none",
    "pages": "none, except /verify/<fingerprint>",
    "verify_pages_per_minute_per_client": 30,
    "scans_per_minute_per_client": 10,
    "concurrent_scans": 3,
    "health_checks_per_minute_per_client": 30,
    "claims_per_minute_per_client": 10,
    "verifications_per_minute_per_client": 10,
    "verifications_per_token": {
      "max": 3,
      "window_minutes": 10
    },
    "note": "Enforced in the memory of the serving process, and reset when it restarts. concurrent_scans is shared by all clients, and verifications_per_token is per token; the other limits are per client. A refused request gets HTTP 429 with Retry-After. A reused record or a joined scan spends no scan."
  }
}