Skip to content

The intent layer for AI agents

Your agents have a budget.
They don't have a brief.

Remit gives every agent session a declared scope, then holds it there — blocking the work you didn't ask for, and the spend that went with it. Nobody changes how they work.


You can answer what you spent. You can't answer what for.

Finance asks what the agents cost last quarter. You have that number. Then they ask what you got for it — and every honest answer starts with "we don't really track that."

You're governing the largest new line item in your engineering budget with the bluntest instrument you own.


Four systems. Same blind spot.

Permissions ask can this run?

They can't ask whether it should. The same repository access is correct for the engineer refactoring auth, and catastrophic for the agent that drifted into it.

Gateways see tokens, not intent

They report which team spent what. They can't report what it was spent doing, because nobody ever recorded what the session was for.

Your AI gateway knows who. Not why.

Extending your IdP to agents and cataloguing MCP servers is necessary work — keep it. But it tells you which human an agent acted for, not whether the action served the task.

Vendor consoles govern one vendor

And the tool being policed shouldn't be writing the policy.

The gap is identical in all four cases: nothing records what an agent session was for.


Declare the scope. Enforce it at the tool call.

Nobody types a scope. Remit resolves it from the first prompt the developer already wrote — "pick up ticket #35" becomes a statement of the work — and from the spawn payload for every subagent underneath. Every tool call is then checked against it before it runs: on-task work passes silently, off-task work is blocked with a reason the agent can act on. The scope lives outside the agent, so the agent can't rewrite it.

How Remit checks a session The session's first prompt is resolved into a scope. Every tool call the session makes is checked against that scope, and each is either allowed through or blocked. Scope #35 — update the v2 API reference docs Agent session ❯ Pick up ticket #35 and start working on it ▸ Read docs/api/v2.md ▸ Edit docs/api/v2.md ▸ npm run docs:build ▸ aws s3 cp ./dist s3://prod-assets resolved automatically REMIT Every tool call checked against the scope, before it runs tool calls Verdict ✓ Read docs/api/v2.md ✓ Edit docs/api/v2.md ✓ npm run docs:build ✕ aws s3 cp ./dist s3://prod-assets blocked — deploying isn't part of writing the docs How Remit checks a session The session's first prompt is resolved into a scope. Every tool call is checked against that scope, and each is either allowed through or blocked. Agent session ❯ Pick up ticket #35 and start working on it ▸ Read docs/api/v2.md ▸ Edit docs/api/v2.md ▸ npm run docs:build ▸ aws s3 cp ./dist resolved automatically Scope #35 — update the v2 API reference docs REMIT Every tool call checked against the scope Verdict ✓ Read docs/api/v2.md ✓ Edit docs/api/v2.md ✓ npm run docs:build ✕ aws s3 cp ./dist blocked — deploying isn't part of writing the docs
The scope is resolved from the first prompt — an instruction becomes a statement of the work. Everything after it is measured against that one sentence.

The blocked call, as the developer sees it

Green

Serves the scope. Silent, logged, no friction.

Red

Doesn't serve the scope. Blocked, with a redirect the agent can act on.

Remit is a small local agent that runs wherever your agents run, plus one control plane for the fleet.

On the machine

A local agent, alongside the tools you already run

It sees every tool call before it executes and enforces there. No proxy to stand up, no keys to move, no change to anyone's editor or workflow — and nothing new in the path that can take your agents down.

The control plane

One place for the whole fleet, yours or ours

Every scope, verdict, model and cost lands in a single view — across machines, teams and whichever agent tools they're using. Self-host it, or let us run it.

Rules

Optional on day one

It records from the moment it's installed, before you've written anything. Add a sentence when you see something worth stopping. You end up with a handful of rules, not a policy library.


One set of rules. Two budget lines.

Plain sentences in a file in your repo. No DSL, no policy syntax, nothing to learn — the classifier reads English, so a rule is just the thing you'd say to a new starter. Versioned and reviewed like the rest of your code.

REMIT.md
## Policy

- Test agents don't write to the source directory.
- Exploration work doesn't run on the top-tier model.
- Nothing leaves the repo without an explicit ask.

The first is a security rule. The second is a cost rule. The third is both. Remit doesn't need to know which is which — same sentence, same enforcement point, same check.

Which is the commercial point: the security budget and the cost budget pay for the same install.


The access problem you can't dial

Agents get more useful the more you give them. The repository. The ticket system. The cloud console. The secrets manager. Every one of those is also the blast radius — so you're choosing between a useful agent and a safe one, and both answers are wrong.

Permissions are static. Work isn't.

You grant an engineer repository access once and it holds for two years. The task it was granted for lasted an afternoon. Every session afterwards inherits the full grant, whatever it happens to be doing.

A credential read looks identical either way.

An agent debugging your payment integration needs the Stripe key. An agent that just read a malicious instruction in a GitHub issue also asks for the Stripe key. Same tool, same permission, same answer from every capability check you own.

Remit doesn't shrink the grant. It narrows the moment. Standing access, situational use — the agent can still reach production, just not while it's writing documentation.


A gate, not a dashboard

Attribution by kind of work

You define the categories — planning, exploration, architectural design, remediation. Every session is tagged automatically, and every pound of spend lands in one.

Spend rolled up to the work item

Remit holds the parent–child tree and every subagent's scope. Eleven sessions and one bill become one ticket, eleven tasks, and a line for each. Anything watching sessions in isolation sees eleven strangers.

The right model for the work

"Exploration runs on the mid-tier model." One line of policy, enforced at the session and inherited by every subagent spawned from it.

Enforcement, not reporting

Reporting tells you what happened last month. Remit stops it happening — blocked calls and redirected agents, at the moment of the call.

An end to the conversation you keep having

Policy in a wiki is a suggestion. Policy at the tool call is a control. Nobody has to be policed by their manager.

An audit trail that means something

Not "an agent accessed the secrets manager" but "an agent scoped to a docs update tried to read production credentials, and was stopped."


Two questions they'll ask first

"Does this sit in our inference path?"

No. No proxy to stand up, no gateway to route through, no keys to migrate, no change to billing, and no new dependency in the critical path. Your subscriptions and provider contracts stay exactly as they are. Remit runs at the tool call, locally — so there is nothing to re-plumb and nothing new that can take your agents down.

"How does it sit with the AI gateway we're already buying?"

Underneath it. A gateway controls access — which agent may reach which system, as which identity. Remit controls relevance — whether this call serves what this session was asked to do. Neither substitutes for the other. If you have an identity layer, Remit is the layer it can't see.


Audit it before you install it

Open source

Free

Self-hosted, unlimited. Source-available core — read it before it touches a fleet.

Enterprise

£30 / developer / month

Fleet dashboard, central policy, SSO, audit export, support. Self-hosted or managed.

Pilot

30 days

One team, free. You'll know inside a week whether the catches are real.


You'd never hand a contractor your keys without asking what they're here to do.

Your agents have the keys. Nobody asked.

Remit is early. The enforcement engine works today on Claude Code: scope capture, live classification of every tool call, blocking with redirect, local audit log. The fleet dashboard, spend attribution and multi-harness adapters are in build.

It exists because we ran agent fleets and watched them drift — committing to the wrong branch, reviewing PRs nobody assigned them, reaching for credentials they had no business touching. Every one of those was inside its permissions. None of them was inside its brief.

We're taking a small number of design-partner pilots now.