加固移动壳隐私清单验收

移动壳 Expo 配置烟测反查 PrivacyInfo 插件消费路径

宿主壳方案和项目记忆同步隐私清单验收口径
This commit is contained in:
2026-06-20 06:30:08 +08:00
parent 67e781c886
commit a51ed00712
3 changed files with 87 additions and 3 deletions
@@ -2890,8 +2890,8 @@
## 2026-06-20 移动壳 iOS Privacy Manifest 门禁
- 背景:移动壳使用 React Native、Expo FileSystem、Notifications 等原生依赖,这些依赖包含 required reason API 的隐私清单;如果 `app.json` 不显式声明并由配置检查反查,iOS 分发时可能因为合并缺失或依赖升级导致隐私声明漂移。
- 决策:`apps/mobile-shell/app.json``expo.ios.privacyManifests` 声明当前依赖需要的 `FileTimestamp``DiskSpace``SystemBootTime``UserDefaults` required reason API;不声明数据采集和 tracking domain。`apps/mobile-shell/scripts/check-config.mjs` 必须精确反查 API category、reason、空 collected data 和 tracking=false。
- 影响范围:`apps/mobile-shell/app.json``apps/mobile-shell/scripts/check-config.mjs`、原生壳方案文档。
- 决策:`apps/mobile-shell/app.json``expo.ios.privacyManifests` 声明当前依赖需要的 `FileTimestamp``DiskSpace``SystemBootTime``UserDefaults` required reason API;不声明数据采集和 tracking domain。`apps/mobile-shell/scripts/check-config.mjs` 必须精确反查 API category、reason、空 collected data 和 tracking=false。`apps/mobile-shell/scripts/check-expo-config.mjs` 额外确认当前安装的 `@expo/config-plugins` 仍包含消费 `config.ios?.privacyManifests` 并写入 `PrivacyInfo.xcprivacy``withPrivacyInfo` 插件,避免该字段变成源配置里的死声明。
- 影响范围:`apps/mobile-shell/app.json``apps/mobile-shell/scripts/check-config.mjs``apps/mobile-shell/scripts/check-expo-config.mjs`原生壳方案文档。
- 验证方式:`npm run mobile-shell:typecheck``npm run mobile-shell:config``npm run check:native-shells``npm run check:encoding``git diff --check`
## 2026-06-20 移动壳 ShellApp HostBridge 事件注入必须可执行覆盖