← 返回博客

零遥测:我们为什么不跟踪用户

privacy philosophy

关于开发者工具与数据收集的不适真相

打开你日常使用的几乎任何开发者工具的隐私政策,你都会发现关于数据收集的章节。使用分析、崩溃报告、功能追踪、会话时长、硬件配置文件——清单很长。大多数公司将此描述为一种必要:他们需要数据来改进产品、确定功能优先级并修复错误。公平地说,这种推理并非完全错误。基于数据的产品决策是构建更好软件的合法方法。

但有一个很少被提出的问题:代价是什么?

为什么大多数开发者工具收集分析数据

开发者工具中telemetry的标准理由分为几类:

  • 产品决策。哪些功能使用最多?哪些被忽略了?分析数据帮助产品团队确定下一步要构建什么以及要弃用什么。
  • 崩溃报告。当出现故障时,自动崩溃报告帮助开发者更快地识别和修复问题,有时甚至在用户报告之前。
  • 性能监控。某个操作在不同硬件上需要多长时间?瓶颈在哪里?telemetry提供了合成基准测试无法复制的真实性能数据。
  • 业务指标。留存率、激活漏斗、流失预测——这些指标推动业务决策,尤其是对于面临增长压力的风险投资支持的公司。

这些都不是本质上恶意的。但累积效应是,你的开发环境变成了行为数据的来源。每次commit、每次分支切换、每次merge冲突、每个打开的文件——所有这些都是潜在可观察的。对于一个位于你工作流中心的工具来说,这是关于你如何工作、做什么工作以及何时工作的大量信息。

为什么GitSquid选择了不同的道路

当我们开始构建GitSquid时,我们做了一个刻意的决定:zero telemetry。不是"最小telemetry",不是"匿名化telemetry",是零。这不是事后的想法或营销策略。这是一个基本的设计原则,原因如下。

隐私是一项功能

我们相信隐私不仅仅是合规清单上的一个勾选项。它是用户应当能够依赖的一项功能。当你使用GitSquid时,应用程序完全在你的机器上运行。你的仓库数据、commit历史、分支结构、工作流模式——没有任何东西离开你的电脑。这是一个保证,而不是你需要记得开启的设置。

开发者工具看到一切

Git客户端不是一个随意的工具。它可以访问你的整个代码库、你的commit消息(通常包含项目名称、工单编号以及你正在做什么的上下文)、你的分支名称和你的协作模式。它知道你在哪些仓库上工作、多久commit一次、何时活跃。从Git客户端收集telemetry意味着收集与你的专业工作(有时是个人工作)深度交织的数据。我们不想承担这个责任,我们也认为你不应该被要求授予它。

信任应该是简单的

对于许多工具,信任需要阅读隐私政策、检查退出设置、希望"匿名化"的数据真的是匿名的,并信任数据处理实践不会在下一次收购或融资轮次中改变。我们希望信任是简单的:GitSquid不收集你的数据。就这样。没有需要解析的隐私政策,没有需要审核的设置,没有需要审查的数据处理协议。

"Zero telemetry"具体意味着什么

为了准确说明我们的意思,以下是GitSquid所做和不做的事情:

我们不收集:

  • 任何类型的使用分析
  • 崩溃报告或错误日志
  • 功能使用追踪
  • 会话数据或活动模式
  • 硬件或操作系统配置分析
  • 仓库元数据或内容

GitSquid发出的唯一网络请求是:

  • 许可证验证。当你激活许可证时,GitSquid会与我们的许可证服务器验证其有效性。这是一个简单的激活检查,而非使用报告。
  • 更新检查。GitSquid会定期检查是否有更新版本可用,以便你保持最新。此检查期间不会传输任何关于你使用情况的数据。

这就是完整的清单。没有分析端点,没有后台数据上传,没有"匿名"使用报告。如果你在使用GitSquid时监控网络流量,你只会看到这两种类型的请求,别无其他。

我们接受的权衡

我们不会假装没有缺点。没有telemetry,我们无法自动了解哪些功能受欢迎、用户在哪里遇到困难,或是什么导致了特定硬件配置上的崩溃。我们转而依赖用户的直接反馈、支持对话以及我们自己的广泛测试。这更慢,也不够系统化。这意味着我们有时会比使用自动崩溃报告时更晚发现问题。

我们认为这是一个可接受的权衡。我们的用户得到了一个完全尊重其隐私的工具,而我们得到了一个建立在真实用户关系而非数据提取之上的产品。我们宁愿拥有一百个深度信任我们的用户,也不要来自不知道自己被追踪的用户的一百万个数据点。

行业转变

持这种想法的不只有我们。在整个软件行业,越来越多的人认识到"先收集一切,以后再弄清楚意义"的做法有着实际代价——监管上的、声誉上的和道德上的。浏览器、电子邮件、即时通讯和搜索领域中注重隐私的替代方案的兴起,表明用户越来越重视尊重其边界的工具。

在开发者工具领域,这种转变尤为重要。开发者理解技术。他们知道telemetry意味着什么,知道可以从使用模式中推导出什么数据,知道"匿名化"的数据与其他来源结合时能揭示什么。为这类受众构建工具却不尊重他们的隐私,这不仅仅是道德问题,更是信誉问题。

一个简单的承诺

我们对telemetry的立场不会因为新的产品版本、领导层变更或融资轮次而改变。Zero telemetry是GitSquid的一部分。你的代码留在你的机器上。你的工作流保持私密。你的信任保持简单。

这不是我们愿意妥协的功能。