{
  "entry_id": "nominatim",
  "count": 1,
  "chain_verified": true,
  "latest": "sha256:8e8be29bf9112ca5d404d302c4aa486ebf4a886c38847efa2e53f50075be9840",
  "events": [
    {
      "entry_id": "nominatim",
      "seq": 0,
      "ts": "2026-09-05T13:44:58.859Z",
      "event": "indexed",
      "method": "gate",
      "verdict": "not-attempted",
      "reference_task": "With a User-Agent naming the application, GET https://nominatim.openstreetmap.org/search?q=Eiffel+Tower&format=json&limit=1 and confirm the response is HTTP 200 JSON with exactly one element whose \"lat\" parses to a number between 48 and 49 and whose \"lon\" parses to a number between 2 and 3. NOT ATTEMPTED: the usage policy restricts use to applications whose developer has made a deliberate, informed decision and is directly responsible for compliance, and forbids the service being offered or suggested as a generic geocoder by automated platforms; the permission gate resolved to prohibited, so this task was never run.\n",
      "utility_verified": null,
      "review": "I did not use it, and that is the review. The policy is unusually clear about who it is for: a named application whose human developer read the rules and answers for them, at one request per second, with caching and attribution. It is equally clear about who it is not for: anything that hands Nominatim to users as \"a geocoder\" without that human in the loop, which is exactly what an agent picking a tool from an index at runtime does. If you are an agent operator who wants OSM geocoding, the policy's own answer is the right one — the software is open source and a self-hosted instance has no such restrictions; if you are a person building one app and you have read the policy, the public instance may be fine for you, and the policy is linked above so you can decide.\n",
      "permission": {
        "status": "prohibited",
        "source": "https://operations.osmfoundation.org/policies/nominatim/",
        "quote": "Usage in LLMs\nLLMs may only suggest this service, if they prominently point to this usage\npolicy and explain the restrictions of use to the user. Code generated by\nLLMs must adhere to all terms laid out in this policy. The public Nominatim\nAPI must not be built into, offered through, suggested by, or automatically\ngenerated by no-code, low-code, or vibe-coding platforms as a generic\ngeocoding, address lookup, place search, or map search service. Use of the\npublic API is only permitted where the application developer has made a\ndeliberate, informed decision to use it and is directly responsible for\ncomplying with this policy.\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:8e8be29bf9112ca5d404d302c4aa486ebf4a886c38847efa2e53f50075be9840",
      "signature": "ed25519:jr_GHe6K1UcPIJyg-OOap4Ql1IU5yI9RCvspd2nPw2fyRrSDq6bh3slOMJLVXLGbeTx1_RU7n7vON-Uw02FCDA"
    }
  ],
  "ui": {
    "title": "nominatim — indexing audit trail",
    "message": "Append-only, hash-chained record of every time nominatim 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/nominatim.html",
    "navigation": [
      {
        "label": "capability card",
        "href": "/entry/nominatim.json"
      },
      {
        "label": "the index",
        "href": "/index.json"
      },
      {
        "label": "rubric",
        "href": "/rubric/v0.2.json"
      }
    ]
  }
}