Skip to content

Legal

Privacy Policy

Last updated: October 2026

Overview

TypeWhisper is a local-first app for macOS, iPhone, iPad, Windows, and Android (in beta). By default, data is processed entirely on your device. If you explicitly configure a cloud or custom endpoint, the data needed for that request is sent to that provider.

Data Collection

TypeWhisper does not collect telemetry by default. Audio processing, transcription, and storage happen locally on your device by default. No audio or transcription data is sent to TypeWhisper-operated servers unless you explicitly install and enable Improve TypeWhisper, review selected corrections, and confirm a manual submission. If you opt into a cloud engine or configure a custom endpoint, data for that request is sent to the selected provider.

Website Analytics and Attribution

The TypeWhisper website uses a self-hosted instance of the open-source Plausible Community Edition to measure aggregate page visits, referring domains, campaign parameters, download choices, and checkout starts. Analytics data is stored on infrastructure operated by TypeWhisper and is not transferred to Plausible Cloud. Plausible does not set tracking cookies or store raw IP addresses. Download events contain only the platform, download target, page placement, language, and optional public app version; they never contain email addresses, license keys, audio, or transcription content. Standard UTM campaign parameters are kept in session storage for the current browser session and forwarded to Polar when checkout starts. No persistent visitor ID or cross-device profile is created by TypeWhisper.

Local Storage

TypeWhisper stores the following data locally in your OS-specific app data directory (for example Application Support on macOS or AppData on Windows):

  • Transcription history (text, timestamps, app context)
  • User profiles and settings
  • Downloaded AI models

This data is stored on your device by default and is not accessible to us. Optional cloud or custom endpoints only receive the request data you explicitly route to them.

Browser Extension

The TypeWhisper extension for Chrome and Firefox talks only to the TypeWhisper app on your computer, through its local API on 127.0.0.1. It does not connect to servers operated by TypeWhisper or anyone else, and it contains no analytics or tracking.

While "Share the active website with TypeWhisper" is on, the extension sends the address and title of the active tab to the TypeWhisper app, so that website workflows match. Private windows are reported as "no website". TypeWhisper keeps this report in memory and drops it after three minutes without a refresh. Turning the setting off withdraws the last report. If you dictate on a page, its address is saved with that dictation in TypeWhisper's local history, as app context.

The optional microphone button needs access to all websites. The browser asks for it only when you turn the button on. The button does not read, store, or send page content; TypeWhisper inserts the dictated text itself.

The port, the API token, and your settings are stored in the extension's local browser storage. The extension does not log tab addresses, page content, or dictated text.

Optional Premium Account and Sync

Premium Sync is optional. Sign in with Apple gives the TypeWhisper entitlement service a stable account identifier. The service stores only hashed account, license, StoreKit transaction, session, and device references plus entitlement status, tier, expiry, device limit, and verification time. Polar license keys are used for validation and are not stored or logged in their original form. Dictionary and snippet contents never pass through the TypeWhisper entitlement service: they remain in the private iCloud container or Files/Finder folder selected by you. Signing out or an expired entitlement pauses sync without deleting local or already synchronized data. In-app account deletion removes the TypeWhisper account and its entitlement links; cloud files remain until you delete them separately.

Android App (Beta)

The Android app is in beta and follows the same local-first approach. This section describes what it does with your data.

Speech recognition

By default, the app turns speech into text on your phone, with Parakeet, Whisper, or Nemotron. Audio leaves the phone only if you pick a cloud speech engine and enter your own API key. It then goes directly from your phone to that provider: Groq, OpenAI, ElevenLabs, Soniox, Meta, Reson8, Deepgram, AssemblyAI, or your own server. Model files are downloaded from Hugging Face; the app sends no account or device identifiers with these downloads.

Writing profiles

Writing profiles send the dictated or selected text to the language model provider you configure: OpenAI, OpenRouter, Groq, Meta, Anthropic, Google Gemini, or your own server. This only happens after you agree to it in the app. The privacy policies of these providers apply to what you send them.

Keyboard

The TypeWhisper keyboard is an Android input method. It processes what you type and the surrounding text only on your phone. Text from password fields is never sent to a writing model, and text from incognito fields is not saved to the history.

Storage on your phone

History, dictionary, profiles, snippets, and kept recordings stay in the app's storage on your phone. Android backup is turned off for the app. Voice profiles for speaker detection never leave the phone. API keys are stored encrypted with the Android Keystore. You can export or delete your data in Settings → Data and backup.

Premium on Android

Premium is bought through Google Play Billing. To tie Premium to an account, you sign in with Google or Apple. The TypeWhisper Premium service (app.typewhisper.com, hosted on Cloudflare) stores only hashed references: your account identifier, a random install ID per device, your sign-in sessions, your Google Play purchase tokens and, if you link one, your Polar license; plus your entitlement status. It does not store your name or email address. A Polar license bought on typewhisper.com can be linked to the account on the web.

No tracking

The Android app contains no advertising, analytics, crash reporting, or tracking SDKs. Feedback from the app reaches us only as an email that you send from your own mail app. It can include the app version, Android version, device model, and a short error log without dictated text. If you write to us on Discord instead, Discord's privacy policy applies to what you post there.

Deleting Your Account

You can delete your TypeWhisper Premium account in the app (on Android: Settings → Premium → Delete account) or on the web. The account deletion page explains both ways and what is deleted.

Optional Correction Contributions

Improve TypeWhisper is an optional marketplace add-on and is disabled by default. When enabled, only before-and-after text that you manually changed is queued locally; audio, target application, URL, and unchanged dictations are excluded. Nothing is uploaded until you select corrections, review the complete texts, and confirm sending. Submitted text is protected in transit and stored as application-level encrypted ciphertext. An anonymous contributor token is stored in Keychain; no email address or TypeWhisper account is required. Authorized TypeWhisper reviewers and a private validation workflow using Codex/OpenAI may process submitted pairs to assess training quality. You can delete a submission until it is incorporated into a validated dataset snapshot. Rejected, pending, or quarantined submissions that are not incorporated are automatically deleted after 90 days. Accepted contributions may be retained for model evaluation and training. Once incorporated into a dataset or model, removing the contribution from already created datasets, model artifacts, or learned parameters may no longer be technically possible.

Network Access

By default, TypeWhisper connects to the internet only for product services such as updates and AI model downloads. After local models are downloaded, local transcription can function offline. If you enable a cloud engine, configure a custom endpoint, use Premium account services, or manually submit corrections through Improve TypeWhisper, the app also connects to the corresponding selected service.

Third-Party Services

The website uses self-hosted Plausible for aggregate analytics and Polar for checkout, payment, licensing, and purchase attribution. Apple provides Sign in with Apple, iCloud, Files, StoreKit payments, and subscription status. On Android, Google provides Google Play Billing and Sign in with Google, and model files are downloaded from Hugging Face. Cloudflare operates the TypeWhisper entitlement and optional contribution APIs and forwards requests to the analytics endpoint. OpenAI may process manually submitted correction pairs when Codex is used in the private validation workflow. The apps do not contain advertising trackers and do not send usage, audio, or transcription telemetry to TypeWhisper.

Law-Firm Security Review

For firm IT and privacy review, there is also a public checklist covering data flow, storage locations, and optional cloud building blocks.

Open Source

TypeWhisper is open source under the GPLv3 license. The source code of the macOS and Windows apps and of the plugins is on GitHub; the iPhone, iPad, and Android apps are not published there yet.

Contact

If you have questions about this privacy policy, email hello@typewhisper.com or open an issue on our GitHub organization.

Stay close to TypeWhisper

Follow for release notes, workflow tips, and product updates while the app downloads.