TREFT Start free
Independent clearance for agent code

Approve agent work with evidence.

Connect GitHub. Treft re-runs the exact patch in a fresh sandbox, grades the evidence, and shows you where to look before you merge.

Nothing ships without your approval.

No card · start with one repo · no branch-rule changes

Make a change from your phone · Manage your PR queue · Verify a public repo

The Treft queue on iPhone: five pending decisions with review tiers — a GLANCE-tier EUR price fix, READ-tier webhook and invoice changes from GitHub pull requests, a FULL-tier payment worker change, and a question the agent paused on.
Everything here was graded before you opened it.

Any agent, or a colleague. They all get the same check, and the same approval. The author never grades its own work.

AI change control

Writing code got cheap. Reading it didn’t.

The flood is measured: GitHub’s Copilot coding agent alone created over a million pull requests between May and September 2025 (GitHub Octoverse · 2025).

More branches than hours

A branch opens in the time you spend phrasing the prompt. Reading it still costs what reading always cost: your whole attention, for however long it takes.

Fired off on a whim, filed unread

Nobody read the change before it reached you. The first person to read it is the one being asked to approve it. That is you.

Review, allocated

Not every diff deserves the same attention.

Treft stamps every verified change with a review tier: how much of your attention it earned.

GLANCE

One look at the one thing worth your eyes.

READ ×3

Read the marked hunks. Skip the noise.

FULL REVIEW

Slow down. The card tells you what set this off.

Every summary line cites the signal that earned it.

No cited signal · no summary
Review tier The top of a Treft decision card: intent 'Add exponential backoff to webhook retry delivery', a plain-words summary, and a READ review-tier banner citing 'large change surface · 3 files real surface'.
Verifier result Provenance and verifier result on the decision card: PR BY ATLAS-AGENT with an AGENT chip, a VIEW PULL REQUEST link, 4 files +89, and TESTS RE-RUN CLEAN-ROOM · L1 — the test suite passed on the exact patch that will merge.
Receipts The evidence block: vitest results for payments-api — 27 pass, 0 fail, 1 skip, 2.8s — and receipts, each citing its oracle: tests pass clean room (†CLEAN ROOM), no test files changed (†PATCH), changes confined to src/webhooks (†PATCH).
Your decision The decision dock: a hazard-striped HOLD TO SHIP control above REQUEST CHANGES and REJECT.
A real decision card. The repo is invented; the verifier output is not.
How it works

Three steps to a verified merge.

01

Connect a repository

One GitHub repo is enough. Open pull requests are picked up the moment you connect.

02

Treft verifies independently

You do nothing. Treft builds the change from scratch and runs your tests, then reports what happened in plain words.

03

You decide

Approve, reject or request changes, from your desk or your lock screen. You approve every merge.

No agent yet? Treft includes an engine, and its work is graded like every other agent’s.

Independent verification

Don’t trust the agent’s claim. Re-run the work.

When a card says verified, Treft ran the tests itself in a clean room, on a fresh checkout the agent never touched.

  • The diff that merges is the diff that was tested. Not whatever sits in the agent’s workspace, and not its word for it.
  • Your tests are protected. If the agent edited one, Treft puts the original back and says so on the card.
  • Unverified is explicit. When the tests cannot run, the card says so, and shipping anyway takes recorded consent.

We publish our verifier’s false-pass rate — measured against gold, published with confidence intervals. Others publish figures for benchmark tasks. Ours is measured on real repositories, against their own test suites. How often a passing run is still wrong: 15.4%, on a census of 389 verified passes across 38 production JS/TS repositories. Measured where we could measure hardest, then measured again across Go, Python and Rust: every interval overlapped it.

The objection

“I can just use my CI.”

You can, and you should. Treft is not a second CI. It is the part CI cannot do, because CI runs the tests the way it finds them.

The agent edited one of your tests
Your CI runs the edited test and reports green. It has no way to know the ruler moved.
Treft restores the original from base, runs your suite as you wrote it, and flags the attempt on the card. A pass obtained by weakening the ruler never counts as a verified pass.
What comes back
Your CI gives you pass or fail.
Treft gives you a grade that names what was established, receipts that cite the signal each one rests on, and a tier that says how much of your attention this change earned.
How often the green is wrong
Your CI does not tell you.
Treft publishes it. 15.4% of clean-room passes still carried semantic issues on independent review, measured on JS/TS repositories, with confidence intervals. We publish how that review was done.
Where it lands
Your CI posts a status check, and the merge button is still there.
Treft posts one too, called Treft Verification. Require it and GitHub blocks the merge while verification runs and when the clean room comes back red. Nothing merges until a person decides.

And the phone? GitHub Mobile shows you the pull request. It cannot re-run your tests on a machine the agent never touched, put back a test the agent weakened, or tell you which of forty changes deserves your morning. The phone is not the product. The evidence is. The phone is where it reaches you.

Who it’s for

Built for the person still reading.

You cannot read your way out of this. Treft checks the work, weighs what it finds and points you at the changes that earned your time, so you are working through a list instead of drowning in one.

The solo builder

I open more branches before lunch than I can read by Friday.

Keep up with the agents without staying up for them. Say yes from your phone, and mean it.

The team lead

My devs fire off agents and file the output unread. I’m the only one still reading, and I can’t keep up.

You don’t have to read it all, or take anyone’s word for it: not the dev’s, not the agent’s. The tiers tell you which changes need you.

The open-source maintainer

Strangers’ agents fill my queue with confident, untested changes.

Every open pull request arrives graded before you open a single tab. Nothing merges on vibes.

Composites, not customers. These are the people Treft was built for, described honestly.

Trust

Accountable by construction.

Rolling out controls after an incident? The 90-day reset →

Per-repo GitHub access

Treft sees only the repositories you connect, through a GitHub App you can revoke.

Sandboxed execution

Every run rents its own sandbox, and the network is cut by the host rather than by the guest, so code inside cannot open it back up. The sandbox is destroyed when the run ends, and nothing executes on your machines.

No silent merges

Every merge traces back to a person. We keep a name, a grade, and its evidence in an append-only record, hash-chained so an edit to the history shows.

Pricing

Start free. Pay for what runs.

Free gets the full product: 50 pull-request verifications a month and $5 of one-time usage credit, no card. Pro is $29.99 a month for the daily review loop. Public repositories: verification is free, forever.

See pricing →

Keep the final say.

Let the agents write the code. You keep the proof and the final call. And your evenings.

No card · choose one repo · disconnect anytime

Sign in with GitHub or Google on the web. Treft for iPhone is on the App Store. Get Treft for Android on Google Play. Get the iPhone app → Get the Android app →