Telemetry disclosure.
Every piece of data ThoughtMic sends off your Mac, documented in full. For the plain-English overview of what stays on your Mac and what goes to the cloud, start with the main privacy page.
TL;DR
- No transcript content is ever sent anywhere
- No vault paths, filenames, or note contents leave your Mac
- No email addresses or personally identifiable information
- Usage metrics are opt-out (on by default) — anonymous aggregates only
- Crash reports are opt-in (off by default) — stack traces are scrubbed
- Both can be toggled in Preferences → Privacy at any time
- You can verify this yourself — the client SDK is open source
What stays where
Stays on your Mac
Audio recordings, Whisper transcriptions, vault contents, note titles, tags, file paths, your license key, all preferences.
Sent to the cloud (if enabled)
Anonymous event names + coarse metadata (see catalog below). Crash stack traces (opt-in only). Rephrased text goes to our Worker for Pro users only.
Never leaves your Mac
Raw audio. Raw Whisper transcript. Vault paths and filenames. Email addresses. Any content that could identify you or your notes.
Event catalog
Every event ThoughtMic can send via TelemetryDeck. Each event is an anonymous signal with optional coarse metadata fields.
step — step name (e.g., "permissions", "model", "obsidian", "privacy")durationBucket — coarse duration range (e.g., "<5s", "5-15s", "15-30s", "30-60s", "1-2m", ">2m"), didRephrase — "true"/"false", isPrivate — "true"/"false"featureName — feature name (e.g., "vault", "autoTitle", "autoTag")mode — rephrasing mode name (e.g., "Clean Up", "Professional", "Email")bucket — app category ("browser", "terminal", "code_editor", "messaging", "knowledge_base", "email", "writing", "other")errorType — error category (e.g., "ax_not_trusted", "no_focused_element")errorType — error type name (never includes the error message itself)step — which enrichment step failed (e.g., "combined_llm_call")day — milestone day number (1, 3, 7, or 14 only)Example payloads
Here's exactly what a TelemetryDeck signal looks like on the wire for representative events.
appLaunched
dictationCompleted
targetAppBucket
trialDayReached
sttFailed
Note: clientUser is a SHA-256 hash generated by the TelemetryDeck SDK from a random device identifier. It cannot be reversed to identify you. appID is ThoughtMic's public TelemetryDeck app identifier.
PII defense in depth
Even if a bug accidentally passed personal data to the telemetry layer, it would be caught and scrubbed before leaving your Mac:
- Every payload field is checked against regex patterns for email addresses, file paths (e.g.,
/Users/...), vault paths (*.md), and home directory references (~/...). - Any matching field is replaced with
[redacted]before the event is dispatched. - Sentry crash reports run through a separate
beforeSendhook that scrubs event messages, extra context, and breadcrumbs using the same patterns.
How to disable telemetry
In the app
- Open ThoughtMic Preferences (click the menu bar icon → Preferences)
- Go to the Privacy tab
- Toggle off "Send anonymous usage metrics" and/or "Send crash reports"
Changes take effect immediately. No restart needed.
Via Terminal
defaults write com.thoughtmic.ThoughtMic telemetryEnabled -bool falsedefaults write com.thoughtmic.ThoughtMic crashReportsEnabled -bool false
Via Little Snitch / firewall
Block outbound connections from ThoughtMic to:
nom.telemetrydeck.com(TelemetryDeck ingest)*.ingest.sentry.io(Sentry crash reports)
This will not affect core functionality. Dictation, transcription, and vault writes all happen locally. Only cloud rephrasing (for Pro users) requires network access to thoughtmic-worker.thoughtmic.workers.dev.
Verify it yourself
The TelemetryDeck Swift SDK is fully open source. You can read every line of code that runs on your Mac:
github.com/TelemetryDeck/SwiftSDK
The Sentry Cocoa SDK is also open source: