SuperAPI AI 工具集

privacy-and-store-declarations

安全与审计

查看项目

更新于 10-18 18:02

技能介绍

该技能提供了一套完整的流程和工具,用于在 React Native/Expo 应用中实施可验证的隐私与商店声明。它基于“契约”文件(contracts/privacy.json)来集中管理网络访问、SDK 清单、权限答案和商店声明,并通过多层静态审计和运行时验证确保声明与实际代码一致。

主要用途:帮助开发者在提交应用商店前,系统地证明应用的数据收集和网络行为符合声明,避免因未声明 SDK 或权限导致的审核问题。

主要能力:

  • 定义网络配置(api-port 或 offline-only),强制第一方网络代码仅存在于指定接缝。
  • 要求所有联网 SDK 在契约中声明,并记录其收集的数据类型。
  • 审计 CocoaPods 和 Gradle 依赖,确保仅使用已声明的原生 SDK。
  • 生成并验证 iOS 隐私清单(Privacy Manifest),确保无跟踪声明。
  • 从契约自动生成 App Privacy 和 Data safety 答案。
  • 提供四个审计脚本:audit-repo.mjs(静态审计)、audit-bundle.mjs(发布包审计)、audit-privacy-manifest.mjs(清单审计)、audit-app-bundle.mjs(构建产物审计)。
  • 包含运行时网络守卫和 E2E 采样器,在测试构建中验证网络行为。
  • 检查仓库中无密钥、密钥库或凭证。

使用方式:

  1. 阅读参考资料(references/network-layers.md 等)确定网络配置。
  2. 复制模板文件到项目对应路径,配置 app.config.ts 和 package.json 脚本。
  3. 填写 contracts/privacy.json,声明每个网络 SDK、收集数据、权限答案和账户删除。
  4. 运行审计脚本(如 node scripts/audit-repo.mjs .)并修复所有 FAIL。
  5. 执行预构建和导出,运行相应的审计脚本。
  6. 配置运行时守卫和 E2E 测试,验证零阻止尝试。
  7. 发布前对构建产物运行审计。
  8. 输出商店答案供开发者手动填写。

适用场景:需要向 Apple App Store 和 Google Play 提交隐私声明的 React Native/Expo 应用,尤其是涉及广告、分析、崩溃报告、推送、内购等 SDK 的应用。

限制:该技能依赖于特定的项目结构(如 src/api 等),且需要开发者手动填写部分答案(如商店表单)。审计脚本可能产生 SKIP 行,需根据上下文判断。不处理服务端隐私问题。