App Launch Runbook
The fastest realistic path to the Apple App Store and Google Play. Work top to bottom and tick items off - your progress saves automatically in this browser.
The single biggest time sink is Google Play's 14-day closed test (personal accounts only). It cannot be sped up, but it runs in the background while you do everything else.
.aab, push it to a closed track, and recruit 12 testers right away. The clock starts now.Net effect: those 14 days cost almost no extra calendar time.
PrivacyInfo.xcprivacy with required-reason API declarations, or the upload is auto-rejected. See C4.google-services.json - the release build fails until you drop in a real one from Firebase.production profile still ships a pk_test_ Clerk key (must become pk_live_), and Android's release build still signs with the debug key. Both block a real submission - see the Guide on A1 (Clerk) and B2 (signing). expo prebuild keeps app.json buildNumber and native CFBundleVersion in sync (both 4 now).Code + content changes, not store-console steps. These alter the binary and the answers you give on the listing / privacy forms, so finish them before the iOS archive (A3) and the Android bundle (B3). They block both stores - that is why this comes first.
Re-assessed: NOT APPLICABLE - the shipped app has no reachable user-to-user content (trip collaboration + group chat exist as code but are not navigable; imported reels stay private to the saver). Guideline 1.2 report / block / EULA / contact precautions do not apply. Deferred until collaboration ships.
Unify to Compass IDs + local build. Because the iOS bundle ID changes from app.drift.mobile to app.heycompass.mobile, you create a brand-new App Store Connect app record (Apple does not allow changing a published app's bundle ID). Your old Drift TestFlight app is not reused.
app.json now carries the permanent Compass identity - the old Drift-for-local-testing revert is retired. These edits are committable normally; nothing to revert after building.
Applied 2026-06-09: app.json is Compass + version 1.0.0 / build 1; native Sign in with Apple was added (expo-apple-authentication + a shared useAppleAuth hook, iOS-only). expo prebuild -p ios --clean + pod-install ran and the dev team was re-applied to all targets. The native project is build-ready (bundle ID, app group, team x4, CFBundleVersion 1, Apple-sign-in entitlement, Apple pod all verified). Remaining before archive: the Clerk production cutover (callout below).
Everything currently uses pk_test_ - the Clerk development instance. App Store builds must use a Clerk production instance (pk_live_). Set it up, then tick the Clerk step in A1.
clerk.heycompass.app and friends).pk_live_).apps/mobile/.env.production as EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY (local xcodebuild reads this) and in the eas.json production profile.From scratch + local build. Android already uses app.heycompass.mobile, so no ID change.
Google requires 12 testers opted in for 14 continuous days on a closed track before production access - but only for personal accounts created after 2023-11-13.