Diagrammo Privacy

Diagnostics summary

Events we capture

Each event sends only the listed properties.

app_opened

When the app launches. Properties: app version, platform (tauri desktop or web), and the chart type of the last opened file (derived from file extension only).

diagram_rendered

When a diagram successfully renders. Property: the chart type from a fixed list (e.g. sequence, flowchart, erd, kanban, org, c4).

app_crashed

Once per session if a recovery snapshot is found on launch. Properties: app version, file-extension-derived diagram type, and a short label describing what the app was doing before the crash (from a fixed allowlist).

crash_loop_detected

Once per session if the app crashed twice within 60 seconds. Properties: tier (always 1), the 60-second window, and the activity label.

onboarding_path

Once when a new install picks a folder. Property: default, suggestion, custom, or existing.

$exception

When an uncaught error escapes a React boundary, an async catch, or an unhandled rejection.

What is NOT captured

Pseudonymity, not anonymity

The per-install ID is a random UUID generated on your device the first time Diagrammo starts. We never see your name, email, or any account identifier. But because the same UUID is reused across launches, two events from the same install are linkable to each other. That’s pseudonymity, not anonymity.

Opting out

Settings → Send error reports to help fix bugs. The opt-out is honored at the SDK level so any in-flight events are dropped.

Changes

If we ever expand what’s collected, this page is updated before the change ships and release notes call it out explicitly.