Your source never leaves the machine: what K-S23 actually means
SecondOS uploads a map of your codebase, never the code itself. Here's exactly what that map contains, what it doesn't, and why the distinction matters.
The first question any team asks about a codebase tool is: what leaves my machine? For SecondOS the answer is a principle we call K-S23 — the map leaves, the source never does.
What the map contains
When you sync, SecondOS uploads a structure-aware map: file paths, symbol names and signatures, routes, the module layout, and vector embeddings for search. That's the interface of your code — enough for an AI tool to navigate it.
What it doesn't contain
It does not upload your source bodies — the actual implementation inside your functions. The map says hashPassword(password: string): Promise<string> exists in packages/auth/hash.ts; it does not carry the lines of the function. Secrets are detected and redacted before anything is uploaded — and surfaced to you, never silently dropped.
Why the distinction matters
A structure-only map is dramatically less sensitive than source. Your AI tool can still answer "who calls this?" and "what's the shape of this module?" from signatures and the call graph — without the code bodies ever leaving your machine.
If even the map should stay home
- Local mode (free): nothing leaves at all — the map lives in
.secondos/on your machine, fully offline. - Enterprise self-host: the map lives inside your own infrastructure.
- The GitHub App holds no
contentspermission — it cannot read your code. It lists repos (metadata) and triggers your own CI to keep the map fresh.
And your map and memory are yours: export them any time, no lock-in. Read the security details.