PRIVACY
Error Reporting & Telemetry
What data WaveForge collects, how it works, and how to turn it off entirely.
WaveForge includes two optional data features that help improve the app:
- error telemetry.
- notification reports.
Both are anonymous by design and completely opt-in. Neither one runs without your knowledge, and you can disable either or both at any time from Settings → Notifications.
Nothing is linked to your identity. There is no account system, no login, and no unique identifier tied to you as a person.
Error Telemetry#
What it is#
Error telemetry is a lightweight, in-process system that catches unexpected errors as they happen in the UI, the audio engine, the IPC layer, and other subsystems. The system records them as structured events.
These events are stored only in memory for the current session.
What is captured#
Each event includes:
| Field | Description |
|---|---|
variant | Severity level: success, info, warning, error, or critical |
priority | Impact level: low, normal, high, or critical |
source | Which subsystem produced the event (e.g. audio, ipc, ui) |
title | A short, human-readable description of what went wrong |
description | Optional extra detail |
timestamp | When the event occurred in the current session |
Subsystem control#
Each subsystem (UI, IPC, audio, MIDI, crash handler, settings, core) can be independently enabled or disabled. You can turn off individual subsystems while leaving others active, or disable the entire system with one toggle.
The "Enable error telemetry events" checkbox under the Error Reporting Preset controls whether error events are recorded in memory at all.
Notification Reports#
What it is#
Notification reports are the only mechanism by which any data leaves your machine.
When something goes wrong and you want to help diagnose the issue, you can open Settings → Notifications → Notification Log, select up to 10 recent events, and press Send Report. This sends the selected events to the WaveForge development team.
What is sent#
The report payload contains only the events you selected, plus two optional fields:
Always included:
| Field | Description |
|---|---|
| Selected events | The notification log entries you checked — same fields as listed above (variant, priority, source, title, description, timestamp) |
| Install ID | A randomly generated UUID created the first time you send a report. It exists to correlate multiple reports from the same installation so patterns across sessions can be spotted. |
Optionally included (off by default):
| Field | Description |
|---|---|
| OS name and version | e.g. linux 6.1.0 or windows 10 |
| OS family | e.g. unix or windows |
| CPU architecture | e.g. x86_64 or aarch64 |
| CPU brand and core count | e.g. Intel Core i7-12700K (12 cores) |
| CPU logical thread count | e.g. SMT/Hyper-Threading thread total |
| Total and available RAM | MB values at report collection time |
| App version | WaveForge app version string |
| Audio output summary | selected output device name and host label |
| Audio runtime status | whether engine is running, default host, available hosts, host count, PipeWire availability |
| Audio configured settings | configured sample rate, buffer size, channels, input enabled, and autostart |
| Audio output deep info | selected ID, host, name, default flag, supported rates/channels/formats, and warnings |
| Audio input deep info | selected ID, host, name, default flag, supported rates/channels/formats, and warnings |
Hardware info helps diagnose issues that only appear on specific platforms or configurations. It is disabled by default. To enable it, check Append Anonymous Hardware Info in the Notification Log section before sending.
Controlling These Features#
All controls live in Settings → Notifications.
Error Reporting Preset#
Choose a starting policy:
| Preset | What it enables |
|---|---|
| balanced (default) | Notifications for warnings and above; telemetry events recorded in memory |
| all notifications | All severity levels trigger user-facing notifications |
| critical only | Only critical errors generate notifications |
| telemetry only | Events recorded in memory (no user-facing notifications) |
| custom | Full manual control over every individual setting |
Manual controls#
After selecting a preset you can fine-tune:
- Enable user error notifications — whether events appear as in-app notifications
- Enable error telemetry events — whether events are recorded in memory at all
- Notification minimum severity — the lowest severity level that generates a visible notification
- Subsystem filters — per-subsystem toggles for UI, IPC, audio, MIDI, crash, settings, and core
- Dedupe window — how long (in seconds) to suppress duplicate events
- Burst cap — the maximum number of notifications per minute before throttling kicks in