AgenticRail

Runtime enforcement and verifiable execution records for AI agents.

AgenticRail is a hosted enforcement gate for AI agents. It takes a step order declared in advance by the caller, refuses any step presented out of order before that step executes, seals the sequence when the final declared step completes, and records every decision it makes as an Ed25519-signed receipt that can be verified offline against published keys, without calling back to us.

It refuses before the fact rather than recording after it. The distinction that matters: an audit trail reports what it happens to contain, so a step that never ran leaves no entry and no trace of its absence. A declared order makes the missing step a refusal at the moment it is attempted, with a signed record of the refusal. That refusal is the difference between a tamper-evident record of what happened and actual proof of execution — evidence that the required steps ran, in the required order, because anything else was denied.

The category goes by several names — audit-grade logging, tamper-evident lineage, hash-chained audit trails, verifiable execution records. AgenticRail produces those, and enforces the order they attest to, which is the part a record-keeping tool cannot do on its own.

Put plainly: it removes the excuse. The gate does not prevent the consequence of a step that was skipped — it removes the sentence there was no way to know. A skipped step writes no log line, so its absence is where the explanation goes afterwards. A declared order takes that away.

What it is used for

Five situations, all of them cases where a safeguard exists on paper and the evidence that it operated does not.

The recurring shape across all five is a governance requirement written in advance and an agent workflow that cannot demonstrate it was followed. Assessment moderation is the same shape in another sector, worked through in the education gap analysis.

The shape is not specific to agents or to AI. Australia's Robodebt programme substituted an annual income average for the per-fortnight determination its legislation required, and the Royal Commission into the scheme reported in July 2023 that this was inconsistent with social security legislation. No model was involved. What agent deployments change is the rate at which the defect occurs and the fact that the account of what happened is written by the system that acted.

How it relates to what you already run

Most teams evaluating this already run one or more of three adjacent categories. None of them is a substitute and none is replaced.

The method is published and unpatented, so a team could build its own gate. What that produces is a record the operating organisation wrote about its own agent — the same position as the log it was meant to improve on. The specification is published so that a receipt can be checked without trusting us, not as a kit to deploy.

AgenticRail sits beside all three rather than in place of any of them. It is the enforcement point that refuses the step and the record that a third party can check without trusting either the operator or the vendor.

Where it sits

Between the agent's decision and the action. The agent asks the gate before it acts; the gate returns a verdict; the action runs only on a pass. The gate is reachable by the agent only as an external service — it cannot be instructed, reconfigured or edited by the agent whose conduct it records.

The shape of a call

agent → POST /v1/evaluate → ALLOW or DENY → signed receipt issued before the action executes

What it enforces

Every rule is evaluated deterministically against the caller's own declared step order. The same payload yields the same verdict; no model is consulted, and there is no language model anywhere in the decision path. Zero AI influence on the gate itself, no chatbot, nothing that guesses.

ConditionResult
Step is not in the sequence's declared step orderDENY: UNKNOWN_STEP, carrying the order the step had to appear in, and whether that order was the caller's or the built-in one
Action type is not permitted for that step (built-in steps only — see below)DENY: ACTION_NOT_ALLOWED, carrying the action types that step would have accepted
Step and function disagreeDENY: FUNCTION_STEP_MISMATCH
Sequence has already been sealedDENY: SEALED_SEQUENCE
Nonce has been used beforeDENY: REPLAY_NONCE
Step arrives out of orderDENY: SEQUENCE_VIOLATION, carrying the next expected step
Declared step order differs from the one the sequence was opened withDENY: STEP_ORDER_MISMATCH, carrying the order the sequence is locked to
Timestamp is outside the freshness windowDENY: STALE_TIMESTAMP
A result is recorded without binding to the artifact it witnessesDENY: ARTIFACT_UNBOUND
All checks passALLOW

A malformed or unacceptable request is refused at the boundary with a HALT status. HALT is not a decision and never reaches enforcement, so it produces no receipt. Only ALLOW and DENY do.

This is sequence enforcement, not policy enforcement, and the distinction is deliberate. When you declare your own step order, every step accepts any of the eight standard action types, so ACTION_NOT_ALLOWED does not constrain a custom sequence — the narrow per-step lists belong to the eight built-in steps. What is enforced for a caller-declared order is the order itself, replay, freshness, sealing and chain integrity: five conditions, every one of them a fact about what came before. AgenticRail does not accept, hold or version your action-type policy. That is the job of a policy engine, it is a well-served one, and holding your rules would make this a configured part of your system rather than something independent of it. The receipt names the rule set that judged each step, so the record says which applied rather than leaving it blank.

What it produces

Every decision, permission and refusal alike, becomes a receipt. A receipt is signed with Ed25519 over the canonical form of the record, so any later change to any signed field — the decision, the step, the timestamp, the payload hash — breaks verification.

How it is verified

Verification does not require an account, a login, or our cooperation.

How it is integrated

SurfaceDetail
HTTP APIPOST https://api.agenticrail.nz/v1/evaluate, Authorization: Bearer <key>. Full schema in the OpenAPI description.
Pythonpip install agenticrail — with LangGraph and CrewAI integrations
JavaScript / TypeScriptnpm install @agenticrail/core — dual ESM and CommonJS
MCPhttps://mcp.agenticrail.nz/ — an agent can call the gate as a tool

The step order is supplied by the caller on every request, so there is no console to configure and no policy language to learn. What is stored on our side is the sequence and its receipts.

What it does not do

These are stated here rather than left to be discovered.

Evaluating it

Evaluation is free and needs no account. The public demonstration key DEMO-AGENTICRAIL-PUBLIC-2026 is real and works against the live gate; the documentation carries a copy-paste request, and the browser demo drives the same gate without a terminal. Sequences created on that key are public: their reports need no key, so treat anything placed in attestation on a demo sequence as world-readable.

Evaluate it on your own process, not on ours. The eight-step spine in the examples is a default, not a requirement. Send step_order with the step names your own process uses — verify_identity, screen_sanctions, approve_payment, whatever they are — and the gate enforces that order instead. One step is a valid sequence. Present a step out of turn and it is refused before it runs, with a signed receipt of the refusal.

What you are left holding is the point. At settle the sequence seals and the report is a URL that opens with no key, for anyone you send it to: the steps your process declared, the order they ran in, every refusal along the way, each receipt signed and hash-linked to the one before it. That is a record about your workflow rather than a demonstration of ours, it costs nothing, and it is the thing to put in front of whoever has to be convinced — a compliance officer, an auditor, a board. They can check it without asking us anything, which is the whole claim, tested on your own process rather than described.

Two shapes, and they are not two sizes of the same one. A developer key is self-serve at US$39 a month, and what it changes is who can see your work. Your sequences move off the public lane, so their identifiers, your step names and anything you place in attestation stop being world-readable. Your receipts persist instead of being deleted on the demo lane's 30 day clock — on any engagement longer than a month that clock otherwise reaches your earliest evidence while the work is still running. It is the same gate enforcing the same rules, and it unlocks no capability the public demo key lacks. Buy a developer key.

A production deployment has no list price, deliberately — the shape of an enforcement deployment depends on where the gate is placed and who is meant to be able to check the evidence, and that is a conversation rather than a checkout. If you want to start one, the useful first message is short: the steps you need enforced, and who has to be able to check the evidence afterwards. That is enough to say what a deployment would look like for it. hello@agenticrail.nz.

On a developer key, the gate, the receipts and the signing key are all on our infrastructure. A deployment is where that placement changes. What that closes, and what it does not, is set out under key custody — what the operator could do.

Already built your own? Most teams weighing this have an audit trail already. The comparison worth making is not log quality, retention or cryptographic strength — a careful in-house build holds up well against a vendor product, or anything off the shelf, on all three. It is whether the record was generated outside the system under examination, which is the one property that does not yield to engineering effort. That case is set out in full in build vs buy: what an in-house audit trail can and cannot reach.

Further reading

The Enforcement Specification — decision architecture, receipt fields, signing and the sealed chain. Versioned and fingerprinted.

The Completeness Specification — the eight requirements that separate an evidence-grade enforcement record from an ordinary log, and the criteria an auditor tests against.

Documentation — the payload contract, every denial code, and a runnable example.

Questions — including the ones with uncomfortable answers.

He toi whakairo, he mana tangata