mcpField
E
expo-app-store-guideline-check

expo-app-store-guideline-check

github.com/nandofalcao测试与质量1256 次安装30 周前更新
代码仓库

关于 expo-app-store-guideline-check

用于检查 React Native 和 Expo 项目是否符合 Apple App Store、Google Play、LGPD、GDPR 及常见安全规范的 Skill。它结合 Shell 静态检查、指南、清单和模板生成报告,并提供修复建议。

主要功能

  1. 01自动扫描项目配置与代码
  2. 02按严重程度分类并提供修复建议
  3. 03检查 Apple 和 Google 商店要求
  4. 04提供 LGPD、GDPR 与安全指南
  5. 05附带清单和隐私文档模板

适用场景

  1. 01应用提交商店前进行检查
  2. 02调查 Apple 或 Google Play 的拒审原因
  3. 03检查 iOS 隐私清单和 Android 数据安全
  4. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
CLAUDE.md
README.md
checklists/
privacy-compliance.md
pre-submission-ios.md
security-checklist.md
pre-submission-android.md
evals/
evals.json
references/
apple-app-store.md
common-rejections.md
lgpd-privacy.md
react-native-expo.md
google-play-store.md
lgpd-vs-gdpr.md
gdpr-privacy.md
scripts/
check-data-safety.sh
check-dependencies.sh
check-permissions.sh
check-privacy-manifest.sh
generate-report.sh
scan-project.sh
check-expo-config.sh
check-security.sh
templates/
app-privacy-labels.md
privacy-policy-en.md
privacy-policy-pt-br.md
terms-of-use-en.md
data-safety-form.md
privacy-policy-gdpr-en.md
terms-of-use-pt-br.md

详细介绍

Expo App Store 指南检查

用于验证 React Native/Expo 应用是否符合 Apple App Store、Google Play Store、LGPD、GDPR 以及隐私与安全最佳实践指南的技能。


此技能的功能

  1. 通过 bash 脚本自动分析项目
  2. 将问题分类为: CRITICAL / WARNING / INFO / OK
  3. 生成可执行的报告,并为每个问题提供建议的修复方案
  4. 涵盖四个领域: 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 Manifestreferences/react-native-expo.md + scripts/check-privacy-manifest.sh
填写 Google Data Safetytemplates/data-safety-form.md + scripts/check-data-safety.sh
填写 Apple Privacy Labelstemplates/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 与 GDPRreferences/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.jsonExpo 托管工作流
app.json 加上 ios/ 或 android/ 文件夹Expo 裸工作流
不含 expo 的 package.json 中包含 react-native纯 React Native

解读报告

生成的报告(compliance-report.md)分为以下几部分:

  1. 执行摘要 — 按严重程度统计数量
  2. Apple App Store — iOS 专属问题
  3. Google Play Store — Android 专属问题
  4. 隐私 / 数据保护 — LGPD(巴西)和/或 GDPR(欧盟/欧洲经济区)
  5. 安全 — 数据漏洞
  6. 依赖项 — 第三方软件包中的风险
  7. 后续步骤 — 建议的处理顺序
修复优先级
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