vcpkg 遥测和隐私

vcpkg 收集遥测数据以了解使用问题(如包失败)并指导工具改进。 收集的数据是匿名的。 有关 Microsoft 如何保护隐私的更多信息,请参阅 Microsoft 隐私声明

范围

我们仅从工具本身的调用中显式收集信息;我们不会在生成的库中添加任何跟踪信息。 使用任何 vcpkg 命令时都会收集遥测数据。

如何选择退出

vcpkg 遥测功能默认处于启用状态。 要选择退出数据收集,可以针对 Windows 和 Linux/OSX 分别重新运行具有以下标志的启动脚本:

PS> .\bootstrap-vcpkg.bat -disableMetrics

~/$ ./bootstrap-vcpkg.sh -disableMetrics

公开

构建 vcpkg 时,vcpkg 将显示类似于以下内容的文本。 这是 Microsoft 通知用户有关数据收集信息的方式。

Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md

收集的数据

遥测功能不收集用户名或电子邮件地址等个人数据。 也不会扫描代码,更不会提取项目级敏感数据,如名称、存储库或作者。 数据将安全地发送到 Microsoft 服务器,并以受限制的访问权限予以保存。

保护你的隐私对我们很重要。 如果你怀疑遥测在收集敏感数据,或者认为处理数据的方式不安全或不恰当,请在 Microsoft/vcpkg 存储库中记录问题或发送电子邮件至 vcpkg@microsoft.com 以供调查。

我们收集各种遥测事件,例如使用的命令行、调用时间以及执行时长。 某些命令还会添加其他计算信息(例如要安装的整组库)。 我们会在首次使用时生成一个完全随机的 UUID,并将其附加到每个事件。

可以通过在 vcpkg 命令行后面附加 --printmetrics 来查看任何命令的遥测事件。

在源代码中(包含在 GitHub 上的 microsoft/vcpkg-tool),你可以搜索对函数 track_property()track_feature()track_metric()track_buildtime() 的调用,以查看我们收集的每个特定数据点。

避免意外泄露信息

vcpkg 参与者以及运行自己生成的 vcpkg 版本的任何其他人都应考虑其源代码的路径。 如果使用 vcpkg 时发生崩溃,则会收集构建计算机中的文件路径作为堆栈跟踪的一部分,且不会进行哈希处理。 因此,vcpkg 的构建不应位于路径名公开个人或敏感信息的目录中。