SetupSelf-Hosting
Telemetry
Breadcrumb collects anonymous telemetry to understand which features are used and where to focus development. This data contains no personal information, trace contents, or project details.
Every event we track is listed on this page. If it's not here, we don't collect it.
What we collect
Server events
| Event | Properties | Description |
|---|---|---|
server_started | node_version, user_count, project_count | Sent once when the server boots. |
user_signed_up | user_count | A new user account was created. |
project_created | project_count | A new project was created. |
trace_ingested | - | A completed trace was received. |
api_key_created | - | An API key was generated. |
mcp_key_created | - | An MCP key was generated. |
ai_provider_configured | provider | An AI provider was connected. |
member_invited | role | A team member was invited. |
mcp_tool_used | tool_name | An MCP tool was called by an LLM client. |
query_rejected | source, code, detail_count | A sandboxed ClickHouse query was rejected by validation. |
monitor_scan_completed | ticket_count, query_count, cost_cents | A monitor scan agent run finished. |
monitor_investigation_completed | verdict, cost_cents | A monitor investigation agent run finished. |
monitor_item_created | - | A user manually created a monitor ticket. |
monitor_item_status_changed | from_status, to_status | A user changed a monitor ticket's status. |
monitor_user_comment | - | A user commented on a monitor ticket. |
monitor_investigation_triggered | - | A user manually triggered an investigation. |
monitor_duplicate_blocked | confidence | Duplicate detection prevented a ticket from being created. |
slow_trpc_request | procedure, duration_ms, ok | A tRPC request took longer than 1 second. |
slow_clickhouse_query | source, duration_ms | A ClickHouse query took longer than 500ms. |
slow_ingest_batch | table, row_count, duration_ms | An ingest batch insert took longer than 500ms. |
server_error | procedure, error_code | An unexpected error occurred in a tRPC procedure. Expected errors (auth, not found, validation) are excluded. |
Frontend events
All frontend events include a theme property (dark or light).
| Event | Properties | Description |
|---|---|---|
app_loaded | - | The dashboard was opened in a browser. |
page_viewed | page_type | A page was viewed. Only the generic type is sent (e.g. traces, settings, monitor) - never the URL. |
trace_search_used | - | A trace search was performed. |
What we never collect
- Trace or span contents
- Project names, API keys, or anything you type into Breadcrumb
- IP addresses or geolocation
- URLs, page paths, or referrer information
- Personally identifiable information of any kind
Each instance is identified by a random ID stored in the database. The browser uses an in-memory identifier that resets on every page load - no cookies or local storage are involved.
Opting out
Add one environment variable to your server configuration:
DISABLE_TELEMETRY=trueThis turns off telemetry completely. The server skips initialization and the dashboard never loads the telemetry client.