Product

AI agent verification with cryptographic proof.
Checked before the action runs.

PreFlight is a verification layer, not an agent platform, not observability, and not compliance automation. Your agents stay where they are. PreFlight sits in front of the action, blocks the ones that break your rules, and issues a proof the other side checks without a login, without your policy, and without your data.

Competitive landscape

PreFlight is the only product that provides all the features required to control and make compliant agents at scale.

Pre-action blocking, deterministic enforcement, verification by anyone, privacy-preserving, and cloud-neutral, graded from each vendor's public documentation as of September 2026.

Swipe to see all five columns.
Pre-action
blocking
Deterministic
enforcement
Verifiable
by anyoneno vendor trust
Privacy-
preserving
Cloud-
neutral
ICME PreFlightpre-action · formal · ZK receipt
AWS BedrockPolicy in AgentCore · Automated Reasoning checks
MCP gatewaysLasso · Zenity · Pillar
Signed-log evidenceTraefik Sovereign Trust Plane · EVE CoreGuard · VeriTrace
LLM-as-judge guardrailsDatadog AI Guard · NeMo Guardrails
Runtime screeningLakera · F5 AI Guardrails · Fiddler
AI governance platformsCredo AI · Monitaur · Holistic AI
Audit-log toolsobservability and logging
FullPartialNone

Partial means the capability exists but is statistical rather than formal, or applies to authorization but not to the content of the action. Privacy-preserving means verification reveals nothing about the policy or the data. Columns reflect public product documentation as of September 2026; Traefik Sovereign Trust Plane was announced September 15, 2026 with general availability planned for September 30. Pre-action blocking for AWS refers to Policy in Amazon Bedrock AgentCore; Automated Reasoning checks run in detect mode on model output. Signed-log evidence products make the operator's record tamper-evident and verifiable against the vendor's keys or transparency log; verifying means reading the record or replaying the inputs.

Who is asking for proof

Five parties stopped accepting the operator's log in 2026.

Each of these demands independent verification of an automated action, the kind a third party can check without access to your systems.

Jul 20, 2026

Courts

Federal judges now require a signed certificate that AI-assisted filings were independently verified. The Eastern District of Texas Standing Order MC-11 is one of dozens; sanctions in 2026 run to $110,204 in a single case.

E.D. Tex. Standing Order MC-11; Couvrette v. Wisnovsky (D. Or.)
2026

Regulators

When a regulator stops believing an operator's own monitoring, it installs its own verifier. One financial regulator ordered a payments company to appoint an external auditor reporting directly to it, within 180 days, at the company's expense.

AML/CTF external audit order, January 2026
2024-2026

Contract counterparties

Corporate clients are writing AI clauses into outside counsel guidelines: disclose generative AI use, name the tool in the time entry, have a lawyer check the output. The Hartford, UBS, Zscaler and Microsoft publish their own.

The Hartford panel counsel guidelines; UBS billing guidelines (Feb 2026)
Aug 25, 2026

Insurers

Carriers writing affirmative AI coverage moved underwriting from whether a firm has an AI policy to whether its controls operate. ISO's January 2026 exclusions ended silent AI coverage, and professional liability policies do not pay fines or sanctions.

Counterpart (Nov 2025); Beazley (Apr 2026); ALPS and Berkley Select (Aug 2026); ISO CG 40 47, CG 40 48, CG 35 08
Jun 10, 2026

Card networks

Visa Intelligent Commerce and Mastercard Agent Pay bind the cardholder, the agent, and the mandate into a token and enforce the mandate before authorization. The acquirer verifies the agent; the operator's word is not the check.

Visa and OpenAI announcement; Mastercard Agent Pay for Machines

Checked September 2026. These are the demands as published; no court or regulator has named a cryptographic receipt as satisfying them, and this page does not claim one has.

The receipt

Every agent action ships with proof. A court, an examiner, a counterparty, or an insurer can check it.

Each agent action is checked before it runs. The check returns a verdict and a zero-knowledge receipt: a mathematical artifact that cannot exist unless the check ran, on that exact action, against that exact policy, producing that exact result. Tamper-evident: forging or editing it means breaking the cryptography.

There is no signature to trust. Products that sign a log or write it to a transparency record prove the record was not altered afterward, and checking one means trusting the vendor's keys and reading the record. A receipt is checked against public mathematics, and the check reveals the verdict and nothing else.

A receipt is worth something only when the party who has to believe you cannot check for themselves: they cannot see the source, or they cannot reconstruct the moment. That is where Preflight sits. Where the verifier can re-run the check against public records, they will, and they should.

verifyProof / receipt
✓ VALID: TRUE verified in 0.41s · proof size 94.2 KB
{ "proof_id": "5c2ebf28-6cee-41b1-bd38-51bd7ce1c322", "policy_hash": "44d3413f…ba28c84a", "result": "SAT", "valid": true, "verify_ms": 414, "proof_bytes_len": 96442, "created_at": "2026-08-04T18:24:15Z" }

A receipt from the public verifier. The policy_hash commits to the exact ruleset that was checked, so an auditor knows which version of the rules was in force for that action. valid: true means the cryptographic check passed independently.

How verification works

One public endpoint. No API key. Under a second.

A court under a standing order, an examiner acting on an audit order, a card network's acquirer before settlement, an insurer at renewal, or a client's outside counsel verifies a receipt against a public endpoint with no account and no access to your systems. Verification time is independent of policy size, and the receipt verifies on any stack, not just the cloud that produced it.

What the receipt binds

The agent action, the rules, the result, the version.

Each receipt commits to the exact policy version in force when the action was checked and carries the SAT or UNSAT outcome the proof attests to. It proves the rule fired against the facts asserted in the action; fact accuracy remains the extraction layer's job.

What stays private

Your policy, the action, and your data.

A verifier receives the verdict, the policy hash, and the proof, and nothing else. The agent being checked never sees the rules, and neither does the auditor or regulator confirming the decision. A thousand probing actions return a thousand identical-shaped verdicts and never enumerate the policy. The proof stays roughly constant-sized however complex the rules are, so checking thousands of actions is verifying one proof.

How it attaches

Three ways to connect: hosted API, MCP server, or a pre-execution hook.

All three check the action before it runs. The difference is who decides that the check happens: your code, the agent, or the platform. A tool an agent can call is a tool an agent can skip, so only the hook makes the check impossible to avoid.

Hosted API

Your code sends the proposed action and gets a verdict, a check ID, and a proof ID back.

A plain-English description of the proposed action plus a policy ID go in; a verdict, a check ID, and a proof ID come back. Small payload, no documents, no agreement data.

MCP server

api.icme.io/mcp: 14 tools for checking, verification, and receipts.

Our MCP server runs at api.icme.io/mcp for checking, verification, and receipts. It is the fastest way to adopt PreFlight inside an agent that already speaks MCP.

Pre-execution hook

Your platform calls the check as a required step, so no verdict means no action.

A tool an agent can call is a tool an agent can skip. When the platform invokes the check as a mandatory step, the action cannot proceed without a verdict. The MCP server makes PreFlight easy to adopt; the hook makes it impossible to bypass.

For the engineer evaluating this

Two endpoints. First check in minutes, a working integration in an afternoon.

One call checks an action and returns a verdict plus a proof. A second call verifies that proof, and it takes no API key and no account.

// check an action
POST /v1/checkIt          # X-API-Key
{ "action": "Send envelope: MSA, $240k, no CFO approval",
  "policy_id": "vendor_v2" }

// under a second
{ "result": "UNSAT", "proof_id": "90484dac...",
  "policy_hash": "3f2a91cc..." }

// anyone verifies it
POST /v1/verifyProof      # no API key
{ "proof_id": "90484dac..." }

{ "valid": true, "verify_ms": 408,
  "policy_hash": "3f2a91cc..." }

Deterministic verdicts

Same rule, same action, same answer. An API you can write tests against, unlike guardrails that drift between runs.

Receipts as data

One verifiable artifact per action, bound to the exact rule version, that attaches to your own record. Anyone verifies it with no API key and no account.

Policies as code

Versioned policy IDs for production, staging and draft, with scenario and test tools. Determinism is what makes those tests mean something: production behaves the way staging did.

Nothing sensitive crosses

A plain-English description of the action goes out. No documents, no client data, and the receipt reveals no rule text.

FAQ

Implementation and security details.

How PreFlight fits your stack, what it costs, and the answers to the questions a security or risk reviewer sends before a pilot.

Positioning
Can the agent be tricked into skipping or subverting the check?

Not by anything written in a document or a prompt. The solver has no context window and reads no instructions; it evaluates the proposed action against compiled logic and returns SAT or UNSAT. There is nothing in it to inject. Skipping the check is a separate question, and it is why placement matters: a tool an agent can call is a tool an agent can skip. As a pre-execution hook, the platform runs the check and the agent never chooses whether to be checked.

You use an LLM in the pipeline. Doesn't that reintroduce the problem?

The LLM does one job: translating your policy into formal logic, once, at compile time. That output is inspected, checked for contradictions, and battle-tested against generated scenarios before anything goes live. At decision time a solver decides, and a solver cannot be talked around or fed a trick instruction. The probabilistic component never makes the allow-or-block call.

How is this different from a locked, deterministic workflow?

A locked workflow makes the steps repeatable, then hands your auditor a trace of what ran. That trace is a log. To trust it, the auditor has to trust that it was not edited, that nothing was omitted, and that your system produced it honestly.

PreFlight returns a proof instead of a trace. A third party verifies it without trusting you, and without seeing your policy or your data. Repeatable is good. Provable, and provable without disclosure, is the part a locked workflow does not give you.

We have SOC 2 and ISO 42001. Doesn't that already cover this?

Keep them; your buyers require them. But certifications verify the operator's controls, at the organization level, on an annual cycle. They say nothing about whether a specific agent action complied with a specific rule today. A certificate vouches for the company. The receipt vouches for the agent action.

There is also an evidentiary hierarchy here. The audit profession's own evidence standards rank independent external evidence above anything produced by the entity under review. A receipt verified by outside math sits in that top tier. A control report produced inside the system it vouches for does not.

Does ICME have SOC 2? Where does our data go?

It depends on how you deploy, and in two of the three models the question does not arise.

Pilot. A pilot uses your published policy and test actions. No client data is involved, so no vendor security review is needed to start.

Production in your own cloud account. The checkpoint runs inside your AWS account. Actions are checked and proofs are generated within your environment, and only the proof and verdict metadata reach ICME. ICME verifies your receipts and never holds client data, so SOC 2 is not applicable to us. Your cloud provider's certifications cover the infrastructure and your own controls cover the data.

ICME-hosted. SOC 2 becomes relevant only if you prefer that we host. In that case we run a single-tenant environment with private connectivity and encryption keys you hold and can revoke, and we meet your vendor security requirements before any client data moves.

The same receipt answers the underwriter. Carriers writing affirmative AI coverage now condition it on evidence that controls were enforced, and 2026 renewals are where the question lands; a receipt per action is that evidence, without opening your logs to the carrier.

What stops the agent from lying about what it is doing?

Policies are built on facts present in the action itself: amount, recipient, destination. Text slipped into an email the agent read (a prompt injection) cannot change what the proposed action actually says. When PreFlight gates at the point of execution, the checked action is the executed action. The agent cannot move $10,000 while describing a $100 transfer, because the description is the transfer.

Doesn't a SAT verdict just mean the agent action was compliant, not correct?

Correct, and we lead with it. SAT means the action satisfied your policy. It does not mean the policy was wise, or that the facts the action asserted are true. The receipt proves the rule fired against what the action claimed, which is accountability, not a safety guarantee.

What stalls a deployment is almost never "the agent might be suboptimal." It is "we cannot prove controls to risk and the regulator." Receipts solve that one, and that is the problem with a budget attached.

What if a reviewer doesn't trust the receipt at all?

Then they still get the enforcement. The blocking decision comes from the solver consensus, not from the proof layer. So the worst case for a skeptic is "the guardrail still blocked the bad action, and the receipt is evidence I am choosing not to rely on yet."

The receipt adds verifiability on top of the safety. It does not carry the safety; that is the solver's job. A reviewer can adopt the evidence on their own timeline without the protection ever depending on it.

What is setup actually like, and how long does it take?

For the attorney or compliance owner who uses it day to day, there is nothing technical about it: they write plain-English if-then rules the way they would brief a new hire, and that is the entire authoring experience. Compilation and battle-testing run behind it. There is no separate interface to learn, so rules can be authored wherever your team manages policy today.

Two timings. Rules an attorney writes in their own words take minutes to compile, because the solver checks the whole set for contradictions and edge cases before anything governs a live action. Rules that range over fixed, known fields auto-generate in about two seconds. The first buys a version an attorney signed off on; the second is why per-customer setup at platform scale does not wait on a compile.

Where does it run? Do we need our own servers?

PreFlight is an API. By default there is no infrastructure to stand up and no server to run. For production in a regulated firm, the checkpoint can instead run inside your own cloud account so no client data leaves it. Either way it is cloud-neutral, and the receipt verifies on any stack, not just the one that produced it. A third party checks a decision against a single public endpoint, with no API key and no account.

Diligence
When the checks disagree, does the LLM ever override the formal result?

No. Every check runs two independent verifications and reconciles them before returning a result: a custom LLM check that evaluates the action against the compiled SMT model of your policy, and a cloud reasoning engine that independently evaluates the same action against the same policy. A SAT result requires both to agree. If either returns UNSAT, the action is blocked.

So a single extraction error or a single reasoning gap cannot produce a false clearance, and no path, including the LLM, can talk the system out of a proven violation. The solver underneath is Z3, which came out of Microsoft Research and has been a standard formal verification engine for close to twenty years; the translation method is adopted from AWS Automated Reasoning checks (arXiv:2511.09008). Policies are also checked for internal contradictions at compile time, before they are saved.

What happens with an ambiguous term, like "loyal customer"?

The system surfaces ambiguity rather than quietly resolving it. At compile time, battle testing generates scenarios that expose a vague or wrong rule first. Before production, you can pull every extracted variable, its type, and its rule, and tighten a loose phrase. At runtime, an ambiguous term returns an uncertain result instead of a clean verdict, and the check resolves conservatively.

The runtime uncertain result is a backstop, not a workflow. If it appears in production, treat it as a signal to return to the policy, define the term, and re-run battle testing. A well-tested policy produces clean SAT and UNSAT verdicts.

Can we inspect the compiled logic, or only the final verdict?

Fully, as the customer. You can retrieve the original policy text, the compiled SMT-LIB, and the parsed rules at no charge, and export the SMT-LIB for your own tooling or an independent reviewer. Every check also returns the extracted variable bindings and the per-path results alongside the proof.

Outsiders get the other kind of transparency: the zero-knowledge receipt lets anyone confirm the decision was made correctly without seeing your rules and without trusting us. Your clients' reviewers verify the check ran; your policy stays private.

Isn't the receipt just an audit trail?

An audit trail is a record the operator keeps about its own conduct; when a reviewer asks how they know the log is honest, the only answer is to trust the operator. The receipt is a piece of math an outside party checks, and if anyone tampered with the result, the check fails. The verifier code is public, the protocols are peer reviewed, and a dishonest verifier would be caught by the first cryptographer who looked, which is the same reason banks trust TLS without reading its source.

A record you produce about your own system is testimony. A receipt checkable against neutral math is evidence.

Signing the log does not change that. A signed or transparency-logged record (the approach behind products like Traefik's Sovereign Trust Plane) proves the record was not altered after the fact, and the verifier has to read the record to check it. A receipt proves the rule was checked before the action ran, and the verifier learns the verdict and the policy hash without the record, the policy, or the data.

Your proving system, JOLT, isn't formally audited yet. Why is that acceptable?

JOLT is a16z Crypto's open-source zkVM, and its README says it is in alpha and not yet audited. We disclose that plainly. The audit question is narrower than it looks, though. In a zero-knowledge system the property that protects you is verifier correctness, not whole-codebase perfection. A correctly implemented verifier rejects a cheating prover, so a bug or bad actor on the proving side produces a rejected proof, not a false one.

The verifier is the small, inspectable, open-source component, and it implements peer-reviewed protocols (JOLT, IACR ePrint 2023/1217, with our zkML layer in JOLT Atlas, arXiv:2602.17452). You do not need to inspect it personally; the assurance comes from the fact that anyone can. A dishonest verifier would be caught by the first cryptographer who looked, and cryptographers do look, which is the same reason banks trust TLS without reading its source. Compare that to a proprietary log format, where nobody outside the vendor can check anything.

Two scoping points: enforcement does not depend on JOLT at all, since the fail-closed blocking comes from the solver consensus above, and the upstream verification work is public and trackable at github.com/a16z/jolt rather than promised, including its Z3 verifier component. We hold ourselves to the same disclosure discipline we recommend to buyers: verify the small thing that matters, disclose the maturity of the rest. If a16z publishes audit results, we will surface them.

Get started

Start with the API, or start with a scoped pilot.

Developers can be checking agent actions in minutes. Enterprise teams can start with a scoped pilot on the policies your risk team is asking about.

For developers

Try the API

Compile a policy, check an agent action, get a verdict and a receipt. Public proof verification needs no API key.

Read the docs
For risk and platform teams

Book a call

Bring the policy stuck in review. We will count the rules that are checkable facts versus genuine judgment calls and scope a pilot from there.

Book a call