StashBase is an open-source, local-first writing workspace made by StashBase Inc. Your files stay on your computer. Their content leaves it only when you use an agent or turn on search by meaning, and this page says where it goes in each case. Usage statistics, which you can turn off, record what the app does and the errors it hits. The desktop app and this website are covered separately.

The desktop app

Your files stay on your computer

StashBase opens folders where they already are. It does not upload, sync or copy them to a StashBase server, and removing a project from StashBase does not delete its files. Text prepared from PDFs, Word documents and images, along with search indexes, is stored in the app's local storage on your machine. PDF text extraction and OCR run locally; the components they need are downloaded on first use.

Browsing, previewing, editing, file preparation and keyword search need no account.

What leaves your computer

Claude Code, Codex and Antigravity. StashBase runs these as the command-line tools installed on your computer. Your prompts and the file content the agent reads go from that tool to Anthropic, OpenAI or Google, under the account you already have with them, and their privacy terms apply. This traffic does not pass through StashBase's servers.

Default Agent. The built-in fallback agent sends your prompts and the context needed to answer them through StashBase's hosted model gateway (api.stashbase.ai), which forwards them through OpenRouter to the model you select, Anthropic's Claude Haiku 5.5 by default. The gateway does not log or store your prompts or the replies, and we do not use them for training. It records only how much of your credit allowance each request used. OpenRouter and the model provider process the request under their own privacy policies (OpenRouter, Anthropic). If you would rather your prompts go straight to a provider under your own account, use Claude Code, Codex or Antigravity instead. The Default Agent requires a StashBase account.

Search by meaning. Off by default. If you add your own OpenAI or OpenRouter key, the text being indexed and your search queries are sent to that provider to create embeddings. Keyword search never does this, and Default Agent credits do not cover it.

External MCP clients. A client you connect can read and edit only the project you explicitly select and authorize.

StashBase account

An account is only needed for the Default Agent. You sign in with a code sent to your email address or with Google. We receive your email address and a user ID, plus Google profile information if you use Google. We use your name to show who is signed in and your user ID to track Default Agent credits and to link usage statistics to your account while they are on; the website and app show initials instead of your Google profile picture. Authentication is handled by our API using Better Auth. If you sign in on this website, an HttpOnly cookie maintains your session; short-lived API tokens are kept in memory. The Account menu shows your email and remaining Default Agent allowance. Signing out there ends only that browser session. To delete your account and its data, email bingwu@stashbase.ai; we delete it within 30 days. Google user data below lists exactly what we receive from Google and how we use it.

Paid plans

Plus and Pro subscriptions are paid through Stripe Checkout. Your card details go to Stripe, not to us. We keep your plan, subscription status and renewal dates with your account so the app and this website can apply your credits. Stripe processes payments under its own privacy policy and sends billing emails such as renewal reminders.

Usage statistics and error diagnostics

The app shares usage statistics and error diagnostics by default, sent to PostHog (US-hosted). This applies to official builds and to builds you run from the source code. You can turn both off at any time in Settings → General → Privacy → Share usage statistics; every feature works the same either way. We use them to see which features are used, whether people come back, and to find and fix problems. We do not sell them or use them for advertising.

What each event carries. A random event ID and time, the app version, whether it is an official or source build, your operating system, a random installation ID, a random anonymous ID and a session ID. None of these come from your hardware. When you are signed in, events also carry your StashBase account ID.

What is recorded. The app opening and being in use (at most once a minute, and only while a window has focus and you use the keyboard, mouse or trackpad); reading or editing a document, with its file format but none of its text; projects opening or failing to open; agent turns, with which agent ran, the stages it went through, how it ended, how long it took and a summary of the tools it used; agent setup, startup and shutdown steps; whether saves and the file reads and writes made by agents and connected clients succeeded; signing in and out; and opening checkout or subscription management, along with your plan. The full list is in the app's usage statistics document.

Error diagnostics. When something fails or degrades, the app sends the error message, stack trace and a bounded excerpt of process output. These can include file and folder paths, project names, and names that appear in them, such as the user name in your home folder path. Known credential patterns, such as API keys and tokens, are filtered out before sending.

Linking to your account. When you sign in, activity on that installation since the last sign-out, and activity from then on, is linked to your StashBase account ID, and PostHog keeps a profile for that ID. Signing in with the same account on another computer links that computer's activity to the same profile. The link uses the account ID, not your email address, name or picture, but we can match the ID to your account. Signing out starts a new anonymous ID that is not linked to the account. Events sent while you are not signed in create no profile.

IP addresses. Each event asks PostHog to skip GeoIP lookup and record no IP address, and our PostHog project is set to discard client IP addresses, so they are not stored with events. Events wait on your computer for up to 30 days if they cannot be sent, and are delivered through your system proxy.

What is never sent. Document contents, chat transcripts, prompts, replies, search terms, keystrokes, hardware identifiers, full logs, screenshots or clipboard contents. There is no click tracking, session replay or conversation tracing.

Turning it off. Turning statistics off stops sending, cancels events waiting to be sent and deletes the local IDs. Turning them back on creates new IDs and never sends past activity; if you are still signed in, new activity is linked to your account again. The switch cannot recall events already received. To see or delete the statistics linked to your account, email bingwu@stashbase.ai; deleting your account deletes them too.

Updates, crashes and bug reports

The app checks GitHub Releases for new versions and downloads updates from there, so GitHub sees your IP address when it does. The Gallery list and its images load from assets.stashbase.ai, served through Cloudflare, or from the jsDelivr CDN.

When the app or an agent crashes, the details are sent only as error diagnostics, and only while usage statistics are on. Report a bug sends nothing by itself: you choose what to include, such as a screenshot, logs and diagnostics, which are saved to your Downloads folder, and a new GitHub issue opens with your description filled in. Nothing reaches us until you submit it there, and GitHub issues are public, so review the files before you attach them.

This website

stashbase.ai is a static site served through Cloudflare. We use Google Analytics 4 to count page views and a few actions: clicks on download buttons, which platform was chosen, clicks through to GitHub Releases and Discord, and copying a code block. We do not run ads or sell data. The sign-in callback page does not load Google Analytics.

Downloads are served from GitHub Releases, and the community is on Discord. Each has its own privacy policy.

Google user data

StashBase uses Google only to sign you in. When you choose Continue with Google, in the app or on this website, we ask Google for the basic email and profile scopes and nothing more. StashBase does not read your Gmail, Drive, Calendar, contacts or any other Google data.

What we receive

Your Google account ID, your email address and whether Google has verified it, your name, and the address of your profile picture.

How we use it

To create your StashBase account and sign you in, to show which account is signed in, to count your Default Agent credits and link a paid plan to your account, and to reply when you contact us about your account. We do not sell it, use it for advertising, or use it to train or improve AI models. Usage statistics are linked by your StashBase account ID; none of the data we receive from Google is sent with them.

Where it is stored and who can see it

Our API uses Better Auth and stores your account and Google identity in our database. Supabase continues to process existing accounts during the transition for older desktop versions. The desktop app keeps your session, name and email address in its settings on your computer. This website keeps its session in an HttpOnly cookie; short-lived API tokens stay in memory. Authorized members of the StashBase team can see your account profile in our admin console. Resend processes your email address to deliver account verification codes. The model providers behind the Default Agent receive a separate ID that contains neither your name nor your email address. We do not share your Google user data with anyone else unless the law requires it.

How long we keep it

For as long as your account exists. To delete your account and this data, email bingwu@stashbase.ai and we delete it within 30 days. You can also remove StashBase's access on your Google Account's third-party connections page. That does not delete your StashBase account; email us for that.

Limited Use

StashBase's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

Contact

StashBase Inc. For questions about privacy, or to see or delete your data, email bingwu@stashbase.ai.