How it works
The workload never sees a real token.
Treat every agent as compromised: it reads untrusted content, sees private data and talks to the network. Runabot gives it no reusable secrets and only approved destinations.
Untrusted agent, IDE or CI job
GITHUB_TOKEN=rb_scoped_7f3a…
Checks policy, swaps the credential, writes the trace
Git, MCP, web, search, LLM, packages
Authorization: Bearer ghp_real…
What a compromised agent can still do.
Runabot does not rely on every workload behaving well. Each control limits what an attacker gains from a successful prompt injection or a malicious package.
Agents, IDEs and CI jobs run behind the same proxy.
The controls that make autonomous agents safer also reduce credential theft and data exfiltration in everyday software development.
Every request the agent makes is in the trace.
The proxy writes logs and OTLP-compatible traces for audit, debugging and evaluation. You see how an agent used its tools, where it got stuck and which responses changed its next step.