{
  "tool_id": "art-593-webbotauth-nonce-replay-check",
  "tool_version": "1.0.0",
  "display_name": "Web Bot Auth Nonce & Replay-Window Checker",
  "mcp_name": "check_webbotauth_nonce_replay",
  "mandate_type": "compliance_control",
  "wave": 99,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-593-webbotauth-nonce-replay-check.html",
  "description": "Checks a Visa TAP-shaped nonce for format (minimum entropy, base64url), freshness against a caller-supplied now_unix (created/expires spread capped at TAP's 8-minute limit), and an optional caller-supplied seen-nonce record. This kernel is a pure function invoked fresh per call with zero persistent storage -- it cannot itself remember whether a nonce was seen on a prior invocation. Replay prevention depends entirely on the caller supplying an accurate seen-nonce record from its own storage; this verifier is stateless and cannot detect replay on its own. Zero network calls; never a facilitator, proxy, or settlement relay. Feeds the signatures-directory validator (art-130) in the visa-tap-agent-verification chain.",
  "input_schema_ref": "chaingraph/art-593-webbotauth-nonce-replay-check.html#manifest",
  "consumes": [],
  "feeds": [
    "art-130-signature-directory-validator"
  ],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:4d4491d75002a02d8a1448ca25e0aa851ccd4ea646dccde0afdd5d745f48967b","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-10"}],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "Ir0NHf5Vgg+OOyem83As19Zvx658HM8LcfbeOJenUaUQdCo9+kgTYFQE1gPTYMlmBg/jcOLZJMiLzK0Ch1ARRAhH4tjfd5NrqBZFgCVuJd7OkCzENC0WqNqJwZy8N1LtGOqEXr45RAFeN3RLQcBuSrVLtvubn4C+3/+AIZWouAoN5jPpdrapPMJHN3pcvPltisycR0DfUcQa+2ON+HnrHChB9vBlOUH/iwL69hYYRSebCwWhYqjyg4epcsjeK0nOCmndK9i97qQ+41UJYSgXyvPfpbQbT2Z+FMe+/SJE1hwuPU/zhq0iwtJ7jNOUo/0aEegP7+2/e/jV1RTmYAazOg==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:4d4491d75002a02d8a1448ca25e0aa851ccd4ea646dccde0afdd5d745f48967b",
      "output": {
        "already_used": false,
        "format_ok": true,
        "fresh": true,
        "nonce_valid": true,
        "spread_ok": true,
        "verdict": "ACCEPT"
      }
    }
  }
}
