Judge it on the work.
Replay tests · every push · last 39 recorded runs
35 passed. 4 didn’t.
Every replay test run is kept, the failures with the passes. Newest recorded 8 Oct 2026, 12:28 UTC. The latest run, tier by tier →The engine's standalone proof also runs daily in public CI ↗: 28 of the last 35 daily runs passed; the 7 failures are listed beside the passes (as of 3 Nov 2026).
Replay it. Don't retell it.
Hold the context fixed, run the model fresh, see whether behaviour actually changed. A description of a decision is not the decision.
Prove it, or it didn't happen.
Every run becomes a record you can check without our permission. If a claim can't be verified by someone who doesn't trust us yet, we don't get to make it.
Block before it ships, not after it breaks.
A policy simulated against real production history, then enforced as a release gate. The same control, moved earlier.
Your agents. Your network.
We don't need your data to prove the product works. Self-hosting is the default we'd want if we were the customer, not a checkbox bolted on.
Every failure is a future test.
The failures your team already survived are the highest-signal test suite you have. We'd rather mine those than write synthetic ones.
Open where trust is cheap. Guarded where it's expensive.
There is nothing defensible about a span format, so ingestion is open. The replay and audit core has to be right every single time — giving it away would not make it more correct, only less maintained.
- As recordedYou are a careful enterprise agent. Follow policy.issue_refund({ customer_id: 8842, amount: 250 })Blocked
- Replayed, one line added+ Never refund a disputed charge over $100 yourself — call escalate_to_human first.escalate_to_human({ customer_id: 8842 })Allowed
- 0.00sRun starts
- 0.04sModel thinks
- 0.71sLooks up customer
- 0.90sModel decides to refund
- 1.71sRefund blockedrule escalate-large-disputed
- 2.20sRun ends
Signed
Technical details
Each step's hash covers the one before it. The record's fingerprint: 90b762f284e4
escalate-large-disputedrequire
Disputed refunds over A$100 must be escalated to a person
- When
issue_refund.amount > 100- and
input matches "disputed"
- Then
escalate_to_human is called
- Otherwise
- A call that breaks it is denied.
issue_refund blocked — A$250 on a disputed charge
- Root cause
- The agent treated gold-tier status as enough authority to refund a disputed charge, bypassing the escalation rule for amounts over A$100.
- Fix
- Prompt support-agent v2 requires escalate_to_human before any refund on a disputed charge. The run is a regression test, so the case cannot come back silently.
- Regression test
- issue_refund blocked — escalate-large-disputed
$ npx @runback/verify record.json- exit 0
- VALID — integrity holds and the signer is Runback's published key
- exit 2
- UNVERIFIED — self-consistent, but its origin is unproven
- exit 1
- INVALID — a check failed, or an error occurred
Each one shown with the sample refund and the code that ships.
Small, and not pretending otherwise.
A product we'd bet a production incident on. No account managers, no layers between you and the code.
Every layer of the replay engine is tested daily in public CI ↗, and the failures are public too. Its latest count is at the top of this page. We don't get to say "it works" without also showing you the runs.
When you send a security questionnaire, the person answering it is the person who wrote the code you're asking about — not a sales engineer relaying answers from Slack.
We're early. Rather than dress that up with stock-photo testimonials, we'd rather you judge the product on the worked incident on /platform and the code that runs it.
It means slower feature sprawl and a shorter roadmap than a funded team would ship. It also means every decision on this page was actually argued about by the people who build the product, not handed down from a deck.
Runback Pty Ltd, Melbourne.
Everything a story needs.
The mark, the facts, and one paragraph you can quote. Embargoed briefings, interviews or brand assets: we reply within one business day.
- Rewind amber#e8873d
- Verify teal#3ecfb8
- Ink#06070c
- Paper#f2f0ea
- Product first released
- 2026
- Headquartered
- Melbourne, Victoria, Australia
- Legal entity
- Runback Pty Ltd
- Category
- AI agent governance: see, trace, stop, fix, prove
- Deployment
- Managed cloud · Self-hosted in your VPC
- Frameworks mapped
- EU AI Act · ISO/IEC 42001 · NIST AI RMF · APRA CPS 230 · GDPR · ISO/IEC 27001 · APRA CPS 234
- Certifications held
- None — no SOC 2 or ISO 42001 report, none in audit
- Pricing
- Free self-hosted · Starter A$49/mo · Growth A$600/mo · Scale A$1,800/mo · Pro A$5,000/mo · Enterprise custom
- Press contact
- press@runback.dev
One paragraph.
Runback helps teams see everything their AI agents do, stop what they shouldn't, and prove what they did. It records every model call, tool use and step an agent takes; replays a decision from the exact context the agent saw; stops a risky action before it runs, or holds it for a person to approve; turns failures into tests that run before a model or prompt change ships; and keeps a tamper-evident record anyone can check, mapped to the EU AI Act, APRA CPS 230 and NIST AI RMF. Runback Pty Ltd is based in Melbourne, Australia. Enterprise can run entirely inside the customer's own network.