privacy
When to use Cloud and when to dictate on your Mac
Halopen ships two transcription modes. Here is how to pick between Cloud and on-your-Mac, what each costs, and how to verify the privacy claim yourself.
Halopen ships two transcription modes — Cloud (OpenAI’s gpt-4o-transcribe over the wire) and On your Mac (Whisper Large v3 on Apple’s Neural Engine, audio never leaves the device). Both are first-class; the switch is one click in Settings → Transcription. Use Cloud as the default for vocabulary precision and multilingual code-switching; switch to On your Mac for privileged conversation, regulated material, source protection, or anything you wouldn’t say in a public place.
Halopen ships with two transcription modes. They share a brand and an interface and a hotkey. Underneath, they are genuinely different products, with different strengths and different costs. Which one is right for you depends less on accuracy benchmarks and more on what you are about to say.
This post is the honest decision guide. We cover when each mode is the right call, what you give up by choosing one over the other, and how to verify — mechanically, from your own machine — that the privacy claim of the on-device mode is actually true. We assume nothing about which one is “better.” They’re built to do different things.
The shape of the choice
Settings → Transcription in Halopen shows two cards.
Cloud — Most accurate. Your held audio is uploaded to our transcription endpoint, transcribed by OpenAI’s gpt-4o-transcribe, returned as text, and discarded. The model has seen more languages, more accents, and more acoustic conditions than anything you can fit on a laptop. It also has access to your personal dictionary as a biasing prompt before transcription begins — proper nouns, brand names, and technical terms land on the first pass rather than getting cleaned up after a wrong guess.
On your Mac — Strict privacy. Your held audio is mel-spectrogrammed locally, encoded locally, decoded locally by Whisper Large v3 running on Apple’s Neural Engine, and the text lands at your cursor without a single network packet leaving the machine for the purpose of transcription. The model is open-source. The Mac that ran it is yours. The audit log will not have a Transcription entry to show.
Both modes are first-class. There is no “Pro mode” and “trial mode.” There is no quality-tier handicap on On your Mac to push you toward Cloud. There is no cooldown between switches. There is no telemetry watching which mode you pick. The only difference is what the chip is. And what the chip is changes what the privacy story is.
When Cloud is the right call
Cloud is the right default for the bulk of everyday dictation, and the right choice for several specific use cases where on-device transcription does not yet match it.
Long-form writing where vocabulary precision matters. If you’re drafting an article that mentions twenty proper nouns — colleagues, products, places, technical libraries — Cloud’s vocabulary biasing against your personal dictionary lands all twenty on the first pass. You spend less time fixing words and more time writing. On your Mac mode currently cannot do this; we explain why in the next section.
Multilingual code-switching. If you slip between English and Spanish, Hindi, Mandarin, French, Tagalog, or any of a few dozen languages mid-sentence — the way bilingual speakers actually talk — Cloud’s transcription engine handles this gracefully. The on-device model handles English well, handles non-English well, and handles the transition between them with measurably more friction. Until that gap closes, Cloud is the recommendation for bilingual dictation.
Unusual acoustic conditions. Background music, a noisy café, a thin headset, a child in the next room. Cloud has been trained on more of all of this than the open-source model has, and it shows up as higher reliability in messy audio. If your dictation environment is consistently quiet, both modes do well; if it’s not, lean Cloud.
Anywhere the audio is unremarkable. If you would not hesitate to read a paragraph out loud while a stranger sat across from you in a coffee shop, that paragraph is fine for Cloud. The audio leaves your Mac, OpenAI may retain it for up to thirty days for abuse monitoring per their standard API policy, and then it is gone. No training, no archive, no surface where it reaches anyone. For most of what most people dictate, this is more than enough.
Cloud is the default for a reason. The accuracy is excellent. The speed is fast — often faster than the on-device path on older Macs. The vocabulary biasing handles proper nouns and brand names that on-device cannot today. If you are choosing a default for the next year of your dictation, Cloud is the right one, with one important caveat: it is the right one unless the next paragraph applies to you sometimes.
When On your Mac is the right call
On your Mac is the right choice for any moment where the difference between “we promise we deleted it” and “the audio physically never reached us” matters.
Privileged conversation. Attorney-client material, doctor-patient notes, therapist session summaries. The legal and ethical frameworks around these are not built around “the transcription service had it for thirty days then deleted it.” They’re built around “no third party heard it.” On your Mac is the mechanical answer to that requirement.
Regulated material. Healthcare records covered by HIPAA. Financial information covered by various jurisdictional frameworks. Material covered by an NDA with a vendor, an employer, or a counterparty. The compliance question is not “does the third party promise to discard it?” It’s “does the audio reach a third party at all?” In Cloud mode it does, briefly. In On your Mac mode it does not, at all.
Source protection. Journalists working on sensitive stories. Whistleblower communication. Internal investigations. Reporters dictating quotes from a source whose identity they’re protecting. Any case where the existence of a transcription request itself is information that should not exist in a third party’s logs.
Proprietary work. Engineers under NDA dictating into code. Founders dictating M&A correspondence, board notes, or financial projections. Anyone working on technology that hasn’t shipped yet. Security researchers dictating findings before disclosure.
Air-gapped or offline environments. Working on a plane without Wi-Fi. Working in a SCIF or a clean room. Working in a building with no outbound network. On your Mac requires no network for transcription. It works at 30,000 feet, in a Faraday cage, with the Ethernet cable pulled, with airplane mode on. Cloud cannot.
Anything you would not say out loud in a public place. A useful heuristic: if you would lower your voice to dictate it, switch to On your Mac. The mode-switch is one click in Settings → Transcription. The next dictation is local. The audit log will be quiet during it. That’s the point.
What each mode actually costs you
Both modes have costs. We say them plainly because nothing is free.
Cloud costs you a network round-trip and a third party in the loop. Halopen sends your audio to OpenAI’s gpt-4o-transcribe via our edge function. OpenAI’s standard API policy permits them to retain the audio for up to thirty days for abuse monitoring, then deletes it. They do not train on API audio. We have not negotiated a Zero Data Retention agreement; if we ever do, we will say so. This is the contract you accept when you pick Cloud. For most dictation it’s a perfectly reasonable contract. For some dictation it is not.
On your Mac costs you disk, battery, and accuracy on a narrow set of utterances. Disk: ~626 MB for the Whisper Large v3 model file, downloaded once and cached at ~/Library/Application Support/Halopen/Models/. Battery: running the Neural Engine has a power draw on a MacBook, modest but real. Accuracy: in v1.5.0 there is a temporary gap on vocabulary biasing that does not exist in Cloud — we cover it next, because being honest about it is part of the brand.
The vocabulary biasing gap. Cloud passes your personal dictionary to OpenAI’s transcription engine before the audio is processed, so your saved proper nouns and technical terms land on the first pass. On your Mac mode cannot do this in v1.5.0, because of a bug in WhisperKit’s prompt-token handling for Whisper Large v3 — pass a prompt to bias the decoder and the model returns empty output. We reproduced the bug against the WhisperKit project’s own command-line tool, confirmed the issue is upstream and not in our integration, and disabled the prompt-token path for the v1.5.0 ship so On your Mac mode at least transcribes correctly without biasing. We will restore vocabulary biasing for on-device mode when WhisperKit releases a fix or when we ship an alternate implementation. Until then, on-device dictation transcribes without your personal dictionary in the prompt — which is a real gap, and we wanted to say so out loud.
Apple Silicon required for On your Mac. Whisper Large v3 runs on the Neural Engine, which is present on every M-series chip and absent on every Intel one. Halopen detects the chip at launch; the toggle is disabled on Intel. Intel users use Cloud and the product experience is unchanged. If on-device transcription matters to you and you’re on an Intel Mac, any M-series chip is sufficient — even the original M1 is fast enough that the transcription returns in well under a second for typical short dictations.
The audit log: how to verify the privacy claim for yourself
The strongest claim Halopen makes about On your Mac mode is the one in the previous section: that the audio never leaves the device. That is a mechanical claim, not a marketing one. It is verifiable from your own Mac in under a minute.
Open Halopen Settings. The hotkey is ⌘, when the app is focused, or pick Settings from the menu-bar icon. Find the Privacy section. The first item is the audit log.
The audit log records every cloud call Halopen makes from this Mac — metadata only. No audio. No transcripts. Just the timestamp, the type of call, the endpoint host and path, the HTTP status code, and the round-trip duration. For transcription calls, it also records the audio duration so you can see your monthly minutes adding up. The log is capped at the most recent 500 entries on a ring buffer, persisted locally in UserDefaults so it survives across launches without ever leaving your machine.
There are eight call types the log knows how to record:
- Transcription — the actual transcription call. This is the one you care about for the verification test.
- Pre-flight gate — the cap-and-license check that fires before any large transcription, so we can tell you immediately if you’re at your monthly cap rather than after the audio is sent.
- License check — periodic re-verification of your subscription status against our backend.
- Usage tick — anonymous usage counting toward the monthly cap. Counts words, not content.
- Stripe checkout — when you open the upgrade or payment flow.
- Billing portal — when you open Manage Subscription.
- Auth — sign-in flows.
- Update check — Halopen polling our app-cast feed for new versions.
The verification test for On your Mac mode is exactly one paragraph long. Make sure your transcription mode is set to On your Mac in Settings → Transcription. Hold your hotkey and say something — any sentence. Release. The text lands at your cursor. Now open the audit log. Look at the top of the list, the most recent entries.
There should be no Transcription entry corresponding to the dictation you just performed.
You may see other entries from other times the app phoned home — a license check from this morning, an update poll from earlier, a sign-in from when you first launched. None of those involve audio. The specific test is that On your Mac dictation produces no Transcription entry, ever, because there is no transcription call to log. The contract is not a promise that Halopen will honor; it is a mechanical absence of a network call that the log is incapable of fabricating.
You can stack additional verification on top of this, and we recommend it for anyone whose dictation truly cannot leave the machine. Pull your Ethernet cable. Turn Wi-Fi off. Run Little Snitch or Lulu and watch for any outbound process. Use macOS’s built-in network condition tools to simulate an offline state. The on-device dictation works in all of these conditions because there is no network in the path that needs to work.
We publish the audit log as a product feature, not as a marketing surface. The page on this site that explains it longer is /learn/the-halopen-audit-log/, and the public policy document that defines what we disclose vs hold is /transparency/. The point is that the privacy claim is falsifiable. If anyone — us included — ever ships a regression that adds a network call to the on-device transcription path, the audit log will catch it. The promise breaks first; the user sees it first.
The honest recommendation
Use Cloud as your default. Switch to On your Mac when the moment requires it. Switch back when it doesn’t. Both modes are first-class; both will be there next year; neither costs you anything beyond a click to pick the right one.
For most of what most people dictate, Cloud is the right answer — faster on older Macs, more accurate on proper nouns through vocabulary biasing, better at multilingual transcription, and entirely adequate from a privacy standpoint for everyday material. For the moments when “good enough” isn’t the bar — privileged conversation, regulated material, source protection, anything you wouldn’t say out loud in a coffee shop — On your Mac is the answer. The mode-switch is a click. The verification is a glance at the audit log.
That’s the thing we wanted to ship. Two modes, both built carefully, each honest about what it is, each verifiable from your own machine. Pick the one that fits the moment. Trust the one you can audit.
Try Halopen
Hold the function key. Speak.
Halopen Free is 8,000 words a month, forever. Pro is $19/mo or $179/yr — unlimited.
Read next
More from Halopen Learn
-
privacy
Why Halopen runs on your Mac, not in the cloud
On-device transcription is the privacy story most dictation tools structurally can't tell. Halopen's optional on-device mode keeps audio on Apple Silicon, end to end.
-
fundamentals
Halopen — writes what you said
Halopen is a native macOS dictation app. Hold the function key, speak, release. Text lands at your cursor exactly as you said it — verbatim by default.
-
developers
Voice typing for Claude Code on Mac
Voice typing for Claude Code on Mac. Halopen captures your prompt verbatim — every constraint, every modifier, every file path — at the cursor in milliseconds.