The dictation pipeline
Every stage runs on your Mac. Nothing in the dictation path touches the network.
| Stage | What happens | Where it runs | Leaves device? |
|---|---|---|---|
| Mic capture | Microphone audio is captured by the app and never transmitted — audio never leaves your Mac. | On your Mac | No |
| Speech-to-text | FluidAudio's Parakeet TDT model converts audio to text using the Apple Neural Engine. The model runs entirely on-device after the one-time first-run download. | Apple Neural Engine (on your Mac) | No |
| AI cleanup | When cleanup is enabled, an MLX-powered Qwen3-1.7B 4-bit model runs inside the evoglyph process. The raw transcript and the cleanup prompt stay in process memory; no network calls happen at inference time. | In-process on your Mac | No |
| Text injection | The final text is inserted into your focused app via macOS Accessibility APIs (AXUIElement splice for native apps, keystroke injection for terminals, pasteboard for browsers and Electron apps). | On your Mac | No |
| History database | Dictation history is written to a local SQLite database on your disk. evoglyph has no copy of this data and cannot access it remotely. We recommend enabling FileVault for at-rest encryption. | Local disk on your Mac | No |
| Vocabulary and settings | Custom vocabulary terms, hotkey choice, and all other preferences are stored in local app storage. They are not synced to a server. | Local app storage on your Mac | No |
Network events
evoglyph is local-first, but it is not network-free. The table below is the complete list of every outbound connection the app makes. The dictation pipeline above is entirely separate from all of them.
| Event | Endpoint | When | Payload |
|---|---|---|---|
| Model download | HuggingFace model hosts (over TLS) | First launch only; fully offline after that | Standard HTTPS download request. No audio, no transcripts, no personal identifiers beyond what any HTTPS request carries. |
| License activation & validation | Lemon Squeezy | On license key entry; periodically re-checked to keep subscription state in sync (active, past-due, cancelled) | License key, anonymized device identifier, evoglyph version. No dictation content. License checks contact Lemon Squeezy; see Licensing and activation for details. |
| Update check | evoglyph.com/appcast.xml (Sparkle framework) |
Periodically on a schedule; can be disabled in Settings | evoglyph version and macOS version, so the right update file is served. Standard web server access logs only. |
| Crash reports | Sentry | Only when you explicitly opt in via Settings → Diagnostics; off by default | Scrubbed stack traces, evoglyph version, macOS version, anonymized device ID. No audio, no transcripts, no file paths, no window titles. |
| In-app analytics | None | Never | evoglyph does not collect in-app analytics or usage telemetry. The marketing site uses cookie-less Cloudflare Web Analytics; the app does not. |
Local vs cloud dictation tools
Most cloud-based dictation tools stream your microphone audio to a remote server for transcription, then return text over the network. Every spoken word travels off your device, and the transcription latency includes a round trip to a data center.
evoglyph works differently: the transcription model runs on the Apple Neural Engine inside your Mac. Your audio is never transmitted. Transcription latency is the time the Neural Engine takes to run the model — no network round trip. The tradeoff is a one-time model download on first launch and an Apple Silicon Mac requirement.
Verify it yourself
You do not have to take our word for the pipeline table above. Here is how to confirm evoglyph's network behavior independently:
- Disconnect Wi-Fi after the model download. Once models are on disk, evoglyph dictates normally with no network connection. Open the macOS menu bar Wi-Fi icon, click Turn Wi-Fi Off, then hold the hotkey and dictate. Text appears as normal. The only features that require a network connection are license validation and the Sparkle update check — neither affects dictation.
-
Use a network monitor. Tools like Little Snitch or LuLu show every
outbound connection evoglyph attempts in real time. During a dictation session (with
Wi-Fi on), you should see no connections to any host except those listed in the
network events table above: Lemon Squeezy (license),
evoglyph.com(Sparkle update check), and model hosts on first launch. With crash reporting opted in, you will also see Sentry.
For the full privacy policy including third-party processors, data retention, and your rights, see Privacy and local-first.