Store readiness
A list of what would stop your submission, what review will ask about, and what you can point at as evidence. It reads your app’s real configuration — which features you placed, in which zones, with which settings — rather than a checklist you fill in yourself.
Open it from your app’s page: Store submission → Readiness.
Three levels
Section titled “Three levels”| Means | Do | |
|---|---|---|
| Block | The submission fails, or the store rejects it | Fix it before submitting |
| Warn | Review will probably ask | Have an answer ready, in the notes |
| Pass | Something you can point at | Nothing. It is evidence, not a chore |
Passes are listed rather than hidden on purpose. “Members can delete their own account” is the exact sentence that answers guideline 5.1.1(v), and it is more useful in front of you when you are writing review notes than tucked away.
The audit runs per store. Some checks apply to the App Store, some to Google Play, and most to both.
What it checks
Section titled “What it checks”The app itself
Section titled “The app itself”| Check | Level | What it means |
|---|---|---|
| The app has no screens | Block | Nothing is placed in any navigation zone, so the app opens to an empty shell |
| A menu drawer cannot be opened | Block | A drawer holds features and nothing opens it, so members cannot reach them either |
The second one is a defect in the app rather than a submission problem. Walking the navigation to write review notes is the only place it becomes visible.
The listing
Section titled “The listing”| Check | Level | What it means |
|---|---|---|
| Required listing fields are empty | Block | The store will not accept a submission without them |
| A field is too long | Block | Over the store’s limit. Nothing else on the page saves until it fits |
| The review notes still have a question in them | Block | The generated notes left [ … ] for you to answer |
| The app name may read as promotional | Warn | A price, a ranking claim, or a word like “free” or “best” |
| No app icon | Block | Neither store accepts a submission without one |
The “still have a question in them” check exists because the notes generator leaves brackets where the app genuinely cannot know the answer — what your shop sells, most often. Submitting one unedited tells review nobody read the notes.
See Preparing your store listing and Notes for App Review.
The reviewer getting in
Section titled “The reviewer getting in”| Check | Level | What it means |
|---|---|---|
| No demo account for the reviewer | Block | Some screens need a sign-in and review has no way in |
| Some screens are restricted by role | Warn | A reviewer without that role sees a restriction message |
If every screen is reachable signed out, this passes and asks for nothing.
What Apple enforces
Section titled “What Apple enforces”| Check | Level | Guideline |
|---|---|---|
| Sign in with Apple is missing | Block | 4.8 — required alongside any other third-party sign-in |
| Members cannot report content | Warn | 1.2 — reporting objectionable content |
| Members cannot block anyone | Warn | 1.2 — blocking an abusive member |
| Published terms and a moderation commitment | Warn | 1.2 — terms, and acting on reports within 24 hours |
| Accounts can be created but not deleted | Block | 5.1.1(v) — in-app deletion |
| Review will ask what you sell | Warn | 3.1.1 — digital content must use in-app purchase |
| The photo prompt explains itself | Pass | 5.1.1 — a reason in the prompt |
| The location prompt explains itself | Pass | 5.1.1 — a reason in the prompt |
What Google Play enforces
Section titled “What Google Play enforces”| Check | Level | What it means |
|---|---|---|
| The build is signed with a debug certificate | Block | Play refuses a debug-signed bundle |
| The app carries user-generated content | Warn | Play’s UGC policy expects reporting, moderation and an honest content rating |
The screenshots
Section titled “The screenshots”| Check | Level | What it means |
|---|---|---|
| Screenshots will use sample data | Warn | The app is not connected to a WordPress site |
| No preview member chosen | Warn | Members-only screens will photograph as empty states |
See Store screenshots.
Some failures are fixed by placing a feature
Section titled “Some failures are fixed by placing a feature”This is the part of the audit worth reading slowly. Several obligations are not settings — no field turns them on. They are satisfied by a screen being in your app, and by nothing else.
| Obligation | Satisfied by | And by nothing else |
|---|---|---|
| Reporting objectionable content | News Feed, Create Social Post, or Photos | BuddyPress Activity has no report action at all |
| Blocking an abusive member | Chat or Chat (Better Messages) | Blocking exists only in messaging |
| Deleting your own account | Settings, with its Delete tab enabled on your site | A link to a web form or an email address is explicitly rejected |
A community app that placed a feed and no chat has user-generated content and no way to block anyone. The fix is a feature, not a form.
The audit also names plugins that would close a gap — Ultimate Member’s AI moderation extension answers the 24-hour question, and its Terms & Conditions extension puts an agreement on your website’s register form, though not yet on the app’s.
The permission prompts, in the words review reads
Section titled “The permission prompts, in the words review reads”These are fixed. You cannot edit them, and they are what appears on the phone.
Photos: “This app needs access to your photos so you can upload a profile picture, add photos to an album, and attach images to what you post.”
Location: “This app uses your location when you choose to add it to your profile, and to show members near you on the map.”
They are only written into the build when a feature that asks for that permission is placed. An app with no photo upload never asks and never declares it.
What the audit cannot tell you
Section titled “What the audit cannot tell you”It reads your app’s configuration and your site’s plugin list. It does not read your content, so it cannot tell you whether your description is accurate, whether your screenshots show the app as it now stands, or whether the product you classified as physical really is.
The digital-goods check is the clearest case: everything it reports rests on your site classifying each product correctly, and the one product overridden by hand is the one that reaches review. See Selling digital products in your app.
The readiness audit, with a blocker, a warning and a pass
record → src/assets/media/store-readiness.mp4
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
| A block you have fixed is still listed | The audit reads saved configuration | Save, then reopen the page |
| “Required listing fields are empty” naming a field you filled in | It was filled in for the other store | Each store has its own listing |
| Nothing on the listing page will save | A value is over the store’s limit | Fix the too-long field first; it blocks the whole form |
| The review notes keep failing the bracket check | The brackets are still around your answer | Remove the brackets as well as the prompt |
| Sign in with Apple is demanded on an Android-only app | The check runs for the App Store listing | Switch to the Google Play tab |
| The debug certificate blocker will not clear | It is unconditional today | Sign the .aab yourself |