Trust
Local by design
Your data stays on your Mac. No telemetry, no tracking, and no outbound calls except to the engines you choose. You can prove it with one command.
- Research pod3 workersrunning
- Build pod4 workerswaiting approval
- Review pod2 workersidle
Guarantees
Six things the product does today
Each one is built into the core, not left to configuration.
One SQLite file per instance
All state for an instance lives in one SQLite database inside its own data directory. Nothing is shared between instances, and nothing is sent to a hosted service.
No telemetry, no tracking
There is no analytics code and no telemetry setting to turn off. The core makes no network calls.
Only engines leave the Mac
The only outbound traffic is the engine CLI you chose (Claude, Codex, Antigravity or Gemini) talking to its own provider. PilotPods itself makes no network calls.
Console on localhost
The web console and API bind to 127.0.0.1. Every request checks the Host and Origin headers and a per-start token, so other sites and other machines cannot reach it.
Secrets stay in Keychain
API keys live in the macOS Keychain under the instance prefix. Config files hold only a pointer to the item name, never the value.
A real kill switch
STOP ALL ends every session and daemon for an instance in one action, from the console or the command line.
Verify it yourself
Check it yourself
verify-isolation checks the instance and the code, then reports pass or fail. Run it any time, for example after an upgrade.
- Zero outbound network calls from the core
- No tracking or analytics code in the repository
- No writes outside the instance data directory
$ pilotpods verify-isolation --instance default$ pilotpods doctor --instance default$
Output above is illustrative of the checks; run the command for your own result.
What lives where
Every piece of data has one home
Each instance gets its own folder, ports and Keychain prefix, so a second instance cannot read the first.
| Item | Where it lives | Leaves your Mac? |
|---|---|---|
| Tasks, pods, tickets, spend | SQLite database in the instance data directory | No |
| Approvals and QC register | approvals.jsonl, append only, in the data directory | No |
| Audit trail | Append only events for wake, terminate, approval and spend | No |
| API keys | macOS Keychain, service name pilotpods-<instance>-<engine> | Only to the engine you chose |
| Prompts and replies | Sent through the engine CLI you selected | Yes, to that engine's provider |
| Console and API | 127.0.0.1 on the instance port block | No |
6 of 6 items shown
One Mac
no shared state between instances- own SQLite database
- own port range
- own budget cap
- own SQLite database
- own port range
- own budget cap
- own SQLite database
- own port range
- own budget cap
Control
You stay in charge of what agents do
Agents work inside limits you set, and risky steps wait for you.
Approvals
Spend cap breaches, hires, deliverables and actions can create an approval request. The work pauses until you approve or reject it in the console. Every decision is written to the register.
Daily spend caps
A budget gate checks the cap before any engine spend. Each instance has its own daily cap, and warnings fire as you near it.
Append only audit log
Wakes, terminations, approvals and spend are recorded as events you can read back with the audit command.
Kill switch
Stop every daemon and session for an instance at once. The command reports how many sessions it ended.
The one boundary
What does leave your Mac
When an agent runs, your prompt goes to the engine you assigned, using that engine's own CLI and login. That traffic is governed by the engine provider's terms, not by PilotPods. Pick the engine per pod, and keep sensitive work on an engine you trust.
- You choose the engine for each pod
- Engines read keys from your Keychain, not from files
- Grok is monitor only today
- Claudeincl. Amazon Bedrock
- CodexCLI
- Antigravitylocal app
- GeminiCLI
- Grokmonitor only
Questions
Security questions, answered
Run your first pod in minutes
Install on a Mac, create an instance, and open the console. Everything stays on your machine.
- MIT licence
- No telemetry
- CLI and console
$ ./install.sh$ ./pilotpods init --instance default$ ./pilotpods ui --open