App Store Compliance Playbook

Run this before any upload to App Store Connect or the Play Console. Each item is phrased as a verifiable check. Every box ends in one of two states, checked or marked not applicable. An empty box is a release blocker.

Not applicable is allowed one item at a time, and only with a one-line reason written next to the box, for example “N/A. no login, so no demo account” or “N/A. no in app purchases”. An item with no reason counts as unchecked. Two items can never be marked not applicable, because every app has them:

Start here. Two checks, about five minutes

These two stop most rejections on both stores. Do them before anything else.

Then work down the page. Do Shared first, then the store you ship to. Skip any section whose heading says “if” and does not match your app. The full list is about 100 boxes, so plan an hour for a first pass.

Shared (both stores)

Stability and completeness

Privacy and data

Mobile Security and Best Practices

For a deep-dive reference across platform best practices, see the mobile security guide.

Metadata and listing

Monetization

Apple specific

Google Play specific

Passing App Review does not make an app EU-legal. The full hard rules and sources are in the EU regulatory guide.

Global specific (USA and other markets, if the app reaches those users)

The full hard rules and sources are in the global regulatory guide. This is legal, on top of App Review. Several dates are under active litigation, so re-verify each against the cited source.

Platform mechanics gate (both stores, if the item applies)

The full detail with dated sources is in the platform mechanics guide. These are current, common, blocking causes the base maps did not carry.

Apple.

Android.

Cross-cutting.

The two checks that prevent the most rejections

Two checks stop the majority of rejections across both stores. A working demo account with a live backend, and a privacy declaration that matches actual runtime behavior including SDKs. If you verify nothing else, verify these two.

Account and program readiness (added September 2026)

The checks above assume the developer account can submit. In 2026 that assumption fails often enough to plan for.