Gateway
Store your providers and API keys locally, encrypted with the OS keychain, and route AI tools through a local-only server that injects the real key so tools never hold it. Off by default; keys never leave the device and never enter a handover.
The Gateway lets you store your AI providers and API keys locally on this device and route your AI tools through them · so your tools can call a provider without ever holding the real key. It is off by default, and everything about it stays on your machine.
Your keys, stored locally
Add a provider and its API key in the Gateway, and Soil stores the key on this device, encrypted with the OS keychain. From then on:
- The key is never uploaded and never synced · not to Soil's cloud, not anywhere.
- The key is never written into a handover · like every other secret, it's excluded by design.
- The key is shown masked (for example
…1234) · Soil surfaces only the last few characters so you can tell keys apart, never the key itself.
Encrypted at rest with the OS keychain
Keys are encrypted at rest using your operating system's keychain. The raw key lives only in Soil's main process when it's actually needed to make a request · it is never surfaced back to the app window or exposed to the tools you route.
Route AI tools through a local server
When you turn the Gateway on, Soil runs a local-only server that listens
on your loopback address (127.0.0.1) · reachable only from this machine,
never from the network. You point your AI tools at it, and the Gateway:
- Routes each request to the real provider, and
- Injects your real key into that request · so the tool talks to the provider through the Gateway and never holds your key itself.
Your cloud is never in the path
Traffic goes device → provider directly. The Gateway runs on your machine and forwards to the provider; Soil's cloud is never in the path. When the Gateway is off, no server is listening and nothing is touched.
Activity: metadata by default
While the Gateway is on, it keeps a metadata-only activity list by default · which provider was called and when, not the contents of the request or the reply. That's enough to see what's flowing through the Gateway without keeping any of your prompts or responses.
Session capture (opt-in)
Session capture is a separate opt-in sub-toggle. When you turn it on, the Gateway keeps a local copy of requests and responses · the actual prompts and replies · on this machine only.
- Viewable and deletable. You can open captured sessions in the app and delete them at any time.
- Capped. Capture is bounded · old sessions are pruned and oversized bodies are truncated, so it can't grow without limit.
- Never synced, never in a handover. Captured content is never uploaded, never synced, and never written into a handover.
- Not analyzed. Soil does not analyze captured content · it's a local record for you to inspect, nothing more.
Off by default, and off means off
Both the Gateway and Session capture are off by default. With the Gateway off, no server is listening and no keys are used. With Session capture off (but the Gateway on), activity stays metadata-only · no prompts or replies are kept.
See also
- Features · the other opt-in, local-only capabilities Soil Desktop can offer because it runs on your machine.
- Account & privacy · what's stored on this device and what's excluded from every handover.
Features
Opt-in, local-only capabilities Soil Desktop can offer because it runs on your machine · Verify, Auto-save, Decisions → repo, and Quick access. Off by default, and a toggle only appears when the capability actually works.
Cloud backup
Off by default. Opt in to push handovers from this device to your Soil cloud account as a one-way backup · and delete those cloud copies to go fully local again.