What Wavelet sends
Wavelet is local-first: with the on-device models, your audio and your words never leave your Mac. To find bugs and see which features actually get used, the app sends a small stream of anonymous, content-free usage statistics. Here is every byte of it: the literal events, in full.
We send seven events, tagged with a random install ID (a UUID we generate on your Mac, not your name, not your email, nothing tied to your hardware) and the basics needed to tell one release or Mac model from another.
Every event carries only this envelope:
{
"app_version": "0.5.2",
"os_version": "15.5",
"mac_arch": "aarch64",
"build_channel": "beta",
"hw_model": "MacBookPro18,1",
"chip": "Apple M1 Pro",
"ram_gb": 16,
"$geoip_disable": true
} ram_gb is how much memory your Mac has, so we learn
which local models fit real machines. hw_model and
chip are the Mac model and the chip in it, so we can
read speed in the context of the hardware. Every value here is
cohort-level: millions of Macs share each one.
1. You installed Wavelet
Sent once, the first time you finish the welcome screen.
{ "event": "install_created", "distinct_id": "b3f1c2a4-..." } 2. You opened Wavelet today
Sent at most once per day.
{ "event": "app_launched", "properties": { "date": "2026-07-03" } } 3. Your dictation tally for a day
How many dictations succeeded, were cancelled, or errored, plus which engine you're on. Counts only. We never see, store, or send a single word you dictate.
The perf list is content-free timing samples, batched
into this daily bucket: how long a take was, how many characters it
produced, and how long it took. Numbers, never text, and never a
timestamp finer than the day.
{
"event": "dictation_daily_rollup",
"properties": {
"date": "2026-07-02",
"success_count": 12,
"cancel_count": 1,
"error_count": 0,
"backend": "mlx_local",
"model_tier": "balanced",
"trial_day": 6,
"perf": [
{
"audio_s": 41.6,
"chars": 418,
"latency_ms": 3812,
"tier": "balanced"
}
]
}
} 4. A dictation errored
The error's category only (e.g. the network was slow), never its message, never your audio.
{ "event": "error_event",
"properties": { "code": "paste_failed", "backend": "mlx_local" } } 5. You bought a license
Sent once, and it's the last thing this install ID ever sends.
trial_day is how many days you trialed before buying. No
key, no email, no amount.
{ "event": "license_activated", "properties": { "trial_day": 11 } } 6. A dictionary suggestion run finished
Wavelet suggests dictionary terms by reading your transcripts on your Mac, locally. We send only how the run went: which engine, the outcome, how long it took, and how many suggestions it produced. Never a suggestion, never a term, never a word you dictated.
{
"event": "dreamer_run",
"properties": {
"engine": "gemma-4-e2b-it-4bit",
"outcome": "completed",
"duration_s": 187.7,
"suggestions": 9
}
} 7. You finished a calibration
Beta builds only. When you finish scoring your calibration recordings, we send how many passages you read and each model's word error rate as a percentage (lower is better), plus whether the run was a first calibration or a re-run. Never the passages, never your recordings, never a transcript.
{
"event": "calibration_completed",
"properties": {
"clip_count": 12,
"rankable": true,
"recalibration": false,
"models": [
{
"model": "qwen3_asr_1_7b_8bit",
"backend": "mlx",
"wer_percent": 8.9,
"clips": 12
}
]
}
} What we never send, in any state
Your audio. Your transcripts. Your clipboard. The names of apps or windows you dictate into. Your location. Your IP address (we tell our analytics host to discard it). Anything that identifies you.
Where it goes
PostHog, on their EU servers, with IP capture turned off.
How long we keep it
Aggregate counts for as long as they're useful to improving Wavelet. You can erase everything tied to your install ID anytime with "Delete my usage data."
The paid promise
The moment you activate a license, usage statistics switch off for good and your install ID is retired. After you buy Wavelet, statistics are opt-in only: off unless you deliberately turn them back on.
Where the switch is
Settings → Usage statistics. On by default while Wavelet is in beta; off the instant you ask.