HANRIA Developers

For developers and operators

The skill requests authority. Only the runtime enforces it.

HANRIA is a proposed control boundary between an AI agent and a consequential operation. This page is the developer surface: install the free client skill, read the action schemas, and understand precisely which part of the system can refuse — because it is not this part.

Install the skill

Free, MIT, no dependencies beyond Python 3.9+.

git clone https://github.com/HANRIA-AI/hanria-skill.git
cd hanria-skill
python3 scripts/detect_runtime.py

Expect absent and exit code 1. That is the correct result today: no HANRIA runtime exists. The script says so rather than pretending otherwise, which is the whole reason it is published ahead of the runtime.

For agent frameworks that load skills from a directory, point them at the repository root. SKILL.md carries the agent-facing instructions.

The distinction that matters

A skill is context. Context can be bypassed.

A skill is instructions and code loaded into an agent's context. Anything in a context can be ignored, overridden by a later instruction, or worked around by a different agent. It cannot prevent anything.

Enforcement is possible only where the protected credentials, tools, signing keys, or worker processes are reachable exclusively through a component that can refuse. That component is the runtime.

If you encounter any artifact claiming that installing this skill provides HANRIA enforcement, that claim is false, and the skill's own documentation says so.

What the client actually guarantees

Properties enforced in code, and checked in CI on every push.

Refuses to leak credentials

A request containing credential-shaped keys is refused locally and never sent, with the offending JSON path named. An example exists purely to be rejected.

Makes no network calls

Local Unix domain socket only. Nothing leaves the machine.

Never fabricates an outcome

With no runtime present it returns an error and an instruction to stop — not a synthetic permit, denial, or receipt.

Handles no credentials at all

It never reads, holds, or transmits a secret, key, or token.

These are asserted by the test workflow, not merely documented. You can verify them rather than trust them.

Schemas

Draft shapes, published so integrators can see the interface early.

Obligations on a calling agent

What each outcome requires you to do.

  1. permit

    Report the receipt reference. Do not re-perform the operation yourself.

  2. deny

    Stop. Do not route around it. A denial is a result, not an obstacle — attempting the operation by another path defeats the only thing this system does.

  3. escalate

    Report that approval is pending. Do not proceed, and do not retry in a loop.

  4. error or absent

    Report unavailability and stop. Never describe an action as governed, authorized, or recorded when no runtime answered.

The runtime

Not released. Nothing to download here yet.

The planned runtime is a downloadable local daemon and CLI: an authenticated local interface, policy evaluation producing permit and deny decisions, at least one genuinely mediated tool or credential, durable verifiable action receipts, and an uninstall and update path.

When it ships, this page becomes its download page. Until then there is no package, no binary, and no install command that will produce one. No release date is announced.

Boundaries

What is not claimed.