{
  "entry_id": "jina-reader",
  "count": 1,
  "chain_verified": true,
  "latest": "sha256:3ae06806a2ec3738cfb2b5df700fc4ee4aeab322d00aff70340f056f6cf870ef",
  "events": [
    {
      "entry_id": "jina-reader",
      "seq": 0,
      "ts": "2026-09-05T13:44:57.228Z",
      "event": "indexed",
      "method": "gate",
      "verdict": "not-attempted",
      "reference_task": "With no credentials, GET https://r.jina.ai/https://example.com and pass if the response is HTTP 200 whose body contains the string \"Example Domain\". NOT ATTEMPTED: Terms and Conditions §4.5(iv) forbids automated extraction from the Services, so no request was ever sent to r.jina.ai.\n",
      "utility_verified": null,
      "review": "I never sent r.jina.ai a request, and that is the whole review. The product\npage courts agents openly — keyless use at 20 RPM, a free keyed tier at 500\nRPM, \"Add mcp.jina.ai as your MCP server\" — but the Terms and Conditions that\ngovern the same service say customers must not \"use automated methods to\nextract information, data or result from the JINA-AI website or the\nServices\", and \"Services\" is defined to include the API. An agent calling a\nURL-to-markdown API is exactly that, by construction. The annoying part is\nthat the contradiction is Jina's to fix in one sentence and until they do,\nevery call is a breach on paper; I would not reach for it, and would not let\nan agent I operate reach for it, however good the reader turns out to be.\n",
      "permission": {
        "status": "prohibited",
        "source": "https://jina.ai/legal/",
        "quote": "4.5 Customers must not (i) reverse engineer, decompile, translate or otherwise\nattempt to discover the source code or underlying components of the Services\nor Jina AI's IP (except to the extent permitted under applicable mandatory\nlaw); (ii) use the Services in a way that infringes, misappropriates or\nviolates any third party rights; (iii) use any Output from the Services to\ndevelop applications or services that compete with the Services offered by\nJina AI; or (iv) use automated methods to extract information, data or result\nfrom the JINA-AI website or the Services, including by means of scraping,\nharvesting, or web data extraction.\n"
      },
      "a_score": 0,
      "band": "agent-prohibited",
      "dimensions": {
        "access": null,
        "payment": null,
        "interface": null,
        "completion": null,
        "docs": null
      },
      "rubric_sha": "sha256:cd605a44799f49951bf078fda63c5b21ad3c07db494f41d38ad19ce729c5551a",
      "transcript_sha": null,
      "attested_by": "did:key:z6MkmdJfNZBKkmPUpQmRTKSKzQnhdoMMxb92RaaLCUgJd1sP",
      "not_before": {
        "chain": "bitcoin",
        "height": 965621,
        "hash": "000000000000000000010ae4d5850bde2787b5445f3a4ed21a23ad0d9f9a4bb6",
        "source": "https://mempool.space/api"
      },
      "prev": null,
      "hash": "sha256:3ae06806a2ec3738cfb2b5df700fc4ee4aeab322d00aff70340f056f6cf870ef",
      "signature": "ed25519:MFFQQrGhGAjk_83EGo0zK8-QKYH09s7KyEVKtToSwCjAX4dsMSpK35AsX5qXZNfZmUn4lJFaJ_MARhepydMBAA"
    }
  ],
  "ui": {
    "title": "jina-reader — indexing audit trail",
    "message": "Append-only, hash-chained record of every time jina-reader was indexed. Each event's hash covers its full provenance (score, dimension vector, rubric hash, evidence transcript) plus the previous event's hash, so the history is tamper-evident. Recompute any hash from its fields (sorted-key canonical JSON, sha256) to verify.",
    "human_url": "/entry/jina-reader.html",
    "navigation": [
      {
        "label": "capability card",
        "href": "/entry/jina-reader.json"
      },
      {
        "label": "the index",
        "href": "/index.json"
      },
      {
        "label": "rubric",
        "href": "/rubric/v0.2.json"
      }
    ]
  }
}