Files
LangBot/en/insight/data-collection-policy.mdx
T

104 lines
5.2 KiB
Plaintext

---
title: "Data Collection Policy"
description: "What data LangBot collects and how it is used"
---
LangBot collects minimal, anonymized telemetry data to help improve the product. This document explains what data is collected, how it is used, and how you can opt out.
## 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:
1. **Understand usage patterns** — Which adapters, runners, and models are most popular
2. **Improve reliability** — Identify common errors and failure modes
3. **Guide development** — Prioritize features and platform support based on real usage
4. **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 setting `disable_telemetry: true` in the `space` section of your `data/config.yaml` configuration file:
```yaml
space:
url: "https://space.langbot.app"
disable_telemetry: true
```
When telemetry is disabled:
- 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
## Changes to This Policy
We may update this policy as LangBot evolves. Changes will be documented in our release notes and reflected in this page.
*Last updated: June 2026*