What We Collect
When telemetry is enabled (via LangBot Space integration), the following data is sent per conversation query:| Field | Description |
|---|---|
query_id | A randomly generated unique ID for the query (not linked to user identity) |
adapter | The messaging platform adapter in use (e.g., WeChat, QQ, Telegram) — only the adapter type name, not your account info |
runner | The AI runner type (e.g., local-agent, dify-service-api) |
model_name | The model name used for the query (e.g., gpt-4o, deepseek-chat) |
duration_ms | How long the query took to process (in milliseconds) |
version | The LangBot version you are running |
instance_id | A randomly generated UUID identifying your LangBot instance (generated at first launch, not linked to personal identity) |
pipeline_plugins | Names of pipeline plugins involved in the query |
features | Anonymous feature-usage counters for the query (see below) |
error | Error traceback if the query failed (no user content included) |
timestamp | When the query occurred (UTC) |
The features object
To understand which capabilities are actually used, each query event may include the following counters and category names — never the content of tool calls, retrieved documents, or executed code:
| Key | Description |
|---|---|
tool_calls | Number of tool invocations during the query, grouped by tool source (native / plugin / mcp / skill) |
tool_call_rounds | How many agent tool-call rounds the query took |
kb | Knowledge base usage: number of knowledge bases queried, knowledge engine plugin IDs in use, and the number of retrieved entries — not the retrieved text |
sandbox | Number of sandbox code executions and sandbox errors — not the executed code or its output |
activated_skills | Names of skills activated during the query |
mcp_servers | Names of MCP servers bound to the pipeline (omitted when “all enabled” is used) |
Instance heartbeat
In addition to per-query events, LangBot sends an anonymous instance heartbeat once shortly after startup and then once per day. It describes the instance’s configuration profile — never its data:| Field | Description |
|---|---|
deploy_platform | How LangBot is deployed (docker, linux, darwin, win32, …) |
database | Database kind in use (sqlite or postgresql) — no connection details |
vdb | Vector database kind in use (e.g., chroma, milvus, qdrant) — no connection details |
box | Sandbox configuration: enabled flag, availability, backend kind (docker / nsjail / e2b), deployment topology — no workspace contents |
adapters | Adapter type names of enabled bots |
bot_count, pipeline_count, mcp_server_count, knowledge_base_count, plugin_count, skill_count | Object counts only — no names or contents of these resources |
Surveys
LangBot may occasionally present in-app surveys (e.g., product-market fit surveys). Participation is optional. When a survey is submitted, the following is sent:- Survey ID and your answers
- Your instance ID and LangBot version
- Whether you completed or dismissed the survey
What We Do NOT Collect
- ❌ Message content — We never collect the content of your conversations
- ❌ User identities — No usernames, emails, phone numbers, or account IDs from your messaging platforms
- ❌ API keys or credentials — Your model provider API keys are never transmitted
- ❌ IP addresses — We do not log or store your IP address for analytics purposes
- ❌ File or media content — No images, documents, or other media you exchange with the bot
How We Use the Data
The collected telemetry data is used to:- Understand usage patterns — Which adapters, runners, and models are most popular
- Improve reliability — Identify common errors and failure modes
- Guide development — Prioritize features and platform support based on real usage
- Monitor performance — Track response times and identify bottlenecks
Data Storage & Retention
- Telemetry data is sent to LangBot Space (
space.langbot.app) - Data is stored on servers operated by the LangBot team
- Data is retained for product analytics purposes and may be aggregated for public statistics (e.g., total user count)
How to Opt Out
You can disable telemetry at any time by settingdisable_telemetry: true in the space section of your data/config.yaml configuration file:
- No query data will be sent
- No instance heartbeats will be sent
- No surveys will be fetched or displayed
- All other LangBot features continue to work normally
