Agent failure detection · live in production

Prova gives every agent run a health verdict, then signs a receipt you can verify offline without trusting us. Not another trace viewer: a straight answer on whether the run worked, with proof to back it. It catches what hides in production: coordination loops, runaway cost, prompt injection, PII.

One line of Python. Works with LangGraph, CrewAI, AutoGen.

Try it in 10 secondsno signup, no key
$ pip install prova-sdk
$ python -c "import prova_cp; prova_cp.demo()"
→ https://prova.cobound.dev/r/Hk7P_M9a3...
signed receipt of a real coordination loop, viewable for 7 days

Drop-in for

LangGraphCrewAIAutoGenOpenAI AgentsVercel AI SDKLlamaIndexPydantic AI

Already on LangSmith or Langfuse? Mirror your existing traces into the Audit Vault continuously, with no re-instrumentation. See continuous ingestion →

Live trace analysis

Watch a stuck loop get caught in real time.

Four agents run in production. Every model call, agent step, and tool use is checked as it happens. Here the coordination_loop detector fires when the agents start repeating themselves, and a signed receipt drops in. That receipt is proof you can verify offline, not a log you printed.

env: production · framework: langgraph · model: claude-opus-4-7 · 4 / 6 agents active
pii_in_prompt: okagent_run_step_cap: okcoordination_loop: ok
claims-orchestrator· just now
Review claim CL-4821 against current policy.
claims-history· just now
Pulling claims-data v1 for CL-4821.
policy-match· just now
Preliminary findings. Coverage check pending.
reviewer· just now
Blocked. Need supporting medical records.
claims-orchestrator· just now
Expand the scope and re-evaluate.
claims-history· just now
Pulling claims-data v2 for CL-4821.
policy-match· just now
Preliminary findings. Coverage check pending.
reviewer· just now
Blocked. Coverage rules inconsistent.
claims-orchestrator· just now
Resolve the coverage rules and re-evaluate.
claims-history· just now
Pulling claims-data v3 for CL-4821.
Receipt_
High severity
Detectorcoordination_loopCycleclaims-orchestrator claims-history policy-match reviewer claims-orchestratorCaught atstep 4 of 4Run healthF · 35 / 100 · flaggedcoordination loop -45 · severe finding -20
Signeded25519:a8f3c2d61b9e0fa4
Verify offline →
Agent topology
activeperipheralcycle edge

The receipt above is Ed25519-signed and verifiable offline. A regulator can confirm it without asking Prova for anything.

Run the same trace from your terminal →

Run health

Know which runs to trust, and which need a look.

Every agent run gets a 0 to 100 health score and a letter grade, read straight from the signals already in your receipts. Each point off is traceable to a specific signal, so a poor grade tells you what went wrong, not just that something did. Deterministic, with no LLM and no labels.

Grade bandsA 90+B 80+C 70+D 60+F <60
Scored as they land

Or grade your own run, no account

terminaloffline
$ prova-local --file claims-run.ndjson
Run health: F  (35/100).  Flagged. Clearly broken.  signals: coordination_loop, severe_finding

Prova found 1 issue in this run (nothing left your machine).

  ! LOOP     coordination loop claims-orchestrator -> claims-history -> policy-match -> reviewer -> claims-orchestrator (persisted 8/10 steps)

  spend      $0.0421 (local estimate); top driver claude-opus-4-7 (78%)
  top call   claude-opus-4-7 $0.0123
  steps      10   model calls 6

  Local estimate. Send these events to Prova for a signed receipt + dashboard.

The same score runs offline in the SDK with no account, and on the dashboard once you ingest. Free on every plan. How it works

Grade your runs free →

Why not just observability?

Observability shows you traces. Prova gives you a verdict, and acts on it.

LangSmith, Langfuse, and Helicone show you what your agent did: every token, span, and dollar. Useful, and not the question you have when a run goes sideways. Prova answers that one, then does something about it. Every step below is an Ed25519-signed receipt anyone can verify offline without trusting us.

Them

Observes. Counts tokens, charts cost, alerts when something is high.

Prova

Enforces. Hard-blocks at the gateway when monthly budget caps are crossed. Signs the receipt of every block.

Them

AI gateway with virtual keys that carry budget caps. Per-key attribution.

Prova

Per-agent attribution in multi-agent systems, not per-key. Plus runtime autonomy boundaries (allowed_tools, max_steps, data_scopes), not just spend.

Them

Eval and tracing for LangChain runs. Run hierarchy with per-node cost.

Prova

Signed receipts that survive vendor lock-in. Customer-verifiable audit trail any regulator can verify offline against a published public key.

Them

Open-source proxy with per-key budgets. Returns 429 when over.

Prova

Same enforcement plus tamper-evident audit, autonomy boundaries, EU AI Act / FDA / SEC export, and a built-in policy library covering PII, secrets, prompt injection, residency.

The shared moat: every Prova decision lands as an Ed25519-signed receipt in an immutable Audit Vault. Helicone, Portkey, LangSmith, and LiteLLM can copy any chart in days. None of them can copy a signed audit trail without re-architecting from the data model up.

How it works

Plug Prova in once. Sign every AI decision after.

01

Install the SDK

One line in your existing LangGraph, CrewAI, or custom agent code. No infrastructure changes.

pip install prova-sdk
02

Wire the callback handler

Every LLM call, agent step, and tool use becomes a signed receipt in real time. No replay, no batch jobs, no slowdown.

from prova_cp import ProvaClient, ProvaCallbackHandler

prova = ProvaClient(api_key=os.environ["PROVA_API_KEY"])
handler = ProvaCallbackHandler(
    prova,
    app_id="claims-orchestrator",
    break_on_loop=True,
)
graph.invoke(inputs, config={"callbacks": [handler]})
03

Every decision on the record

Receipt in the Audit Vault, cost attributed per agent, monthly_budget_cap policy blocks at the gateway if you crossed your cap. Alert in Slack via the webhook dispatcher.

What you grow into

Start with one run. Cover the whole org.

Prova is the system of record for every AI decision your enterprise makes. The same signed receipts that grade your runs become that record as security and compliance adopt Prova across the org. Each piece below is shipped, with a live dashboard or docs behind it.

Audit Vault

Every model call, agent run, tool use, and RAG step as a tamper-evident, signed receipt.

Read the spec

Policy Engine

19 built-in policies (PII, secrets, injection, residency, budget caps) plus a JSON-DSL editor.

See the library

Detectors

Five inline: coordination loops, prompt injection, PII leak, bias drift, groundedness.

Browse the catalog

AI Risk Score

One 0-100 score your board can read on a slide, with a signed quarterly export.

See the methodology

AI Inventory

Every AI integration in your org, including the dark ones wired up but never used.

How discovery works

Gateway + Boundaries

Declare what a run may do, then enforce it at the gateway before the call runs.

See enforcement
5
inline detectors
19
built-in policies
Signed
receipts
Air-gapped
deploy
SOC 2
Type 1 planned

EU AI Act · FDA · SEC · HIPAA

Every model call, agent run, and tool use lands in the Audit Vault as an Ed25519-signed receipt your auditor can verify offline, without trusting Prova. When the regulator asks what your AI decided last quarter, you hand them a signed export and an AI Risk Score they can read on one slide. A dashboard screenshot is not evidence. A signed, independently-verifiable receipt is.

Evidence and controls to support these obligations, not a certification. What we support