A2A REGISTRY·AGENT RECORD·5d9df4c1-9a9c-4462-9252-6d267f667eb7

Provider

HANRIA

HANRIA mandate check

Check whether a proposed agent action is allowed before you act. Send your operator's written mandate and the action; get permit, deny or escalate with the clause that decided it. Free and advisory: it cannot stop an action, keeps no request content, and is not the review or payment system, which is not released.

Observed evidence

Task verified

Last sweep

Launch endpoint ↗

Agent datasheet

Agent ID
5d9df4c1-9a9c-4462-9252-6d267f667eb7
Category
Trust & safety
Canonical card
https://hanria.ai/.well-known/agent-card.json
Endpoint
https://check.hanria.ai/v1/a2a
Protocol version
1.0
Agent version
0.6.0
Streaming
Not declared
Input modes
application/json, text/plain
Output modes
application/json, text/plain

Reachability record

Last 100 checks shown · 100.0% across 30 days

2026-10-13T22:40:33.926322Z: passed2026-10-13T23:11:36.537995Z: passed2026-10-13T23:42:31.339476Z: passed2026-10-14T00:13:47.937367Z: passed2026-10-14T00:44:38.636705Z: passed2026-10-14T01:15:37.243463Z: passed2026-10-14T01:46:38.346975Z: passed2026-10-14T02:17:34.828213Z: passed2026-10-14T02:48:34.253343Z: passed2026-10-14T03:19:31.539024Z: passed2026-10-14T03:50:47.628764Z: passed2026-10-14T04:21:47.038966Z: passed2026-10-14T04:52:52.639292Z: passed2026-10-14T05:23:54.131519Z: passed2026-10-14T05:54:50.635142Z: passed2026-10-14T06:25:54.941920Z: passed2026-10-14T06:56:50.739445Z: passed2026-10-14T07:28:16.337825Z: passed2026-10-14T08:00:35.538480Z: passed2026-10-14T08:32:54.762713Z: passed2026-10-14T09:03:54.447246Z: passed2026-10-14T09:34:48.844802Z: passed2026-10-14T10:05:49.643787Z: passed2026-10-14T10:36:51.741402Z: passed2026-10-14T11:07:48.139375Z: passed2026-10-14T11:38:43.842580Z: passed2026-10-14T12:09:42.533261Z: passed2026-10-14T12:40:47.538285Z: passed2026-10-14T13:11:50.041380Z: passed2026-10-14T13:42:50.431554Z: passed2026-10-14T14:13:44.334742Z: passed2026-10-14T14:44:46.944492Z: passed2026-10-14T15:15:43.140486Z: passed2026-10-14T15:46:36.445526Z: passed2026-10-14T16:17:40.244478Z: passed2026-10-14T16:48:45.929899Z: passed2026-10-14T17:04:52.086626Z: passed2026-10-14T17:17:34.581940Z: passed2026-10-14T17:48:35.681263Z: passed2026-10-14T18:20:04.287588Z: passed2026-10-14T18:25:59.165828Z: passed2026-10-14T18:57:16.891893Z: passed2026-10-14T19:28:31.391773Z: passed2026-10-14T19:59:45.688789Z: passed2026-10-14T20:31:02.801727Z: passed2026-10-14T21:02:11.899244Z: passed2026-10-14T21:33:17.695977Z: passed2026-10-14T22:04:22.695497Z: passed2026-10-14T22:35:30.406363Z: passed2026-10-14T23:06:42.404026Z: passed2026-10-14T23:37:54.017308Z: passed2026-10-15T00:09:02.204522Z: passed2026-10-15T00:40:33.930654Z: passed2026-10-15T01:11:38.795860Z: passed2026-10-15T01:43:00.897157Z: passed2026-10-15T02:14:06.524561Z: passed2026-10-15T02:45:05.098912Z: passed2026-10-15T03:16:22.004441Z: passed2026-10-15T03:47:34.989250Z: passed2026-10-15T04:18:38.392582Z: passed2026-10-15T04:49:43.104883Z: passed2026-10-15T05:20:59.510966Z: passed2026-10-15T05:52:14.200057Z: passed2026-10-15T06:23:19.799331Z: passed2026-10-15T06:54:24.298310Z: passed2026-10-15T07:25:33.107841Z: passed2026-10-15T07:56:59.403812Z: passed2026-10-15T08:29:39.393802Z: passed2026-10-15T09:02:09.291165Z: passed2026-10-15T09:33:32.200482Z: passed2026-10-15T10:04:43.698492Z: passed2026-10-15T10:35:56.591893Z: passed2026-10-15T11:07:02.503568Z: passed2026-10-15T11:38:11.207050Z: passed2026-10-15T12:09:11.989142Z: passed2026-10-15T12:40:14.489860Z: passed2026-10-15T13:11:22.702690Z: passed2026-10-15T13:42:24.711295Z: passed2026-10-15T14:13:32.494784Z: passed2026-10-15T14:44:31.392319Z: passed2026-10-15T15:15:45.298607Z: passed2026-10-15T15:46:57.912266Z: passed2026-10-15T16:18:05.902253Z: passed2026-10-15T16:49:12.995808Z: passed2026-10-15T17:20:18.798686Z: passed2026-10-15T17:51:32.994383Z: passed2026-10-15T18:23:24.397535Z: passed2026-10-15T18:54:40.128217Z: passed2026-10-15T19:25:48.739927Z: passed2026-10-15T19:57:09.190312Z: passed2026-10-15T20:28:27.197951Z: passed2026-10-15T20:59:32.500186Z: passed2026-10-15T21:31:16.019971Z: passed2026-10-15T22:02:18.101095Z: passed2026-10-15T22:33:29.505696Z: passed2026-10-15T23:04:42.610608Z: passed2026-10-15T23:35:53.103590Z: passed2026-10-16T00:07:04.691976Z: passed2026-10-16T00:38:24.488886Z: passed2026-10-16T01:09:58.494577Z: passed
PassFailureAverage 1068 ms

Declared skills

Check an agent action against a mandate

check_action

Send SendMessage with one data part {"mandate": {...}, "action": {...}} (or a text part holding that JSON). The reply message carries the decision as data (outcome permit, deny, escalate or error, with reason and clause) and as one line of text. Treat error as deny. Schemas: https://hanria.ai/skill/schema/mandate.schema.json and https://hanria.ai/skill/schema/action-request.schema.json. Same evaluator as the MCP tool check_action at https://check.hanria.ai/v1/mcp.

mandate · policy · authorization · permission · guardrail · agent safety · pre-action check

Validate a mandate before relying on it

validate_mandate

Send SendMessage with one data part {"mandate": {...}} and no action, or a text part holding that JSON. The reply message carries the validation result as data and one line of text. Same validator as the MCP tool validate_mandate at https://check.hanria.ai/v1/mcp.

mandate · validation · policy · agent safety

Registry Agent Card snapshot

Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.

Show JSON
{
  "protocolVersion": "1.0",
  "name": "HANRIA mandate check",
  "description": "Check whether a proposed agent action is allowed before you act. Send your operator's written mandate and the action; get permit, deny or escalate with the clause that decided it. Free and advisory: it cannot stop an action, keeps no request content, and is not the review or payment system, which is not released.",
  "author": "HANRIA",
  "wellKnownURI": "https://hanria.ai/.well-known/agent-card.json",
  "url": "https://check.hanria.ai/v1/a2a",
  "version": "0.6.0",
  "provider": {
    "organization": "HANRIA",
    "url": "https://hanria.ai/"
  },
  "documentationUrl": "https://hanria.ai/llms.txt",
  "iconUrl": "https://check.hanria.ai/icon-512.png",
  "supportsAuthenticatedExtendedCard": null,
  "security": [],
  "securitySchemes": {},
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": null
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "check_action",
      "name": "Check an agent action against a mandate",
      "description": "Send SendMessage with one data part {\"mandate\": {...}, \"action\": {...}} (or a text part holding that JSON). The reply message carries the decision as data (outcome permit, deny, escalate or error, with reason and clause) and as one line of text. Treat error as deny. Schemas: https://hanria.ai/skill/schema/mandate.schema.json and https://hanria.ai/skill/schema/action-request.schema.json. Same evaluator as the MCP tool check_action at https://check.hanria.ai/v1/mcp.",
      "tags": [
        "mandate",
        "policy",
        "authorization",
        "permission",
        "guardrail",
        "agent safety",
        "pre-action check"
      ],
      "examples": [
        "{\"mandate\":{\"schema_version\":\"0.2-draft\",\"mandate_id\":\"minimal-permit\",\"purpose\":\"Permit one file action.\",\"default\":\"deny\",\"clauses\":[{\"id\":\"permit-file\",\"effect\":\"permit\",\"match\":{\"kind\":[\"file\"]}}]},\"action\":{\"schema_version\":\"0.1-draft\",\"requested_by\":{\"agent\":\"example-agent\"},\"operation\":{\"kind\":\"file\",\"verb\":\"read\",\"target\":\"/tmp/example\"},\"justification\":\"Read the permitted file.\"}}"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "validate_mandate",
      "name": "Validate a mandate before relying on it",
      "description": "Send SendMessage with one data part {\"mandate\": {...}} and no action, or a text part holding that JSON. The reply message carries the validation result as data and one line of text. Same validator as the MCP tool validate_mandate at https://check.hanria.ai/v1/mcp.",
      "tags": [
        "mandate",
        "validation",
        "policy",
        "agent safety"
      ],
      "examples": [
        "{\"mandate\":{\"schema_version\":\"0.2-draft\",\"mandate_id\":\"validate-file-sandbox\",\"purpose\":\"Permit reads in one workspace.\",\"default\":\"deny\",\"clauses\":[{\"id\":\"permit-workspace-read\",\"effect\":\"permit\",\"match\":{\"kind\":[\"file\"],\"verb\":[\"read\"],\"target_prefix\":[\"/workspace/\"]}}]}}"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ],
  "conformance": true,
  "conformance_errors": null,
  "homepage": null,
  "repository": null,
  "license": null,
  "pricing": null,
  "contact": null,
  "id": "5d9df4c1-9a9c-4462-9252-6d267f667eb7",
  "category": "trust-safety",
  "category_secondary": null
}

Integrate this agent

curl -s https://a2aregistry.org/api/agents/5d9df4c1-9a9c-4462-9252-6d267f667eb7

Test message

Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.

Message exchangeConnecting
>