{"slug":"store-readiness","title":"Store readiness checklist","summary":"Readiness lists every Apple and Google step between you and a release, who owns it, and whether it is done. Some steps FluxNative can fix; the rest link straight to the right console page.","body":"Open **Publish**, **Readiness**, and pick **Android** or **iOS**. The checklist refreshes from the connected store accounts, so steps turn **ready** as you finish them.\n\n## Step states\n\n| State | Meaning | Your action |\n| --- | --- | --- |\n| **Ready** | Done, or detected as done | None |\n| **Can fix** | FluxNative can do it | **Fix automatically** |\n| **Needs you** | Only a person can do it in the store console | Do it, then **Mark done** |\n| **Blocked** | Waiting on another step, usually a store account | Finish the earlier step |\n\nEach step shows the role that must do it, an **Open** link to the exact console page, and a copyable value where one helps, such as the bundle ID or package name.\n\n## iOS steps\n\n| Step | Who | What to do |\n| --- | --- | --- |\n| Apple Developer enrollment | Account Holder | Enroll and complete identity verification. |\n| App Store Connect API access | Account Holder | Users and Access, Integrations, App Store Connect API. Request access if offered. |\n| Team key | Account Holder | Create a team key, download the `.p8`, and connect the account in FluxNative. |\n| Agreements | Account Holder | Business, Agreements: sign every pending agreement. Paid apps also need the Paid Apps Agreement, tax, and banking. |\n| App Privacy | Account Holder | Complete the App Privacy data declaration for the app. |\n| Bundle ID | Admin | **Fix automatically** registers it. |\n| Distribution certificate | Account Holder | Upload the `.p12` in Publish and the profile in Build. Warns 30 days before expiry. |\n\n## Android steps\n\n| Step | Who | What to do |\n| --- | --- | --- |\n| Play Console account | Account owner | Create and verify the developer account: legal name, D-U-N-S for organizations, phone, email, payments profile. |\n| Create the Play app | Account owner | **Create app** with the name, language, app or game, free or paid, and support email. Accept Play App Signing. Use the package name shown. |\n| First upload | Account owner | Send the AAB to internal testing from Build. If Google asks for a first bundle by hand, upload the downloaded AAB once. |\n| App content | Account owner | Policy and programs: privacy policy, ads, app access, target audience, content rating, data safety, permissions, and category declarations. |\n| Closed testing | Account owner | New personal accounts may need 12 testers opted in for 14 days before requesting production access. |\n\n## Compliance proposal\n\n**Draft proposal** reads the project and proposes answers for privacy and compliance questions. Each claim comes with the evidence it found, a confidence level, and a question for you to confirm. Use it as a starting point for App Privacy and Data safety. It only proposes; you decide what to declare.\n\n> [!TIP]\n> Mark a step done only after it is really finished in the console. The checklist is how your team knows what is left.","sectionSlug":"publish","sectionTitle":"Publish to stores","updatedAt":"2026-09-23T22:51:25.250Z","previous":{"slug":"connect-store-accounts","title":"Connect store accounts"},"next":{"slug":"testflight","title":"Release to TestFlight"}}