Privacy
KeyMic is a keyboard, voice and clipboard utility, so it necessarily touches sensitive input. The short version: it works fully offline without an account, your keystrokes and clipboard never reach our servers, and the parts that do use the network are listed explicitly below.
For how this is enforced in the code — the network egress list, the secret scanner, the permission model — see Security & Architecture. This page covers what data exists and what we do with it.
What stays on your Mac
- Keystrokes and remaps. Processed in-memory by a local event tap. Never recorded, never transmitted.
- Clipboard history. A local database on your machine. Not synced, not uploaded.
- Vault secrets. Clipboard entries that look like credentials are diverted into the macOS Keychain instead of history. They never leave the Keychain.
- Voice. Audio is captured only while you hold the trigger key and is transcribed by a local speech model. It is not uploaded and not retained after transcription.
- Screenshots and annotations. Local files. KeyMic does not upload them.
What we hold, if you create an account
An account is optional. Without one, nothing below exists.
| Data | Why |
|---|---|
| Your email and profile basics from GitHub or Google | To identify your account. We never receive a password. |
| A session record | To keep you signed in on the web. |
| A hashed device token per signed-in Mac | So the desktop app can talk to your account. Stored hashed; revocable from your dashboard. |
| Your synced app settings | Only if you enable sync. Preferences and keybindings — not clipboard contents, not transcripts, not vault secrets. |
| Subscription status and Stripe identifiers | Only if you subscribe. Card details go to Stripe and never touch our servers. |
| Bug reports you submit | What you typed in the report, plus app and OS version. Forwarded to our issue tracker (Linear) so we can fix the problem. |
The settings-sync endpoint actively refuses to store credentials: a payload containing a secret-shaped key is rejected outright. We do not want your API keys and the server is built so it cannot keep them.
Anonymous usage telemetry
The desktop app sends anonymous usage signals to TelemetryDeck. This is on by default and you can switch it off in Settings at any time.
The signals carry no content — only things like which speech engine was chosen, whether a model download succeeded, timing numbers, permission states and which features were used. There is no code path that can send a transcript, a clipboard entry or the text of a screenshot. Details are in Security & Architecture.
This website
We use Vercel Analytics and Speed Insights for aggregate page-view and performance numbers. They are cookieless and do not build a profile of you, which is why you see no cookie banner — we are not setting tracking cookies to consent to.
Third parties
- Vercel — hosting and analytics for this site
- Supabase — the database behind accounts and sync
- Stripe — subscription payments; they handle card data, we never see it
- TelemetryDeck — anonymous desktop telemetry
- Linear — where submitted bug reports land
- GitHub — source, releases and update checks
- An LLM provider of your choosing — only if you configure one. That is your account and their privacy policy applies to what you send.
We do not sell your data and we do not run advertising.
Deleting your data
Uninstalling KeyMic removes the local database; clipboard history and vault entries go with it. Vault secrets held in the macOS Keychain can be removed with Keychain Access.
If you have an account and want it deleted, email lorne@keymic.io and we will remove the account, its sessions, its device tokens and its synced settings. We have not built a self-service deletion button yet; saying so is more useful than implying one exists.
Changes
If this policy changes materially we will update the date at the top. Because the site is open source, you can also see exactly what changed in the commit history.
Contact
Questions about any of this: lorne@keymic.io.