SECURITY · LOCAL-FIRST
Your code never leavesyour machine.
No proxying. No mirroring. Memory is encrypted before it crosses the device boundary.
01 · TOPOLOGY
Two separate worlds.
Code path stays on your machine, going direct to your chosen model provider. Memory path is encrypted on device before anything reaches our cloud.
02 · WHERE EACH THING LIVES
No hidden copies.
| Thing | Where |
|---|---|
| Your source code | Stays on your machine. We never receive it. |
| Model traffic | Direct from your machine to your provider. We never proxy a token. |
| Memory chunks | Encrypted at rest in our DB. |
| Model API keys | Encrypted at rest in our DB. |
| Orchestration metadata | Our DB. Job IDs, timestamps, role labels. |
| Account + billing | Email, plan tier, Stripe references. |
03 · MEMORY PIPELINE
Four stages, all on device.
Your plaintext is never on the wire. Each chunk gets a fresh AES-GCM nonce.
- 01
tree-sitterAST chunker splits your code into chunks.
- 02
BGE-small-en-v1.5Embeddings happen on your device (384-dim).
- 03
AES-256-GCMa3f1 9b5c d1a8 e7c2 4f6d 0c91Each chunk is encrypted before it leaves.
- 04
milvus.upsert()a3f1··e7c2Ciphertext stored at rest in Milvus.
Plaintext never crosses the device boundary.
04 · WHAT WE HAVE
What we have access to.
- Job IDs, agent IDs, workspace IDs
- Phase change timestamps
- Account email + plan tier
- Stripe billing references
05 · WHAT WE CAN'T
What we cannot access.
- Your source code. It never leaves your machine.
- Your model conversations. Traffic is direct: your machine to your provider.
- Your memory in plaintext. Stored encrypted at rest.
- Your API keys in plaintext. Stored encrypted at rest.
06 · DISCLOSURE
Reporting issues.
Found a vulnerability? Email security@forestops.app. We respond within one business day and credit reporters in the changelog.
PGP fingerprint4F3A 9C21 7B8E 5D0C 1A6F 8B92 3E4D 7C58 A0F1 9E62