Surfil
// By problem

Block the leak or the injection before it ever runs

Guard evaluates every tool call on-device before execution - catching secrets and prompt injection pre-flight, and failing closed whenever a call is ambiguous.

surfil · guard - simulate → enforce
Protection rules
Secret firewall
Injection scoring
Command blocking
Sandbox isolation
highInjected tool-call via retrieved doc0.82 → blocked
How it works

The chain that removes it

Agents can run shell commands, hit the network, or paste a secret. Most of the time it is fine; occasionally it is not, and by then it has happened.

1

Screen every call

The secret firewall and OWASP-scored injection checks run on-device before any payload can leave.

2

Simulate before enforce

See exactly what would have been blocked on real traffic before a single rule ever goes live.

3

Enforce fail-closed

Ambiguous or high-risk calls are blocked by default and routed to human approval, not allowed by default.

First signed receipt: A signed would-have-blocked report from your own week of real agent traffic.
What holds

How it stays out of the way

No fixed injection rate

Scores are OWASP-aligned and measured per environment; we never publish a fixed marketing detection number.

Invisible until needed

Safe, expected calls pass straight through, so Guard never becomes the thing quietly slowing the team down.

Nothing runs unchecked

Risky shell and network actions execute inside a sandbox instead of directly on your bare machine.

By problem

More in this view

Same spine, a neighbouring starting point.

Not the right lens? The same eleven paths are also organized by team size, by problem, and by persona on the solutions overview - pick whichever matches how you think.

Turn on the first stage today

The install is reversible byte-for-byte, and the first signed receipt arrives after one normal week of traffic.