What stays on your Mac
Every step of dictation happens on-device. Specifically:
- Audio. When you hold the hotkey, microphone audio is captured into memory on your Mac. It is never written to disk and never transmitted off your machine.
- Transcription. Speech-to-text runs on the Apple Neural Engine via FluidAudio's Parakeet TDT model. The model file lives on your Mac after the one-time first-run download. Audio goes in; text comes out; nothing crosses the network.
- Cleanup. When AI cleanup is on, evoglyph runs an MLX-powered Qwen3 language model inside the evoglyph process. The raw transcript, the cleanup prompt, and the cleaned output stay in process memory. They are not sent anywhere.
-
History. Your dictation history is stored in a local SQLite database
protected with
FileProtectionType.complete(encrypted at rest when your Mac is locked). evoglyph cannot read it from anywhere else, and we cannot recover it for you if you delete it. - Vocabulary and settings. Custom vocabulary, hotkey choice, cleanup preferences — all in local app storage. None of it is synced to a server.
- Text injection. The final text is typed into your focused app via macOS Accessibility APIs. It does not leave your Mac.
The four network calls evoglyph makes
evoglyph is local-first, but it is not network-free. Here is the complete list of every outbound connection the app makes, and why:
- License activation. When you enter your license key, evoglyph contacts LemonSqueezy to confirm the key is valid and to claim a device slot. The request includes your license key, your anonymized device identifier, and your evoglyph version. It does not include any dictation content.
- License re-validation. evoglyph periodically re-checks your license against LemonSqueezy to keep your subscription state in sync (active, past-due, cancelled, etc.). Same payload as activation. No dictation content.
- Auto-update check. The Sparkle framework checks evoglyph.com on a schedule for new releases. The check transmits your evoglyph version and macOS version so we can serve the right update file. We rely on standard web server access logs only.
- First-run model download. The Parakeet transcription model and the MLX cleanup model are downloaded once on first launch from their public model hosts. After that, they run from your local disk.
Crash and error reporting via Sentry is not in this list because it is off by default. If you opt in (Settings → Privacy), it adds a fifth outbound channel. See What you can turn off below.
What evoglyph never does
For symmetry with the section above, the explicit list of things evoglyph does not do:
- Send your microphone audio to a server.
- Send your transcripts to a server.
- Send your cleanup prompts or cleaned text to a server.
- Send your custom vocabulary or settings to a server.
- Track which apps you dictate into, or log window titles.
- Use your dictations to train any model — ours, FluidAudio's, MLX's, or anyone else's.
- Use tracking cookies on the website. Analytics is cookie-less and does not build a per-visitor profile.
- Sell, rent, or share user data with third parties for advertising.
What you can turn off
You control every optional channel from Settings → Privacy:
- Crash reporting (off by default). When on, evoglyph sends crash stack traces, your evoglyph version, your macOS version, and an anonymized device ID to Sentry. Reports are scrubbed of personally identifiable information before they leave your Mac. They do not include audio, transcripts, prompts, vocabulary, file paths, or window titles. We never prompt for this during onboarding — it is yours to enable only if and when you want to help us debug.
- Auto-update check. Sparkle's update check can be disabled, though we recommend leaving it on. evoglyph ships outside the Mac App Store; auto-updates are how you get security fixes.
License activation and re-validation cannot be disabled — evoglyph needs to verify your license to enable dictation. The re-validation cadence is conservative and the payload contains no dictation content.
Trial counter and license activation
The trial gives you 3,000 words of successful dictation before you need an active license. The counter is on-device. It increments only when text is successfully injected into your focused app — silent dictations and failed injections do not count.
Activating your license calls LemonSqueezy with your license key. It does not transmit any dictation content. Your trial counter and your license state are stored locally; we do not have a per-user usage database to mine.
How to audit evoglyph yourself
You do not have to take our word for any of this. If you want to verify evoglyph's network behavior:
- Little Snitch or LuLu will show you every outbound connection evoglyph attempts. You should see calls only to LemonSqueezy (license), evoglyph.com (Sparkle update check), and the model hosts on first launch. With crash reporting opted in, you will also see Sentry.
-
Console.app filtered to
process:evoglyphshows the local debug log evoglyph writes to~/Library/Logs/evoglyph/. The same log is on disk and is what you would attach to a support email.
A note on the landing site
Everything above describes the macOS app. The marketing site at
evoglyph.com is a separate surface and uses
Cloudflare Web Analytics to count page visits and CTA clicks. That tool
is cookie-less, sends no personally identifiable information, and does not build a
per-visitor profile. It does not see your dictation content, your trial counter, or your
license — those never leave your Mac. We mention it here so you see both surfaces in
one place.
Your rights, retention, and processors
This page is the evoglyph privacy policy. Below is who processes your data, how long it sticks around, and how to make a privacy request.
Third-party processors
evoglyph is local-first, so the list of services we share data with is short. Each one is named above with the exact payload it receives:
- LemonSqueezy — processes license activation, re-validation, and billing. Receives your license key, anonymized device ID, and evoglyph version. Also holds your order and subscription record. See LemonSqueezy's privacy policy.
- Sentry — receives crash reports only if you opt in (Settings → Privacy). Payload is scrubbed stack traces, evoglyph version, macOS version, anonymized device ID. See Sentry's privacy policy.
- Cloudflare — hosts evoglyph.com and runs Cloudflare Web Analytics on the marketing site. The analytics tool is cookieless and does not build a per-visitor profile. See Cloudflare's privacy policy.
We do not use ad networks, retargeting pixels, or session-replay tools. The list above is exhaustive.
Retention
- Your Mac. evoglyph stores transcription history, custom vocabulary, and settings locally on your device until you delete them. We have no copy.
- LemonSqueezy. Order and subscription records persist for as long as your account exists, plus whatever LemonSqueezy retains for tax and accounting compliance after deletion. We can delete your account-side records on request.
- Sentry (if opted in). Crash reports are retained per Sentry's default policy (currently 90 days for event data).
- Cloudflare Web Analytics. Page-view counts and CTA clicks are aggregated; there is no per-visitor record we can access or export.
Your rights
Under GDPR (EU/UK), CCPA (California), and similar privacy laws, you have the right to:
- Know what personal data we hold about you.
- Request a copy (data portability).
- Correct inaccurate data.
- Delete your data, subject to legal retention requirements.
- Opt out of any non-essential processing.
Because evoglyph is local-first, the data we hold is almost entirely your LemonSqueezy order record. Email [email protected] with the subject "Privacy request" and we will respond within 30 days.
Changes to this policy
Material changes will be noted at the top of this page with a new "Last updated" date and, if substantive, a note in the evoglyph changelog. The most recent revision date is at the top of this article.