Local-First Privacy means Tarsk keeps your projects, threads, settings, and conversation history on your Mac. The app runs with its own bundled runtime and stores local data in a local database.
You still choose what leaves the Mac. A request to a hosted model provider sends the prompt and the context needed for the response to that provider. Integrations such as MCP servers, Slack, and remote tools can also send data outside the device. Tarsk gives you a clear local starting point, then lets you control each network boundary.
Why local-first privacy matters
An AI coding assistant can see project files, terminal output, prompts, and model responses. Where Tarsk stores that information affects who can access it and how you can manage it later.
Tarsk keeps its main application data on the Mac. Your conversation history does not need a Tarsk-hosted history service. You can work with the desktop app or CLI and keep the same local projects and threads.
This setup gives you direct control over the machine that stores your data. You can protect it with your macOS account, disk encryption, backups, and normal file permissions. You can also delete local history or export a thread when you need a portable copy.
What Tarsk stores locally
Tarsk saves projects, threads, settings, messages, responses, and tool results in its local application data. On macOS, that data lives under your application support folder. Some interface preferences use browser storage.
Closing the main window may leave Tarsk running in the menu bar. Check the app state before you assume all activity has stopped. Tarsk may still handle work or make network requests while it runs.
How API key protection works
Add provider keys in Settings → Providers. Tarsk saves sensitive values in local application data and encrypts them with AES-256-GCM. The app sends a provider key to the provider that needs it for a request.
The local database does not replace basic Mac security. Protect your user account, application data folder, project folders, backups, and .env files. Do not put keys in prompts, screenshots, exports, or source-control repositories.
What leaves the Mac
Local-first describes where Tarsk keeps its core application data. It does not mean every request stays on the device.
Hosted model requests
When you use a hosted provider, Tarsk sends your prompt and the context needed for the model to answer. That context can include selected files, tool results, and parts of the current conversation. Read the provider’s privacy and retention terms before you send sensitive project data.
Use a local model provider when your workflow requires local inference. Confirm that the provider endpoint runs on your Mac and that it does not forward requests to another service.
Integrations and tools
An MCP server can connect Tarsk to files, databases, remote URLs, and other services. Slack and other account integrations also create network traffic. Review each tool’s commands, environment variables, directories, database connections, and remote addresses before you enable it.
Give a tool the smallest access it needs. A file-search tool may need one project folder. It does not need access to your home directory.
Delete local data with care
Deleting a branch removes its conversation data from the local database. The account-delete action removes the local database and related local logs. These actions are destructive, so export anything you need before you delete it.
Local deletion does not remove copies held by:
- A model provider that received a request
- Slack or another connected service
- An external log service you configured
- An exported JSONL file
- A project
.envfile - A backup or disk snapshot
A practical privacy checklist
Use these steps when you start a privacy-sensitive project:
- Keep Tarsk on its default localhost setting. Enable LAN access only when you need it.
- Choose a provider after you review its data and retention terms.
- Use a local model provider when the request must stay on the Mac.
- Check MCP tools and integrations before you connect them to the project.
- Keep debug logging off unless you are investigating a problem.
- Protect your Mac account, project folders, application data, backups, and
.envfiles. - Review exports before you send or store them.
- Start a new thread when you need a separate conversation. Delete old threads when you no longer need them.
A new thread does not delete older conversations. Local history remains until you remove it.
Common misunderstandings
“Local-first means no data leaves the device.”
Tarsk stores core application data locally. Hosted model requests, integrations, updates, and optional diagnostics can use the network. Check the provider and tool you select for each task.
“Encryption makes the Mac irrelevant.”
Tarsk encrypts stored sensitive values, but your Mac account and files still need protection. A person or process with access to the device may also access local application data, project files, backups, or exports.
“Deleting a thread removes every copy.”
Deleting local history affects the local copy. It does not delete records already sent to providers or integrations, and it does not find copies in exports and backups.
“A new chat clears sensitive history.”
A new chat creates a new thread. Older threads remain in local history until you delete them.
Summary
Local-First Privacy in Tarsk keeps your projects and conversation history on your Mac and gives you control over the services that receive your data. Tarsk encrypts stored provider keys, supports local model providers, and lets you export or delete local conversations.
Review the provider, tool, and logging settings for each project. Protect the Mac and local files that hold your work. Use the smallest network and tool access that your task requires.