Sample audit report.

This is the kind of blocker-first report a founder receives after an AppReady audit.

Executive summary

Do not submit this build yet. The app has four avoidable rejection risks: broken privacy policy URL, no in-app account deletion path, missing restore-purchase path for subscriptions, and no working reviewer demo credentials.

Critical blockers

  1. Privacy Policy URL returns 404.
    Evidence: submitted URL /privacy returned not found. Fix: publish a public privacy policy before submission.
  2. Account creation exists, but no in-app deletion path was found.
    Evidence: Settings screen has Logout only. Fix: add Settings → Account → Delete Account initiation flow.
  3. Subscriptions detected, but restore purchase is not visible.
    Evidence: RevenueCat dependency and premium paywall present. Fix: add Restore Purchases action on paywall/settings.
  4. Reviewer cannot access the app.
    Evidence: no demo credentials provided; login requires email verification. Fix: provide demo credentials or review mode instructions.

High-risk issues

  • Analytics SDK appears installed but is not reflected in declared data collection.
  • Push notifications are requested on first launch before a value moment.
  • Offline state shows an indefinite spinner on the dashboard.
  • No 20-minute real-device stability evidence was provided.

Passed checks

  • Bundle ID and build number appear consistent.
  • App icon asset was provided.
  • Core onboarding screenshots match the current app UI.
  • No obvious staging endpoint was visible in submitted config snippets.

Recommended fix order

  1. Publish privacy policy and support pages.
  2. Add account deletion initiation path in app.
  3. Add restore-purchase action.
  4. Create demo account and reviewer notes.
  5. Update App Privacy labels to include analytics/crash data.
  6. Run real-device TestFlight QA and document evidence.

Reviewer notes draft

Paste/adapt this in App Store Connect:

Demo account: reviewer@example.com / [provided separately]
Testing instructions:
1. Log in with the demo account.
2. Open Settings > Account to test account deletion initiation.
3. Open Settings > Subscription to test Restore Purchases.
4. Premium content is pre-enabled for the demo account.
No external hardware or location is required.

Example Codex fix prompt

“Inspect this Expo React Native app and add an in-app account deletion flow reachable from Settings > Account. The flow should confirm intent, call the backend deletion endpoint, handle success/error states, and document the path for App Review notes.”