Letting AI agents write, review, and merge code in your repository is a real security decision. Each agent can read your source, run commands, push branches, and — if you let it — merge to main. The two questions that matter are where your code goes and what an agent is allowed to do when it misbehaves. A hosted agent platform answers the first question badly: your code and context flow through someone else's servers under opaque terms.
Fleet's security posture starts from a different place. It is a single self-hosted, local-first Go binary that stores state in ~/.fleet/fleet.db. An unregistered instance sends nothing to Fleet; a registered instance reports operational metadata and usage metering (agent status, run counts, run time) to the control plane — never your source code. Your code stays on your infrastructure — with one honest exception: agents send code to a model backend. That backend can be the Anthropic API, or Amazon Bedrock / Google Vertex running in your own cloud account, so the model traffic need never leave your boundary — though a model endpoint must always be reachable. On top of that local foundation, Fleet adds approval gates for risky actions, a risk model that auto-quarantines agents in a critical state, and least-privilege GitHub access. This guide walks through hardening each layer.