PRIVACY GUIDE · JULY 2026

Don't trust "offline" claims. Test them.

Every dictation app on the market now calls itself private. Some are. Some mean "we encrypt your audio before we store it." The difference isn't on the marketing page — it's in your network traffic. Three tests settle it in about ten minutes.

Why "private" stopped meaning anything

As of July 2026, essentially every dictation app claims privacy: private by design, your data stays yours, offline mode. These are labels, not properties. Some apps transcribe in the cloud and call transport encryption privacy. Some transcribe locally but still send analytics, telemetry, and "product improvement" data. A few genuinely do everything on-device.

You can't tell them apart by reading their websites. You can tell them apart by measuring what leaves your machine. Here are the three tests, from most precise to most blunt. They work on any macOS dictation app — including ours.

Test 1 — nettop: watch the wire while you talk

nettop ships with macOS and shows every process with open network connections, live. This is the definitive test.

What you should see

Genuinely offline: nothing. The process either doesn't appear in nettop at all, or its bytes_in and bytes_out counters sit flat while you speak.

Cloud in a trench coat: a connection opens the moment you start dictating, and bytes_out climbs for as long as you talk. That is your audio leaving the machine in near-real-time — on the order of hundreds of KB per minute of speech.

One legitimate burst: on first launch, an offline app downloads its speech model — a single large transfer, typically hundreds of MB, then done forever. That burst is the model arriving, not your voice leaving. After it completes, dictation should produce silence on the wire.

Test 2 — Little Snitch: name the hosts

nettop tells you that an app is talking; a connection monitor tells you to whom. Little Snitch (paid, with a demo mode) and LuLu (free, open source) both show every live connection per app, including the remote hostname.

Hostnames are the tell. A connection to an update server at launch is boring. A connection to a transcription or telemetry endpoint that opens when you start speaking is the answer to your question — whatever the settings page calls itself.

Test 3 — airplane mode: the blunt instrument

Turn Wi-Fi off (and unplug Ethernet, if you use it). Then run the full loop: open the app, dictate a paragraph into a text field, stop, read the text.

Reading the results: legitimate traffic vs red flags

TrafficWhenVerdict
Speech model download (hundreds of MB, one burst)First launch, or a model updateLegitimate — the model arriving
Update check (a few KB)App launchLegitimate — version metadata only
Crash reportAfter a crash, with your consentLegitimate if opt-in and disclosed
Sustained upload while you dictateDuring dictationRed flag — that's your audio
Connections to analytics / telemetry hostsAny timeRed flag for an "offline" claim
Periodic screenshot-sized uploads when idleAny cadenceRed flag — capture, not dictation

One nuance on sizing: a minute of speech, compressed for transport, is a few hundred KB — suspiciously close to the size of a screenshot. You don't need to do forensics on byte counts. The simple rule covers almost everything: an offline dictation app has no reason to send anything while you dictate.

What we did with LockedIn Flow — and how to check us

LockedIn Flow is built on FluidAudio, an on-device speech framework. FluidAudio exposes a hard switch — ModelHub.offlineMode — that makes the framework refuse every network fetch in code. Our self-test mode sets that flag and then transcribes a file: if the transcription succeeds, it was offline by construction, because the network was refused, not avoided. Recognition runs on the Apple Neural Engine; cleanup runs on a local model. There's no account and no telemetry endpoint to call even if it wanted to.

But don't take our word for it — that's the whole point of this article. Download the trial, let the model download finish, run nettop -p on us, and dictate. The counter should sit flat. If you ever catch traffic during dictation, that's a bug, and we want to hear about it: feedback@lockedinflow.com. More on the architecture in our Wispr Flow comparison, and what it costs on the pricing page.

FREE 14-DAY TRIAL · NO CARD · NO ACCOUNT

Test us. We insist.

Everything unlocked for 14 days. Run test 1 on us first, if you like — flat counters or don't buy.

Download for macOS

Test procedures verified on macOS as of July 26, 2026. App behavior changes with versions — run the tests against the build you actually have.