Local-first in StashBase means your files stay in the folders where they already are, and everything StashBase builds from them is stored on your computer. The AI is not local. When you chat with an agent, your prompts and the file content it reads go to that agent’s provider.
What stays on your computer
Your files. StashBase opens folders in place. It does not upload, sync or copy them to a StashBase server, and removing a project from StashBase does not delete its files. They stay ordinary files that any other app can open.
The text and indexes built from them. Text extracted from PDFs and DOCX files, OCR from images, transcripts of audio and video, and the search indexes are kept in app storage on your machine. They are not added to your folder and not sent to a server. Removing a folder from the Library clears them without touching your files.
The work that builds them. PDF text extraction, OCR and transcription run on your computer. The PDF and OCR components download on first use, and transcription uses a speech model you download once.
Browsing, previewing, editing, file preparation and keyword search need no account.
What leaves, and when
Your text leaves your computer in two cases: you use an agent, or you turn on search by meaning.
| When you | What is sent | Where it goes |
|---|---|---|
| Chat with Claude Code or Codex | Your prompts and the file content the agent reads | Anthropic or OpenAI, under your own account. This traffic does not pass through StashBase’s servers |
| Chat with Default Agent | Your prompts and the context needed to answer | StashBase’s hosted gateway, which forwards them to DeepSeek |
| Turn on search by meaning | The text being indexed and your search queries | The provider whose key you added, OpenAI or OpenRouter |
| Connect an external MCP client | What that client reads from the one project you select and authorize | The client you connected |
| Leave usage statistics on | A small fixed set of app events. No documents, prompts, search terms, file names or paths | PostHog |
Search by meaning stays off until you add your own key, and usage statistics can be turned off under Settings → General → Privacy. The app also checks GitHub Releases for updates, so GitHub sees your IP address when it does.
The privacy page has the detail behind each row: how the gateway handles prompts, where DeepSeek stores data, and the full list of usage events.
What local-first does not mean here
The AI is not local
Claude Code, Codex and Default Agent all run on models hosted by their providers. If the model has to read a paragraph to answer you, that paragraph goes to the provider. What you choose is which provider: Claude Code and Codex use the account you already have with Anthropic or OpenAI, and Default Agent goes through StashBase’s gateway to DeepSeek. Chat in StashBase does not include a model that runs on your own hardware.
Not everything works offline
Browsing, editing and keyword search run on your machine, so they keep working without a connection. Agent chat and search by meaning need one. So does the first download of the PDF and OCR components and the speech model.
There is no built-in sync
StashBase does not sync folders between your devices. Projects are ordinary folders, so the sync or backup tool you already use can carry them, but StashBase does not do that for you. Indexes live in app storage, so each computer prepares its own from the files.
Open source covers the app, not the providers
StashBase is Apache-2.0, so you can read the code to check what the app sends. That does not extend to the services on the other end. Anthropic, OpenAI, DeepSeek and your embedding provider handle data under their own terms.
How this compares with the original definition
The term comes from Ink & Switch’s 2019 essay Local-first software, which lists seven ideals. Two of them are work that is not trapped on one device and seamless collaboration with colleagues. StashBase offers neither sync nor real-time collaboration, so it does not meet the full definition. We use the term for the narrower claim on this page: the primary copy of your work is a file on your disk, and the app works on it there.
Check it yourself
- Open a folder you know well and search by keyword. Results point back to the original files, and no account is needed.
- Turn off your network connection. Browsing, editing and keyword search keep working; agent chat does not.
- Before you point an agent at sensitive material, read that provider’s data terms. Choose and connect agents explains what each agent needs.
- Decide whether to keep usage statistics on under Settings → General → Privacy.
Frequently asked questions
Is my data private when I use Claude Code or Codex in StashBase?
Your prompts and the file content the agent reads go to Anthropic or OpenAI under your own account, and their privacy terms apply. That traffic does not pass through StashBase's servers.
Does StashBase use my documents or prompts to train models?
No. StashBase does not upload or store your documents. Default Agent prompts, and the context sent with them, pass through StashBase's gateway, which does not log or store them, and we do not use them for training. Anthropic, OpenAI and DeepSeek handle what they receive under their own terms.
Is search by meaning local?
No. It stays off until you add your own OpenAI or OpenRouter key. Once it is on, the text being indexed and your search queries go to that provider to create embeddings. Keyword search stays on your computer.
Do I need a StashBase account?
Only for the Default Agent. Claude Code, Codex, keyword search and file preparation all work without one. The FAQ covers uploads, offline use and sync.