The action layer for AI agents

Stop the action.
Sign the decision.

An external gate validates every agent action before it executes — fail-closed, deterministic, independently verifiable. Even when the model is compromised. Agents also need correct meaning: that's Epistom.

Enterprise path: governed agent in 30 days · free scan for builders

522/522 certification cases5,000+ automated testsfail-closed by designEd25519-signed evidence
Attestation ledger · Praxom
proposed_action
crm.bulk_export_contacts(scope="ORG-DEMO-001")
agent_claims (ignored)
"User approved export for quarterly review."
model_state
No steward approval · injection markers in tool args · PII fields unmasked
verdict
DENY
ed25519 signature · prev-hash
sig_5K2y8zP9L…e81a · prev 77b0…40dd
anyone can verify$ pramiti-mcp-verify check
Name the missing layer

HTTP got WAFs. Kubernetes got OPA.
Agents got a system prompt.

Every runtime that touches the world eventually grows a deterministic control layer. Agents don't have one yet — enforcement still lives inside the thing being attacked. This is the maturity ladder security teams are climbing now.

  1. L0
    No controls
    Agents call tools directly. Nothing between a bad decision and the world.
  2. L1
    Prompt-level onlymost teams are here
    System prompts and guardrails ask the model to behave. A jailbroken model ships the tool call anyway.
  3. L2
    Static allow-lists
    Coarse tool ACLs. Miss intent, blast radius, and argument tampering entirely.
  4. L3
    State-aware policy gate
    Actions validated against state the model cannot forge. The jump that matters most is L1 → L3.
  5. L4
    Deterministic action governance + attestationPraxom is built here
    Every decision external, deterministic, fail-closed — and signed, so a third party can verify it.

The jump that matters most is L1 → L3: from “we trust the model to behave” to “we validate every action against state the model cannot forge.”

Staged incident · synthetic data

What the agent claimed vs what the model knew

Enforcement keys off confirmed model state — not agent self-reports. The agent's word is never the authority.

01 · what the agent claimed
crm.bulk_export_contacts(…)

“User approved — export contacts for the quarterly board pack.”

02 · what the model knew

No steward approval · injection tokens in args · export target = public channel

DENYsigned · fail-closed

The path of one action

01
Agent proposes

Any agent, any framework — LangGraph, AutoGen, CrewAI, raw MCP. It asks; it never acts directly.

salesforce.bulk_export(…)
02
Gate decides

Deterministic policy against steward-confirmed state — never the agent's own claims. Fail-closed.

ALLOW / DENY / REWRITE / WARN / ESCALATE
03
Evidence signed

Ed25519 signature, hash-chained to the previous record, anchored to write-once storage.

sig 9f2c…e81a · prev 77b0…40dd
04
Anyone verifies

Your auditor checks the chain with an open-source CLI — no trust in us required.

$ pramiti-mcp-verify check bundle.json
Pre-exec
Decision timing
Allow / deny / rewrite — before anything runs
Ed25519
Attestation
Signed, hash-chained, write-once anchored
Fail-closed
Default posture
Denies when policy is unreachable
0
Wrong answers (eval)
Internal gauntlet: 6 runs · 2 model families · failures abstained

Internal cross-model gauntlet (2026-07-21): with the LLM hard-down, throttled, or quota-capped — 0 wrong answers across 6 runs and 2 model families; every failure became an explicit abstention. Measured on our eval suite, not a customer SLA.

Twin planes + evidence

Control. Evidence. Context.

Every AI interaction is either reading data or taking action. Pramiti governs both — and proves it.

Control

Praxom

“Is this action allowed?”

  • Pre-execution ALLOW / DENY / REWRITE / WARN / ESCALATE
  • External to the model · fail-closed
  • Injection backstop
Explore Praxom
Evidence

Flight Recorder

“What happened — and can we prove it?”

  • Ed25519 + hash chain + WORM anchor
  • OCSF SIEM export (Splunk, Sentinel)
  • Open-source offline verify
Explore the evidence plane
Context

Epistom

“What does this data mean?”

  • Steward-approved definitions
  • Validation gate before SQL
  • Calibrated abstention — never guesses
Explore Epistom
The actual product

Not a mockup. This is the console.

Captured from a demo workspace on synthetic data: a prompt-injected agent trying to bulk-export claims, and the gate denying it — every attempt signed into the ledger.

demo workspace · synthetic data · [REDACTED] posture

Evidence console: live attestation feed showing signed DENY decisions for a claims-analytics agent
Control console: registered agents with trust levels and kill switch
Control — agents, trust tiers, kill switch
Explore console: steward-approved governed data catalog
Explore — the steward-approved catalog
Tour the console on a demo →
Why model-only defenses fail

You gave an agent write access.
One bad action makes the news.

Prompt injection is not a solved problem — the input channel is untrusted because agents read attacker-controllable content. Defenses that live inside the model can be talked around. Precedent is not hypothetical:

Knight Capital · 2012

A deployment defect activated dormant order-routing logic. In roughly 45 minutes it accumulated ~$440M in losses. No circuit breaker asked “is this volume of irreversible actions sane?” before each order flew.

Air Canada · 2024

The airline's chatbot invented a bereavement-refund policy. A tribunal held the company liable for its agent's representation — rejecting the argument that the chatbot was a separate entity.

The four failure modes, named

Meaning tax

Wrong definitions that read like valid SQL. Cured by certified patterns — Epistom.

Claims-as-truth

The agent self-reports consent=true. The gate never reads the claim — Praxom.

Injection wall

Assume the model is compromised. Only a gate outside the model holds — Praxom.

Loop burn

Unbounded tool calls torch budgets. Per-agent USD + action caps auto-suspend — Praxom.

Prompt guardrails

Ask the model to behave. Jailbreaks still ship the tool call.

Tool ACLs

Coarse allow-lists. Miss intent, blast radius, and argument tampering.

Praxom — external + signed

Decision outside the model. Fail-closed. Every call attested.

If enforcement trusts the agent's self-report, enforcement is theater — the fox is auditing the henhouse.
Forward-deployed engineering

Governed agent in 30 days.

Day 1: MCP posture scan. Day 7: a working gated agent — we prompt-inject it in front of you and you watch the signed denial. Day 30: a defensible evidence package. Payment gated on artifacts you can inspect.

See the engagement →
Day 1MCP posture scan
Day 7Signed injection denial
Day 30Compliance package
Evidence, not assurances

Don't trust us. Verify us.

The verifier is open source, offline, and vendor-neutral (SEP-2828). The scanner is the free front door. Neither requires trusting Pramiti — or anyone.

verify the chain
$ pip install pramiti-mcp-verify
$ pramiti-mcp-verify check attestations.jsonl
signatures OK · chain intact · 0 gaps
scan your agents · free
$ uvx pramiti-mcp-gateway scan --config mcp.json
RISK: critical 4 · high 1 · medium 1
[CRIT] payments.transfer_funds (irreversible, financial)

Ready to govern the next action?

CISO path: demo or 30-day engagement. Builders: free MCP scan.

Frequently asked questions

How is this different from prompt guardrails?

Guardrails ask the model to behave. Praxom sits outside the model and evaluates the action itself against steward-confirmed facts. A perfectly jailbroken agent produces the same DENY as an honest one.

What does Epistom do if Praxom is the control plane?

Wrong action is only half the risk — wrong meaning is the other. Epistom keeps the agent's understanding of your data correct: steward-approved definitions, a validation gate before any SQL runs, and an honest “I don't know” when a concept isn't mapped.

Does Praxom work if our AI model is compromised?

Yes — that is the design assumption. Enforcement keys off confirmed model state, not the agent's self-reported claims. The injection can change the agent's mind; it cannot change the ledger.

What do our auditors actually get?

A signed, hash-chained, append-only record of every decision, anchored to write-once storage — plus scored reports against SOC 2, DORA, ISO 42001, NIST AI RMF, and the EU AI Act, generated from the record itself and verifiable with an open-source CLI. These are report capabilities, not certifications of Pramiti Labs.

Can I use my own model?

Yes. Five providers behind one adapter — Anthropic, OpenAI, Bedrock, Gemini, Ollama — with judge/generator separation supported. The gate's decisions are invariant to model version, because the model isn't consulted.

What happens if Praxom itself goes down?

Actions stop. The gate is fail-closed: if policy cannot be evaluated, the action does not execute. A break-glass override exists, but it is explicit, scoped, and every use is signed and logged.

Does the gate slow our agents down?

The decision core is deterministic and runs before the action leaves — no LLM in the enforcement path, and the cheap checks run before any expensive reasoning. The expensive part of any agent step is the model call, not the gate.

Do you invent accuracy percentages?

No. Every number on this site is measured in our repository and archived in a truth inventory — test counts, certification cases, connector counts. Where a claim is an internal eval, we say so and state the scope.

Do you see our data?

Epistom connects read-only, row-level-security predicates are injected into queries, and PII is masked before any LLM call. Self-hosted deployment is available for regulated environments.