- 桌面应用
【免费下载链接】NanaZip
The 7-Zip derivative intended for the modern Windows experience
本文以 Documents/Privacy.md 官方隐私策略为骨架,结合 NanaZip 仓库源码(含 Sponsor 授权检查、Store 购买流程与包清单声明)逐条还原该策略在工程层面的落地方式,帮助你准确判断:NanaZip 究竟收集哪些数据、何时会联网、联网做了什么,以及作为用户或开发者应如何核验这些行为。
一、信息收集声明:不收集,但依赖平台与文件系统权限
隐私策略的开篇立场非常明确:NanaZip 本身不收集任何信息。但这并不意味着应用运行在“真空”中,原文档同时指出了两个必须了解的边界:
1. 文件系统访问权
NanaZip 作为 7-Zip 的现代 Windows 衍生品,核心职责就是压缩与解压,因此它必然被授予访问你文件系统上文件和文件夹的能力。这不是数据收集,而是功能本身的前提——你选择在应用内打开某个压缩包、解压到某个目录时,应用才会接触对应路径下的数据。
2. Windows Store 与 Windows App Host 的遥测
若你通过 Microsoft Store 安装 NanaZip,那么Windows Store 与 Windows App Host 会独立于应用收集使用数据,例如:
- 谁购买/使用了该应用(账号与使用归属);
- 崩溃报告(crash reports)等诊断信息。
这部分数据由微软平台侧收集,受微软自身的隐私条款约束,而非 NanaZip 项目自身行为。从仓库证据看,NanaZip 的发布形态正是 Store 打包应用——NanaZipPackage/Package.appxmanifest 中的Identity、DisplayName、Publisher等声明明确了其 Store 包身份,<rescap:Capability Name="runFullTrust" />则表明它是 Full Trust 桌面应用,可直接访问文件系统与运行本地进程,这与“提供文件与文件夹访问能力”的声明完全对应。
3. 第三方网站链接
隐私策略特别提醒:如果你在应用内打开任何跳转到其他网站的文件或链接,需要自行查阅对应网站的隐私政策。这类“外部跳转”在源码中确实存在,例如 NanaZip.Modern/SponsorPage.cpp 中的“Contribute”按钮会通过ShellExecuteExW打开贡献指南页面,SponsorPage.cpp 中的策略按钮会打开 Sponsor Edition 说明文档——这些链接一旦点击,后续的数据处理将遵循目标站点自己的策略,与 NanaZip 无关。
二、赞助版(Sponsor Edition)的联网行为:自 3.0 起需访问互联网
这是原文档中信息量最大、也最需要技术解释的部分。
1. 为什么要联网:Microsoft Store 许可 API
自NanaZip 3.0起,应用会尝试访问互联网,原因在于Microsoft Store Licensing API:NanaZip 需要调用它来校验Sponsor Edition 附加组件的许可状态(用户是否已购买该附加组件)。换言之,联网的目的不是上传你的文件或个人信息,而是向微软商店的许可服务查询当前账号对赞助版产品的拥有情况。
2. 联网时机的优化:仅在首次启动文件管理器时检查
为了让联网行为对用户体验的影响降到最低,NanaZip 只在你首次启动 NanaZip 文件管理器(NanaZip File Manager)时检查赞助版许可状态,而不是每次启动或持续后台轮询。购买或兑换赞助版附加组件之后,如果按钮状态没有及时更新,你可以点击赞助(Sponsor)按钮手动刷新状态。
3. 源码级还原:许可检查的完整调用链
以上策略在 NanaZip.Modern/MainWindowToolBarPage.cpp 中有完整的工程实现,可以逐行对证:
(a)首次加载触发检查:页面加载完成事件PageLoaded直接调用RefreshSponsorButtonContent()(MainWindowToolBarPage.cpp),对应“首次启动文件管理器时检查”的声明。
(b)本地缓存优先:CheckSponsorEditionLicense()(MainWindowToolBarPage.cpp)先读取注册表键HKEY_CURRENT_USER\Software\NanaZip\SponsorEdition(REG_DWORD),若命中缓存则直接返回,避免重复联网;缓存未命中时才走 Store 查询,并把结果写回同一注册表键。
(c)Store 许可查询:未命中缓存时,代码调用StoreContext::GetDefault(),并通过GetStoreProductsAsync({ L"Durable" }, { L"9N9DNPT6D6Z9" })查询附加组件(Store 产品 ID 为9N9DNPT6D6Z9),随后用Product.IsInUserCollection()判断用户是否已拥有该产品(MainWindowToolBarPage.cpp)。这正是隐私策略所说的“使用 Microsoft Store Licensing API 检查赞助版许可状态”。
(d)手动刷新:点击赞助按钮时,SponsorButtonClick(MainWindowToolBarPage.cpp)会先删除注册表中的SponsorEdition缓存键,再重新调用RefreshSponsorButtonContent()强制走一次全新查询,实现“购买或兑换后点击按钮刷新状态”。
(e)按钮文案切换:检查结果通过RefreshSponsorButtonContent的SponsoredText/AcquireText两个本地化字符串资源,将按钮分别显示为“Appreciate your sponsorship”或“Sponsor NanaZip”,详情可对照 NanaZip.Modern/Strings/en/MainWindowToolBarPage.resw。
(f)两种启动方式:赞助页面的拉起分打包与非打包两种路径——打包模式通过IApplicationActivationManager::ActivateApplication以非提升进程启动购买对话框(MainWindowToolBarPage.cpp),非打包模式则以 Shell 为父进程重新拉起自身并带--AcquireSponsorEdition参数(MainWindowToolBarPage.cpp)。
4. 购买流程本身也走 Store
SponsorPage.cpp 中的BuySponsorEditionButtonClick使用Windows.Services.Store.StoreContext查询 Durable 类产品9N9DNPT6D6Z9并调用Product.RequestPurchaseAsync()发起应用内购买——购买动作同样发生在微软商店体系内,交易与许可数据由微软处理。赞助版的权益说明可参阅 Documents/SponsorEdition.md。
三、信息使用:不收集、不上传、策略变更的更新机制
原文档对“信息使用”的约束同样清晰:除上述 Store 许可查询外,没有其他数据被收集或在线共享。
- 不收集、不共享:NanaZip 不把任何用户文件、压缩包内容或使用行为上传到自有服务器——项目本身并不运营遥测后端,这与“No other data is collected or shared online”的声明一致。
- 保留变更权:项目方保留修改本策略的权利,任何变更都会更新到本文档。因此核验 NanaZip 隐私承诺的最可靠方式,是持续关注仓库中的 Documents/Privacy.md 本身是否有更新。
四、核验建议:如何验证这些声明
对于注重隐私的用户或希望自行审计的开发者,可以按以下路径核验:
- 核对包权限声明:查看 NanaZipPackage/Package.appxmanifest,确认应用仅声明了
runFullTrust能力(文件系统访问源自 Full Trust 桌面应用身份),并未声明任何网络专用 capability。 - 核对联网触发点:在 NanaZip.Modern/MainWindowToolBarPage.cpp 中全局搜索
StoreContext、GetStoreProductsAsync与注册表键SponsorEdition,可确认所有 Store 网络交互均围绕赞助许可查询,且带有本地注册表缓存以减少联网频次。 - 关注策略更新:以 Documents/Privacy.md 为准,文档标注的 “Last updated” 日期(2024 年 5 月 28 日)之后如有变动,应以最新版本为准。
五、小结
一句话概括 NanaZip 的隐私模型:应用本体不收集任何数据,只在你主动操作时访问文件系统;唯一自 3.0 起引入的联网行为是微软商店赞助版许可校验,且被限制在首次启动文件管理器时执行,并有注册表缓存与手动刷新机制兜底。其余遥测来自 Windows Store / Windows App Host 平台侧,第三方链接则遵循目标站点自己的隐私策略。
- 桌面应用
【免费下载链接】NanaZip
The 7-Zip derivative intended for the modern Windows experience
相关推荐
QuickLook 隐私策略深度解读:网站数据收集范围与桌面端联网行为分析
QuickLook 隐私策略深度解读:网站数据收集范围与桌面端联网行为分析 QuickLook 是一款将 macOS “Quick Look”(空格键快速预览)
桌面应用插件系统ntfy 隐私政策深度解读:数据收集边界、保留策略与自托管数据控制方案
ntfy 隐私政策深度解读:数据收集边界、保留策略与自托管数据控制方案 导读 本文基于 ntfy 官方隐私政策文档( docs/privacy.md https
后端即时通讯消息队列解读 readthedocs.org 隐私政策:数据收集边界、Do Not Track 合规与源码级实现
解读 readthedocs.org 隐私政策:数据收集边界、Do Not Track 合规与源码级实现 导读 本文围绕 readthedocs.org 官方隐
后端文档
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考