expo-app-store-guideline-check について
React Native と Expo のプロジェクトについて、Apple App Store、Google Play、LGPD、GDPR の要件や一般的なセキュリティ慣行を確認するスキルです。シェルによる静的チェックにガイド、チェックリスト、テンプレートを組み合わせ、修正案付きのレポートを作成します。
主な機能
- 01設定とコードの自動スキャン
- 02重要度別の指摘と修正案
- 03Apple と Google のストア要件確認
- 04LGPD、GDPR、セキュリティのガイド
- 05チェックリストとプライバシー文書テンプレート
活用シーン
- 01ストア申請前のアプリ確認
- 02Apple または Google Play のリジェクト調査
- 03iOS プライバシーマニフェストと 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 に分類します
- 各問題の修正案を含む、実行可能なレポートを生成します
- 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
領域別の分析(1 つの領域のみを確認する場合)
# 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
- 基本設定: バンドル識別子、バージョン、ビルド番号
- iOS の権限: NS*UsageDescription 文字列
- Privacy Manifest: PrivacyInfo.xcprivacy / expo.ios.privacyManifests
- App Tracking Transparency: トラッキングの実装
- アカウント削除: アカウント作成機能がある場合は必須
- IAP/サブスクリプション: 購入の復元、価格の表示
参考資料:references/apple-app-store.md
Google Play Store
- 基本設定: パッケージ名、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(EU/EEA — 規則 2016/679)
- プライバシーポリシー: 第 13 条/第 14 条で定められた必須項目を含め、対象となる加盟国の言語で記載します
- 同意: 自由に与えられ、具体的で、証明可能かつ撤回可能であること(第 7 条)
- データ主体の権利: アクセス、30 日以内の消去、処理の制限、異議申し立て(第 15~22 条)
- DPO: 条件付きで必要です。大規模な処理、公的機関、特別なカテゴリーのデータを扱う場合に必要です(第 37 条)
- DPIA: 高リスクの処理では必須です(第 35 条)
- DPA: すべての処理者との書面による契約が必須です(第 28 条)
- 侵害の通知: 監督機関に 72 時間以内に通知します(第 33 条)
参考資料:references/gdpr-privacy.md | 2 地域対応:references/lgpd-vs-gdpr.md
データセキュリティ
- 保存: AsyncStorage に機密データを保存しないでください
- 通信: HTTPS は必須です。SSL ピンニングを推奨します
- シークレット: API キーをハードコードしたり、.env ファイルをコミットしたりしないでください
- ログ: console.log に機密データを出力しないでください
参考資料:checklists/security-checklist.md
プロジェクト設定
このスキルは次の条件からプロジェクトの種類を自動判定します。
| 判定条件 | プロジェクトの種類 |
|---|---|
"expo" キーを含む app.json | Expo Managed Workflow |
ios/ または android/ フォルダーを含む app.json | Expo Bare Workflow |
expo を含まない react-native を指定した package.json | Pure React Native |
レポートの読み方
生成されるレポート(compliance-report.md)は、次のセクションに分かれています。
- 概要 — 重大度別の件数
- Apple App Store — iOS 固有の問題
- Google Play Store — Android 固有の問題
- プライバシー/データ保護 — LGPD(ブラジル)および/または GDPR(EU/EEA)
- セキュリティ — データの脆弱性
- 依存関係 — サードパーティ製パッケージのリスク
- 次のステップ — 推奨する対応順序
修正の優先順位
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— スキルを検証するためのテストケース