Governance for open AI agents
Your agent just ran a command.Did you sign off on it first?
BASTILLE is the governance layer for open AI coding agents - the structure that sits between an agent that moves fast and a system that can't afford to be moved fast at.
$rm -rf /
intercepted - awaiting sign-off
The problem
That's not speed. That's drift.
Edits land silently
File edits happen with no warning and no undo. By the time you notice, the file is already wrecked - and the tokens are already spent.
No audit trail
When the agent drifts somewhere you never asked for, there's no way to catch it before it lands. Only after.
Context dies, work repeats
Sessions fill up and die mid-task. You're left digging through logs, or paying to redo work that already happened once.
The fix
Keep the speed. Get the discipline back.
Agent runs whatever command it wants
Every bash command intercepted via AST. Destructive commands blocked.
File edits happen silently
Every edit waits for approval before it lands.
Model calls are a black box
Full request and response captured, every turn.
Context fills up, session dies
Instant, lossless compaction. No LLM call. No data lost.
pip / poetry / python chaos
Every Python install auto-redirected to uv.
Long tasks run with zero visibility
PTY-based orchestration - inspect, queue, restart, auto-compact.
The modules
A layer, not a framework
A small set of independent modules that discover each other through a lightweight event bus. Swap one piece without breaking the rest. Switch agents without rebuilding your whole governance setup.
Governance
Bash commands, file edits, and installs wait for sign-off before they run.
Observability
Every model call and governance event, captured in one audit trail.
Data Sovereignty
Local-first retrieval. Nothing leaves the machine.
Efficiency
Lossless compaction, leaner output, installs that go through uv.
Orchestration
Long-running agents and processes, managed through real PTY sessions.
Configurations
High-leverage agent definitions that enforce a methodology without capping intelligence.
Founder's note
"Agents don't need restrictions. They need structure, and some real sense of the scope of what they're doing."
Every module here came out of an actual failure - a command that ran without anyone's say-so, a session stuck behind a runaway process, a file overwritten before it was ever committed. The agent isn't the problem. The gap between the agent and the system is.
- why I built BASTILLE
Pricing
Free core, forever
€0forever
Entry governance modules, plus every skill. For good.
€19/mo · €190/yr
Full governance, local audit, personal data sovereignty.
from €21/seat/mo
Self-hosted Console, shared policy, Projects visibility for 50+ seats.
Have it try rm -rf /. Watch it get blocked.
pi install npm:@bastilleworks/pi-gatekeeperFree entry modules, plus every skill - for good.