Private dictation for the Mac.
Hold a key, speak, let go. Your words appear where you are typing, and they never leave your Mac.
Many dictation tools send your voice to a server. PrivacyFlow never does.
- Everything runs on your Mac. Speech recognition and text cleanup happen on its own GPU.
- No account, no cloud, no telemetry. There is nothing to sign up for and nothing phones home.
- The network is used only to download the speech models, once, on first launch. Every file is checked against a fixed checksum.
- Recordings are deleted immediately. Audio exists only while it is being transcribed.
- Nothing is kept. Recent dictations are shown in the console while PrivacyFlow runs and are gone when you quit.
- The microphone is off between dictations. It listens only while you hold the key.
- Open source, so you do not have to take any of this on trust.
PrivacyFlow turns speech into finished text, not just a transcript. A small model reads each dictation and decides whether it can go in exactly as spoken, or needs tidying first. When it does, S1-mini by Superwhisper rewrites it: punctuation fixed, spoken corrections applied ("Friday, actually no, Thursday" becomes "Thursday"), and a spoken list turned into a list. Most dictations go in untouched.
It works in almost any app you can type in.
PrivacyFlow is built so your text appears the moment you let go of the key.
- Most dictations skip the language model. The small routing model reads each transcript first, and text that can go in as spoken goes straight in. Only dictations that need tidying wait for S1-mini.
- The models never go cold. They are locked in memory, so macOS cannot compress or swap them out while you are not dictating. Measured right after the Mac was put under memory pressure, routing took about 0.1 seconds and a rewrite about 0.15 seconds. Without the lock, the same steps took 2.7 to 6.7 seconds.
- No round trip. Everything runs on the Mac's GPU, so there is no server to wait for.
All of these open-source apps can turn speech into text on your Mac. The difference is what happens to your words next. To tidy up a dictation or apply a spoken correction, the others use a language model, and every one of them can be set up to send your text to a cloud AI to do it. PrivacyFlow does all of it on your Mac, every time. It has no code that could send your words anywhere.
| PrivacyFlow | Handy | FluidVoice | OpenWhispr | VoiceInk | Whispering | |
|---|---|---|---|---|---|---|
| Can send your voice to the cloud | Never | No | No | Yes, its cloud is the recommended setup | Optional | Optional |
| Tidies text with a language model | ✅ On by default | Off by default, experimental | Off by default | ✅ On by default | Off by default | Off by default |
| Can send your text to a cloud AI | Never | Optional | Optional | Yes, its cloud is the recommended setup | Optional | Optional |
| On-device cleanup with nothing else to install | ✅ | Apple Intelligence only, macOS 26 | ✅ Closed-source runtime | ✅ | ✅ With 16 GB of memory | ❌ Needs Ollama or similar |
| Skips the language model when the text is already fine | ✅ | ❌ You choose with a second hotkey | ❌ | ❌ | ❌ | ❌ |
| Applies spoken corrections | ✅ | With your own prompt | ✅ With cleanup on | ✅ | ✅ With cleanup on | With your own prompt |
| Saves your dictations by default | No | The last 5, with audio | Transcripts | Transcripts, and audio for 30 days | Transcripts and audio | Transcripts and audio |
| Usage analytics | None | None | On by default | Opt-in | None | On by default |
| Price | Free | Free | Free | Free, paid cloud plans | $25 or more for the prebuilt app | Free |
"Optional" means you can connect a cloud provider, usually with your own API key. Checked against each project's own source code and documentation on 29 September 2026: Handy 0.9.7, FluidVoice 1.6.9, OpenWhispr 1.10.2, VoiceInk 2.21 and Whispering 7.11.0. If something here is out of date, please open an issue.
Where the others are ahead: several run on Windows and Linux, and all of them understand many languages. PrivacyFlow runs only on Apple Silicon Macs and understands English.
You need a Mac with Apple Silicon (M1 or later) running macOS 14 Sonoma or later, and about 3 GB of free disk space.
- Download
PrivacyFlow-<version>.dmgfrom the latest release. - Open it and drag PrivacyFlow into Applications.
- Open PrivacyFlow from Applications.
PrivacyFlow is not yet signed with an Apple Developer ID, so macOS blocks the first launch and says it cannot verify the app. To allow it, open System Settings → Privacy & Security, scroll down to the message about PrivacyFlow, and click Open Anyway. You only need to do this once for each version.
A setup window walks you through the rest:
- Download the speech models, about 2.5 GB in all.
- Grant three permissions in System Settings → Privacy & Security. The setup window has buttons that open each page.
| Permission | Why PrivacyFlow needs it |
|---|---|
| Microphone | To hear you while you hold the dictation key |
| Accessibility | To paste the text into the app you are using |
| Input Monitoring | To notice the dictation key while another app is in front |
If PrivacyFlow is missing from the Input Monitoring list, add it with the + button. Quit and reopen PrivacyFlow after granting Accessibility and Input Monitoring; macOS applies them at launch. macOS may offer to do this for you, and that is safe even while the models download: the download picks up where it left off.
Hold Right Option, speak, and let go. The capsule shows that PrivacyFlow is listening, then working, and the text appears at your cursor.
- Keep talking. You can start the next dictation while the last one is still being processed. They are inserted in the order you spoke.
- Nothing gets lost. The text is also left on the clipboard. If you switched apps before it was ready, it is not pasted into the wrong one; paste it yourself with ⌘V.
- Open the console from the menu bar icon, or by right-clicking the capsule, to see recent dictations, change settings, check status, or quit.
In Settings you can:
- Choose the dictation key. Right Option is the default. Any modifier works on its own (Left Control, Right Command, Fn and so on), as do function keys and combinations such as ⌃⌥ plus a letter. PrivacyFlow refuses keys you type with, and warns about keys macOS uses itself.
- Pick a microphone. PrivacyFlow uses the system input unless you choose one.
- Turn the sound cues off.
- Use minimal mode, which folds the capsule into a small button until you dictate.
PrivacyFlow understands English.
The dictation key does nothing while another app is in front. Input Monitoring is missing. Grant it, then quit and reopen PrivacyFlow.
The text is transcribed but never appears. Accessibility is missing. The text is on the clipboard in the meantime.
A permission is switched on but still does not work, usually after an update.
Because PrivacyFlow is not yet signed with a Developer ID, macOS treats each new version as a different app.
In System Settings → Privacy & Security, select PrivacyFlow in the list, remove it with the − button, and add /Applications/PrivacyFlow.app again with +.
Switching it off and on again does not help.
The dictation key stops working in a password field or some terminals. That app has turned on secure keyboard entry, which hides the keyboard from every other app. The Status tab says when this is happening.
Quit PrivacyFlow, then delete:
/Applications/PrivacyFlow.app~/Library/Application Support/PrivacyFlow(the models and your settings)~/Library/Caches/io.github.fz77z.privacyflow
You can also remove PrivacyFlow from the permission lists in System Settings → Privacy & Security.
The app is written in Swift. The models run in a Python process bundled inside the app, on the Mac's GPU through MLX, and stay locked in memory so the first dictation after a long break is as fast as any other. That uses about 2.5 GB of memory while PrivacyFlow runs.
| Step | Model |
|---|---|
| Is this speech? | Silero VAD |
| What was said? | Whisper large-v3-turbo, 8-bit |
| Does it need a rewrite? | Kev router, built on Qwen2.5-0.5B |
| The rewrite | S1-mini by Superwhisper, 8-bit |
See docs/architecture.md for how it fits together, and docs/development.md to build it yourself.
PrivacyFlow is released under the MIT License. The models and bundled libraries keep their own licenses, listed in THIRD_PARTY_NOTICES.md.
S1-mini is made by Superwhisper. Speech recognition is OpenAI's Whisper, run with Apple's MLX.
