Compliance Checklist

App Store & Google Play Compliance Checklist

2025 Master "100% Pass" Checklist

This checklist covers all technical, legal, and asset requirements to avoid rejection.


Phase 1: Technical Requirements (Auto-Reject Prevention)

Android (Google Play) - CRITICAL

RequirementStatusNotes
Target API Level 35 (Android 15)[x]EAS Build with SDK 54 handles this
Signed App Bundle (.aab)[x]eas.json configured for app-bundle
64-bit Support (arm64-v8a)[x]Expo/EAS includes by default
Permissions Audit[x]Blocked READ_SMS, CALL_LOG in app.json

Configured Permissions (app.json):

"permissions": [
  "android.permission.INTERNET",
  "android.permission.VIBRATE",
  "android.permission.CAMERA",
  "android.permission.READ_MEDIA_IMAGES"
],
"blockedPermissions": [
  "android.permission.READ_EXTERNAL_STORAGE",
  "android.permission.WRITE_EXTERNAL_STORAGE",
  "android.permission.READ_SMS",
  "android.permission.CALL_LOG"
]

iOS (App Store) - CRITICAL

RequirementStatusNotes
Privacy Manifest (PrivacyInfo.xcprivacy)[x]Expo SDK 51+ includes automatically
No "Beta/Demo/Test" Labels[x]App name is "Civix - US Citizenship Test"
IPv6 Support[x]Using standard networking (HTTPS)
NSCameraUsageDescription[x]Added for profile photo
NSPhotoLibraryUsageDescription[x]Added for profile photo
ITSAppUsesNonExemptEncryption[x]Set to false (HTTPS only)

Phase 2: Legal & Privacy (Content Rejections)

Privacy Policy

RequirementStatusNotes
Live URL hosted[ ]Need to host at civixapp.com/privacy
Lists data collected[x]docs/PRIVACY-POLICY.md complete
Explains data usage[x]In privacy policy
Third-party disclosure[x]AdMob, RevenueCat disclosed

Account & Data

RequirementStatusNotes
In-App Account DeletionN/ANo account system, data is local
EULA[x]Using Apple's standard EULA
Data Safety Section (Google)[ ]Fill in Play Console
App Content Rating[ ]Complete in both stores

Data Safety Answers (Google Play)

Does your app collect user data? Yes

Data Types Collected:
- Device identifiers: Yes (for ads - free users only)
- App activity: Yes (quiz scores, progress - stored locally)
- App info and performance: Yes (crash logs via Expo)

Data Sharing:
- Shared with advertising partners: Yes (free users - AdMob)
- Shared with analytics providers: No

Data Security:
- Data encrypted in transit: Yes (HTTPS)
- Data can be deleted: Yes (uninstall app or contact support)
- Users can request deletion: Yes

Phase 3: Store Assets

Google Play Assets

AssetSizeStatus
App Icon512 x 512 px (PNG, 32-bit)[x] Resize from 1024x1024
Feature Graphic1024 x 500 px[ ] Create (banner at top)
Phone ScreenshotsMin 2[ ] Create
7" Tablet ScreenshotRequired[ ] Create (scale phone UI)
10" Tablet ScreenshotRequired[ ] Create (scale phone UI)

Apple App Store Assets

AssetSizeStatus
App Icon1024 x 1024 px (no transparency)[x] assets/icon.png
iPhone 6.5" Screenshots1284 x 2778 px[ ] Create
iPhone 5.5" Screenshots1242 x 2208 px[ ] Create
iPad Screenshots (if supporting)12.9" Display[ ] Optional

Phase 4: Reviewer Requirements

App Access

RequirementStatusNotes
Demo AccountN/ANo login required
Permission Explanations[x]Camera: "profile photo", Photos: "profile photo"
Notes for Reviewer[ ]Prepare explanation

Suggested Reviewer Notes

This is a citizenship test study app for people preparing for the US naturalization interview.

TESTING NOTES:
- No login required - app works immediately
- Free tier: 3 quizzes/day, 2 practice sessions/day
- Premium: Unlimited access (use sandbox account to test)

PERMISSIONS USED:
- Camera: Optional, for profile photo personalization in onboarding
- Photos: Optional, for selecting profile photo

SUBSCRIPTION INFO:
- Monthly: $2.99/month
- Annual: $19.99/year
- Lifetime: $39.99 one-time

All in-app purchases use Apple/Google native billing (RevenueCat SDK).

Phase 5: Google Play 20 Testers Rule

Applies if: Personal Google Play Console account created after Nov 2023

StepStatusNotes
Create Closed Testing Track[ ]Required before production
Recruit 20 Testers[ ]Need 20 distinct email addresses
14-Day Testing Period[ ]Testers must have app for 14 days
Apply for Production[ ]After 14 days complete

Civix-Specific Compliance

Legal Documents

  • Privacy Policy created (docs/PRIVACY-POLICY.md)
  • Terms of Service created (docs/TERMS-OF-SERVICE.md)
  • USCIS Disclaimer in app ("not affiliated with USCIS")
  • Subscription terms under pricing ("Cancel anytime")
  • Host Privacy Policy at URL
  • Host Terms of Service at URL

In-App Purchases (Apple STRICT)

  • All purchases through StoreKit/Play Billing (RevenueCat)
  • No external payment links
  • No "buy on website" messaging
  • Restore Purchases button visible
  • Clear pricing display
  • Subscription terms visible before purchase

Paywall Requirements

  • USCIS disclaimer visible
  • "Cancel anytime" text
  • "Prices may vary by region" text
  • Restore Purchases button
  • Terms & Privacy links in settings
  • Paywall works without crashing if IAP unavailable

App Content

  • No real political figures (except Founders)
  • No foreign flags
  • No bold claims ("100% pass rate")
  • Neutral patriotic imagery
  • Educational content disclaimer

Onboarding

  • Splash screen works
  • Smooth animations
  • No forced signup
  • Free quiz works instantly
  • Optional photo personalization
  • Optional name personalization

App Store Connect Questionnaire Answers

Export Compliance

Does your app use encryption? Yes
Is it exempt? Yes (standard HTTPS/TLS only)

Content Rights

Does your app contain third-party content? No
(USCIS questions are public domain)

Advertising Identifier (IDFA)

Does this app use IDFA? No
(We use AdMob but without IDFA tracking)

Age Rating

Violence: None
Sexual Content: None
Profanity: None
Drugs/Alcohol: None
Gambling: None
Horror: None
Medical: None

Result: 4+ (Everyone)

App Privacy (Data Collection)

Data Linked to User:

  • None

Data Not Linked to User:

  • Usage Data (app analytics - local only)
  • Diagnostics (crash reports via Expo)

Data Used for Tracking:

  • None

App Store Description

App Name

Civix - US Citizenship Test

Subtitle (30 chars)

Pass Your Naturalization Exam

Keywords (100 chars)

citizenship,naturalization,uscis,civics,test,exam,us,citizen,immigration,study,practice,quiz,prep

Short Description (Google Play - 80 chars)

Study for your US citizenship test with official USCIS civics questions!

Full Description

Prepare for the U.S. Citizenship Test with Civix!

Master all 100 official USCIS civics questions and pass your naturalization interview with confidence.

STUDY SMARTER
- All 100 official civics questions
- Practice mode with instant feedback
- Quiz mode to test your knowledge
- Track your progress over time

FEATURES
- Works offline - study anywhere
- Multiple language support
- Beautiful, easy-to-use interface
- Progress tracking and statistics
- Earn achievements as you learn

PREMIUM FEATURES
- Unlimited quiz attempts
- Ad-free experience
- Access to all languages
- Priority support

DESIGNED FOR SUCCESS
Our proven study method helps thousands of people prepare for the citizenship test. Practice at your own pace and track your improvement.

DISCLAIMER
Civix is an independent educational app. It is not affiliated with, endorsed by, or sponsored by USCIS or any government agency. Content is based on publicly available USCIS study materials.

Start your citizenship journey today!

What's New (Version Notes)

Version 2.0.0
- Beautiful new onboarding experience
- Profile photo personalization
- New premium subscription options
- Improved quiz experience
- Enhanced progress tracking
- Multi-language support
- Bug fixes and performance improvements

Final Submission Checklist

Build & Test

  • Run npx expo-doctor - fix all errors
  • Build production: eas build --platform all --profile production
  • Test on physical iOS device
  • Test on physical Android device
  • Verify all IAP products work in sandbox
  • Verify Restore Purchases works
  • Test offline functionality

Store Preparation

  • Upload screenshots (all required sizes)
  • Create feature graphic (Android)
  • Fill all metadata fields
  • Add Privacy Policy URL
  • Add Support URL
  • Add Terms of Service URL

Questionnaires

  • Complete App Privacy (Apple)
  • Complete Data Safety (Google)
  • Complete Export Compliance (Apple)
  • Complete Age Rating (both)
  • Complete Content Rating (Google)

Final Review

  • Review app name - no "Beta" or "Test"
  • Review all screenshots
  • Review description for guideline compliance
  • Submit and wait

Common Rejection Reasons & Solutions

RejectionSolution
Guideline 2.1 - CrashesTest on physical device, all edge cases
Guideline 3.1.1 - IAPUse only Apple/Google billing
Guideline 4.2 - Minimum FunctionalityFree tier has real value
Guideline 5.1.1 - PrivacyInclude privacy policy, proper permissions
Guideline 5.2.1 - LegalAdd disclaimers, no government affiliation claims
Missing Privacy ManifestExpo SDK 51+ includes automatically
Target API too lowEAS Build handles API 35 automatically

URLs Needed Before Submission

Create these pages:

  1. Privacy Policy: https://civixapp.com/privacy
  2. Terms of Service: https://civixapp.com/terms
  3. Support Page: https://civixapp.com/support

Hosting Options (Free):

  • GitHub Pages
  • Notion (public pages)
  • Carrd.co
  • Your own website