Privacy policy
What leaves your machine, to whom, and when
This is the privacy policy for Tenku, a local-first desktop app that triages your Gmail (open source). Tenku runs on your own computer and uses your own AI key. The data-flow rules below are the same contract Tenku's code is held to; if the code and this document ever disagree, that is a bug.
Tenku talks to just two kinds of service, both under accounts you control: Google (your Gmail) and the AI provider whose key you supply (message classification and the AI actions you ask for). There is no Tenku server, no account, no telemetry, no crash reporting, no analytics, and no ads. Tenku never sells, rents, or shares your data.
You bring your own AI key
Tenku does not include an AI service of its own, and it never sends your mail to Tenku. Instead, you supply an API key from an AI provider, and Tenku talks to that provider directly on your behalf. Nothing is bundled, and your key is never shared.
Today that provider is Anthropic, the maker of Claude, and the details below describe how Tenku talks to it. Support for choosing other providers — Google and OpenAI among them — is planned; as each arrives, the same rules about what leaves your machine will apply, and this policy will name it.
To Google
Google already holds your mailbox. Tenku is a Gmail client acting on the account connection you authorize (OAuth, the gmail.modifyscope plus any opt-in scopes). What it exchanges with Google:
| When | What |
|---|---|
| Sync (automatic) | Read-only fetches of message metadata and snippets. Full message bodies are fetched only for a message you open. |
| Action mirror (your gestures) | Archive / star / trash / spam / read / snooze label changes, sent through the outbox. |
| Send or save draft (your gesture) | The full composed message — recipients, body, and attachments. |
| Contacts refresh (opt-in, default off) | A read-only fetch of your contacts list. |
| Instant sync (opt-in, default off) | Pub/Sub pulls; the notification payload carries no message content. |
To your AI provider — the egress boundary
This is the one place your mail content can leave your machine for AI. Your provider is Anthropic today; the same boundary holds for any provider you connect.
On classification (automatic, batched)
Per message, metadata and the stored snippet only. The classification path cannot read a message body — no body column exists in the local database. What is sent:
- sender name, sender email address, and sender domain;
- the subject line;
- the snippet, already truncated to 100 characters or fewer at ingest;
- boolean flags: unread, has-attachments, is-reply, is-sent.
Plus a small corrections block derived from your own recent reclassifications (sender email, truncated subject, and the importance you chose). Recipients — To, Cc, Bcc — are never sent to your AI provider.
On explicit actions only
- Summarize — the full text body of that one message.
- Draft or reply assist — the reply target's full text body, plus the instruction and draft text you typed.
The body and the returned draft or summary exist in memory for that one request only: never persisted, never cached to disk, never logged. Attachment bytes are never sent to your AI provider at all — they move only between Gmail and your disk, on an explicit save or send.
Never sent to your AI provider
- message bodies on the classification path (impossible by construction);
- recipients, attachment bytes, or your contacts;
- OAuth tokens, API keys, or the database key.
Retention and model training
Once data reaches your AI provider, that provider — not Tenku — controls how long it is kept and how it is used. What Tenku does is use a provider's developer API under its commercial terms, which is the path that does not train on your content by default. Here is what that means in practice.
- Not used for training, by default. On the developer / API-key path, your inputs and outputs are not used to train the provider's models. This is true today for Anthropic's API, and holds for the OpenAI API and a paid Google Gemini project as those options arrive. It does not apply to consumer chat plans such as claude.ai or ChatGPT — so always use an API key from the provider's developer console, never a consumer account.
- Retention is not zero. Providers keep short-term logs — typically on the order of 30 days — for abuse monitoring and similar purposes. True zero-retention is an enterprise-only arrangement that needs a separate contract, so for an individual user the realistic floor is that standard retention window, not zero. Check your provider's current policy for the exact terms.
Important — a free Google Gemini key is different.When Gemini support ships, do not point Tenku at real mail with afree-tier Gemini key. On Google's free tier, your prompts and responses are used to improve Google's products andmay be read by human reviewers. Enable billing so your Gemini project is on the paid tier first — that is the only setting that turns this off. This does not apply to Anthropic, the provider Tenku uses today.
For the exact, current retention terms, consult your provider's policy. For the provider Tenku uses today, that is the Anthropic Privacy Center.
Tenku's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is never used to develop, improve, or train generalized AI/ML models.
On your machine
- The local cache — metadata, snippets of 100 characters or fewer, triage state, and action history — is SQLCipher-encrypted. The key lives in your operating system's keychain.
- Secrets (OAuth tokens, the Anthropic key, the database key) live only in the OS keychain — never in the database, logs, or IPC.
- Diagnostic logs are counts and durations only — never a subject, body, address, token, or key.
Kill switches and exit
- Pause AI stops all Anthropic traffic; Pause Gmail writes stops all mailbox changes. Both are enforced in the backend.
- Signing out revokes the Google grant (best effort) and clears the keychain tokens. Deleting the app's data directory removes the local cache entirely.
This website
This site (tenku.app) is a static page. It sets no cookies, runs no analytics, and makes no third-party requests. It exists only to describe Tenku and this policy.
Questions, or want to read the enforcing code? The contract and its source live on GitHub.← Back to home