> ## Documentation Index
> Fetch the complete documentation index at: https://docs.echophrase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 我们收集哪些数据

> Echophrase 发送的每一个匿名遥测事件，逐项列出属性，以及如何全部关闭。

Echophrase 会在首次启动时询问是否发送匿名应用程序统计，该选项默认为勾选。本页完整列出勾选后会发送的所有内容。这里没有任何省略：若某个事件未列于本页，应用程序就不会发送它。

<Card title="每个事件都遵守您的选择" icon="shield-halved">
  没有例外。关闭此设置后，Echophrase 什么都不会发送 - 连安装数统计也不会。您选择退出后唯一离开您设备的，是一个 `telemetry_disabled` 通知，让我们的仪表板停止将您计为活跃用户。
</Card>

## 如何关闭

「**设置 > 数据 > 发送匿名应用程序统计**」- 一个开关，没有确认弹窗，立即生效。

偏好使用环境变量？Echophrase 在启动时会遵守下列任一变量，且优先于设置值：

```bash theme={null}
DO_NOT_TRACK=1 echophrase          # 跨廠商通用慣例
ECHOPHRASE_NO_TELEMETRY=1 echophrase   # 我們自己的變數，若您想更明確
```

设置任一变量启动时不会发送任何数据，**且**不会消耗一次性的首次启动标记，因此之后的正常启动仍会被正确计数。

开发版构建（`bun run tauri:dev`）完全不会发送遥测。

## 事件清单

事件会先在本机排入队列，仅在应用程序闲置时（距离上次录音或转录至少 10 分钟）、保存设置时，以及应用程序结束时分批发送。Echophrase 绝不会在转录期间或刚结束时发出遥测请求。每个事件只有几百字节的中介数据。

| 事件                        | 属性                                                                                                          | 何时发送                             |
| ------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------- |
| `first_launch`            | `arch`（x86\_64/aarch64）                                                                                     | 机器上首次启动，在您回答同意选项后（一生一次，以本机标记档记录） |
| `app_updated`             | `from`、`to`（版本字符串）                                                                                          | 更新后的首次启动                         |
| `daily_active`            | `auth_state`（pre\_login/authenticated）、`recording_mode`（push\_to\_talk/open\_mic）、`arch`                    | 应用程序启动，每 24 小时最多一次               |
| `gpu_backend`             | `backend`（cuda/directml/cpu/metal）、`vram_bucket`（\<4GB/4-8GB/8-16GB/>16GB/unknown）                          | 每次工作阶段的首次转录                      |
| `transcription_completed` | `model`、`transform_used`、`auth_state`、`paste_at_cursor`、`remove_filler_words`、`gpu_backend`、`processing_ms` | 转录完成后                            |
| `transcription_failed`    | `model`、`gpu_backend`、`error_category`（分类代码，绝不含原始错误字符串）                                                     | 转录失败时                            |
| `model_changed`           | `model`（例如「distil-large-v3」）                                                                                | 您保存模型选择时                         |
| `settings_saved`          | `output_to`、`recording_mode`、`remove_filler_words`、`use_numeric_digits`、`transform_enabled`、`language`      | 您变更上述设置时                         |
| `pro_modal_shown`         | *(无)*                                                                                                       | 显示 Pro 升级窗口（每工作阶段一次）             |
| `login_intent`            | *(无)*                                                                                                       | 显示登录窗口（每工作阶段一次）                  |
| `purchase_intent`         | `source`（upgrade\_modal）、`channel`（固定为「app」）                                                                | 您点击升级按钮（每来源每工作阶段一次）              |
| `app_panic`               | `location`（相对于源代码库的 `src/foo.rs:42`）、`thread`（线程名称）                                                         | 应用程序崩溃时（仅正式版构建）                  |
| `telemetry_disabled`      | *(无)*                                                                                                       | 您选择退出 - 追踪停止前的最后一个通知             |

### 自动附带的系统属性

用户端会为上述每个事件自动附上：

* 平台与操作系统版本
* 应用程序版本
* 语言地区

以上就是全部。没有设备 ID、没有安装 ID，也没有能跨重启存续的工作阶段 ID。

## 绝不收集的数据

| 数据               | 是否收集？                                    |
| ---------------- | ---------------------------------------- |
| 语音录音             | **从不**                                   |
| 转录文字             | **从不**                                   |
| AI 模型的输入或输出      | **从不**                                   |
| 崩溃／错误消息          | **从不**（只有源代码位置）                          |
| 用户 ID、安装 ID、设备指纹 | **从不**                                   |
| IP 地址            | **从不保存**（我们的 Aptabase 运行个体不保留）           |
| 录音长度或频率          | **从不**（`processing_ms` 是模型运算时间，不是您说话的时长） |
| Cookie           | **无**                                    |

## 数据发送到哪里

* **后端**：[Aptabase](https://github.com/aptabase/aptabase)，自架于 `https://telemetry.echophrase.com` - 数据不会流向第三方分析厂商
* **传输**：仅使用 HTTPS（TLS 1.3）
* **保留期限**：原始事件于一年后删除
* **源代码**：桌面应用程序的 `src-tauri/src/telemetry/` - 上表与实际发送事件的代码同源

## 您的账号数据是分开的

以上全部都是匿名且未与账号链接。若您登录，与账号相关的数据（电子邮件、订阅方案、转录次数）受「**设置 > 数据**」中的自助 GDPR 功能保障：**取得数据**可导出我们持有的全部内容，**删除（匿名化）账号**则可将其移除。

概观请见[隐私与数据](/zh-CN/privacy)，数据保留、第三方处理者及您的 GDPR/CCPA 权利详情请见完整的[隐私政策](https://echophrase.com/privacy)。
