Privacy architecture
Not a policy summary — an architecture. This page states exactly what exists on your Mac, what can leave it, and under which setting that happens.
Audio
- Captured only while your hotkey is held, at 16 kHz mono, into memory.
- Never written to disk — there is no audio file to find, recover, or leak.
- Discarded as soon as text exists.
- Never transmitted. There is no setting that causes audio to leave your Mac, because no code path exists to send it.
What is written to disk
Everything lives under your own user account, in ~/Library/Application Support/OpenVoiceFlow/:
| File | Contents |
|---|---|
settings.json | Your preferences. No secrets. |
dictionary.json | Your personal dictionary. |
snippets.json | Your snippets. |
styles.json | Your per-app style map. |
profile.json | Your Know-Me profile. |
| History and stats files | Recent transcripts (most recent 500), word counts, per-app and per-day totals, and your first-ever transcript. |
Speech models are cached separately at ~/Documents/huggingface/models/argmaxinc/whisperkit-coreml/. API keys are in the macOS Keychain, service app.openvoiceflow.apikeys — never in any file above.
Every outbound connection
The app makes exactly three kinds of network request, and you can reason about all of them:
| Request | When | Contains |
|---|---|---|
| Model download | The first time you select a given Whisper model | Nothing about you — it is a public model file fetch. |
| Update check | Daily, and at launch, if automatic updates are on | A request for the signed appcast at openvoiceflow.com. No account, no identifier. |
| Cleanup request | Per dictation, only if you enabled a cloud backend | Transcript text, cleanup instruction, style, and your dictionary/profile context. Never audio. |
Set cleanup to None (the default) or Ollama, and the third row never happens. Turn off automatic updates and the second stops too.
What is never collected
- No telemetry or analytics in the app. No usage pings, crash reports, or feature counters.
- No account. Nothing to sign up for, so nothing to profile.
- No OpenVoiceFlow servers. There is no backend that could hold your data — this website is a static site.
- No screen reading. Accessibility permission is used only to send a paste keystroke.
- No keystroke logging. Input Monitoring watches for one key; everything else passes straight through.
openvoiceflow.com uses privacy-friendly Vercel Analytics for anonymous page views and Speed Insights for performance. That is website measurement only, with no advertising cookies and no cross-site profile — and it is entirely separate from the app, which contains no analytics of any kind. Details on the privacy page.
Verifying this yourself
Two checks anyone can run:
- Airplane mode. Turn off Wi-Fi with cleanup set to None and dictate. It works, because nothing in that path needs a network.
- Network monitor. Run Little Snitch or similar and watch. With cleanup off, dictation generates no connections at all.
OpenVoiceFlow is MIT-licensed open source, so every claim here is checkable in the code itself rather than taken on trust. If anything on this page does not match what the app does, that is a bug — tell us at shimoverse@gmail.com.
Documentation for OpenVoiceFlow 0.5.5 · last updated 2026-07-31. Something wrong or missing here? That is a bug — tell us at shimoverse@gmail.com.