关于 expo-app-store-guideline-check
用于检查 React Native 和 Expo 项目是否符合 Apple App Store、Google Play、LGPD、GDPR 及常见安全规范的 Skill。它结合 Shell 静态检查、指南、清单和模板生成报告,并提供修复建议。
主要功能
- 01自动扫描项目配置与代码
- 02按严重程度分类并提供修复建议
- 03检查 Apple 和 Google 商店要求
- 04提供 LGPD、GDPR 与安全指南
- 05附带清单和隐私文档模板
适用场景
- 01应用提交商店前进行检查
- 02调查 Apple 或 Google Play 的拒审原因
- 03检查 iOS 隐私清单和 Android 数据安全
- 04审视隐私与安全实践
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nandofalcao/ expo-app-store-guideline-check --skill expo-app-store-guideline-check安装后在 Claude Code 中输入/expo-app-store-guideline-check确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSECLAUDE.mdREADME.mdchecklists/privacy-compliance.mdpre-submission-ios.mdsecurity-checklist.mdpre-submission-android.mdevals/evals.jsonreferences/apple-app-store.mdcommon-rejections.mdlgpd-privacy.mdreact-native-expo.mdgoogle-play-store.mdlgpd-vs-gdpr.mdgdpr-privacy.mdscripts/check-data-safety.shcheck-dependencies.shcheck-permissions.shcheck-privacy-manifest.shgenerate-report.shscan-project.shcheck-expo-config.shcheck-security.shtemplates/app-privacy-labels.mdprivacy-policy-en.mdprivacy-policy-pt-br.mdterms-of-use-en.mddata-safety-form.mdprivacy-policy-gdpr-en.mdterms-of-use-pt-br.md详细介绍
Expo App Store 指南检查
用于验证 React Native/Expo 应用是否符合 Apple App Store、Google Play Store、LGPD、GDPR 以及隐私与安全最佳实践指南的技能。
此技能的功能
- 通过 bash 脚本自动分析项目
- 将问题分类为: CRITICAL / WARNING / INFO / OK
- 生成可执行的报告,并为每个问题提供建议的修复方案
- 涵盖四个领域: Apple App Store、Google Play、隐私/数据保护(LGPD + GDPR)、安全
执行流程
自动分析(推荐)
# At the root of the React Native/Expo project:
bash /path/to/skill/scripts/scan-project.sh .
# The report will be generated at:
# ./.compliance-report/report_YYYYMMDD_HHMMSS.md
按领域分析(仅需检查某个领域时)
# Expo configuration only
bash scripts/check-expo-config.sh /project/path
# Permissions only
bash scripts/check-permissions.sh /project/path
# iOS Privacy Manifest only
bash scripts/check-privacy-manifest.sh /project/path
# Google Data Safety only
bash scripts/check-data-safety.sh /project/path
# Security only
bash scripts/check-security.sh /project/path
# Dependencies only
bash scripts/check-dependencies.sh /project/path
何时使用各项资源
| 情况 | 资源 |
|---|---|
| 准备提交应用 | scripts/scan-project.sh + 相关检查清单 |
| Apple 拒绝审核 | references/apple-app-store.md + references/common-rejections.md |
| Google Play 拒绝审核 | references/google-play-store.md + references/common-rejections.md |
| 配置 iOS Privacy Manifest | references/react-native-expo.md + scripts/check-privacy-manifest.sh |
| 填写 Google Data Safety | templates/data-safety-form.md + scripts/check-data-safety.sh |
| 填写 Apple Privacy Labels | templates/app-privacy-labels.md |
| 创建隐私政策(LGPD) | templates/privacy-policy-en.md (EN) 或 templates/privacy-policy-pt-br.md (PT-BR) |
| 创建隐私政策(GDPR) | templates/privacy-policy-gdpr-en.md |
| 创建使用条款 | templates/terms-of-use-en.md (EN) 或 templates/terms-of-use-pt-br.md (PT-BR) |
| 验证 LGPD 合规性 | references/lgpd-privacy.md + checklists/privacy-compliance.md |
| 验证 GDPR 合规性 | references/gdpr-privacy.md + checklists/privacy-compliance.md |
| 对比 LGPD 与 GDPR | references/lgpd-vs-gdpr.md |
| 完成 iOS 检查清单 | checklists/pre-submission-ios.md |
| 完成 Android 检查清单 | checklists/pre-submission-android.md |
| 验证数据安全 | checklists/security-checklist.md + scripts/check-security.sh |
结果结构
每次验证都会生成具有以下结构的结果:
{
"id": "EXPO-001",
"severity": "CRITICAL",
"category": "apple",
"title": "Short description of the problem",
"description": "Detailed explanation",
"fix": "How to fix",
"reference": "URL or reference doc",
"file": "relevant file"
}
严重级别
| 级别 | 符号 | 所需操作 |
|---|---|---|
| CRITICAL | 🔴 | 提交前修复——否则会导致审核被拒 |
| WARNING | ⚠️ | 进行检查——可能导致审核被拒或引发后续问题 |
| INFO | ℹ️ | 可考虑处理——属于最佳实践,但并非强制要求 |
| OK | ✅ | 已确认合规 |
验证领域
Apple App Store
- 基本配置: bundle identifier、版本、构建号
- iOS 权限: NS*UsageDescription 字符串
- Privacy Manifest: PrivacyInfo.xcprivacy / expo.ios.privacyManifests
- App Tracking Transparency: 跟踪功能的实现
- 账户删除: 如果支持创建账户,则必须提供
- IAP/订阅: 恢复购买、价格清晰可见
参考:references/apple-app-store.md
Google Play Store
- 基本配置: package name、versionCode
- 目标 API 级别: 2025 年及之后发布的新应用须使用 Android 15(API 35)
- Data Safety 部分: 准备并填写
- Android 权限:
<uses-permission>需说明正当用途 - 内容分级: 已填写问卷
参考:references/google-play-store.md
隐私/数据保护
LGPD(巴西——第 13.709/2018 号法律)
- 隐私政策: 是否提供、是否易于访问、语言(面向巴西用户时使用葡萄牙语)
- 同意: 收集数据前须提供明确的同意机制(第 8 条)
- 数据主体权利: 在 15 天内提供访问和删除服务(第 18 条)
- DPO: 数据保护官——所有控制者均须配备(第 41 条)
- 数据共享: 列出接收数据的第三方
参考:references/lgpd-privacy.md
GDPR(欧盟/欧洲经济区 — Regulation 2016/679)
- 隐私政策: 必须包含第 13/14 条规定的要素,并使用目标成员国的语言
- 同意: 必须出于自愿、具体、可证明且可撤回(第 7 条)
- 数据主体权利: 访问、在 30 天内删除、限制处理、反对(第 15–22 条)
- DPO: 视情况而定——大规模处理、公共机构或特殊类别数据处理时必须指定(第 37 条)
- DPIA: 高风险处理必须进行(第 35 条)
- DPA: 必须与所有处理者签订书面协议(第 28 条)
- 违规通知: 须在 72 小时内通知监管机构(第 33 条)
参考资料:references/gdpr-privacy.md | 双市场:references/lgpd-vs-gdpr.md
数据安全
- 存储: 不得在 AsyncStorage 中存储敏感数据
- 通信: 必须使用 HTTPS,建议进行 SSL pinning
- 密钥: 不得硬编码 API 密钥或提交 .env 文件
- 日志: 不得在 console.log 中记录敏感数据
参考资料:checklists/security-checklist.md
项目配置
此技能会自动检测:
| 指示项 | 项目类型 |
|---|---|
含有 "expo" 键的 app.json | Expo 托管工作流 |
app.json 加上 ios/ 或 android/ 文件夹 | Expo 裸工作流 |
不含 expo 的 package.json 中包含 react-native | 纯 React Native |
解读报告
生成的报告(compliance-report.md)分为以下几部分:
- 执行摘要 — 按严重程度统计数量
- Apple App Store — iOS 专属问题
- Google Play Store — Android 专属问题
- 隐私 / 数据保护 — LGPD(巴西)和/或 GDPR(欧盟/欧洲经济区)
- 安全 — 数据漏洞
- 依赖项 — 第三方软件包中的风险
- 后续步骤 — 建议的处理顺序
修复优先级
1. Fix all 🔴 CRITICAL
2. Review all ⚠️ WARNING (decide if applies to context)
3. Consider ℹ️ INFO for better compliance
4. ✅ OK needs no action
重要限制
- 脚本会分析配置和静态代码,不会测试运行时行为
- 安全验证会识别常见模式,不等同于渗透测试
- LGPD 和 GDPR 分析涵盖技术要求;法律问题需咨询律师
- 商店指南会发生变化——请查看参考文件中的更新日期
- 不能替代提交前对检查清单的人工审核
更新此技能
参考文件的标题中标有更新日期。指南变更时,请更新 references/ 中的文件
以及脚本中的相应检查项。确保 SKILL.md 中的 version 和 updated 保持最新。
其他资源
references/— 各平台的精简指南checklists/— 交互式提交前检查清单templates/— 法律文档模板和表单scripts/— 用于项目分析的 bash 自动化脚本evals/evals.json— 用于验证此技能的测试用例
评论
支持 Markdown