OpenVoiceFlow privacy
OpenVoiceFlow is a native macOS app that runs on your Mac. Your voice is transcribed on-device with WhisperKit and never uploaded. There are no OpenVoiceFlow servers, no accounts, and no telemetry inside the app. This page is the plain-language summary; the full policy lives in PRIVACY.md.
The short version
- Your audio never leaves your Mac. Transcription runs locally with on-device WhisperKit. The recording is discarded the moment the text exists — there is no audio upload, ever.
- Cleanup is Off by default. Out of the box you get the raw on-device transcript, pasted as-is. Nothing is sent anywhere.
- Cloud cleanup is opt-in and bring-your-own-key. If you turn on OpenRouter cleanup, only the transcript text and your personal context are sent — under your own key, to a provider you contract with directly.
- API keys live in the macOS Keychain. Not a plaintext config file — the system Keychain, protected by macOS.
- No servers, no accounts, no in-app telemetry. OpenVoiceFlow keeps no copy of anything you dictate.
Where your data lives
Everything OpenVoiceFlow stores stays on your Mac:
- Audio buffers — held in memory only while you hold the hotkey, transcribed on-device by WhisperKit, then discarded. Never written to a network.
- Settings, history, and your personal context (Know-Me profile, dictionary, snippets) — stored locally in the app's Application Support folder.
- API keys — stored in the macOS Keychain, not in a settings file.
Uninstall the app and clear those items to remove every trace.
Cleanup backends and what leaves the Mac
The optional cleanup step is where any text can leave your Mac — and only if you choose it:
- Off (default) — no cleanup call is made. The raw on-device transcript is pasted directly. Nothing leaves your Mac.
- Ollama (on-device) — cleanup runs on your machine through a local model. Nothing leaves your Mac.
- OpenRouter (cloud gateway, recommended) — one key routes cleanup to any model OpenRouter hosts. When enabled, the transcript text plus your personal Know-Me profile, dictionary, and snippet context is sent to OpenRouter under your own key. You contract directly with OpenRouter under its terms; OpenVoiceFlow is not in the middle. Your audio is still never sent.
- OpenAI, Anthropic, or Groq (direct cloud) — if you prefer a provider directly, cleanup can point at it instead. The same transcript-plus-context is sent to whichever provider you select, under your own key and its terms. Audio is still never sent.
Permissions you grant macOS
The app asks for these in System Settings → Privacy & Security. You can revoke them at any time:
- Microphone — to capture audio while you hold the hotkey.
- Accessibility — to paste the finished text at your cursor.
- Input Monitoring — so the push-to-talk hotkey works in every app.
This website
The download site uses privacy-friendly Vercel Analytics for anonymous page views, aggregated visitor/referrer/geography trends, and selected website actions such as download, install-guide, navigation, and GitHub-source clicks. It also uses Vercel Speed Insights for aggregated real-user page-performance measurement. These services set no advertising cookies, build no cross-site profile, and never link a visit to an individual. This is website measurement only — the app itself contains no analytics or telemetry.
Open source
OpenVoiceFlow is MIT-licensed and fully open source. If anything on this page does not match what the code actually does, that is a bug — read the source or open a GitHub Discussion. Security reports go through the process in SECURITY.md.