Rejection help
Paste Apple's message. Get the likely cause, the fix, and a calm draft reply to App Review.
Likely cause: the demo account asks for an email code.
Fix: skip the code for the review account. Draft reply ready to copy.
Get the nod from App Review.
Nod installs your build in a simulator and uses it the way a reviewer would, with your listing and your code open next to it. You get the full replay, what would get the build sent back, and how to fix it.
Apple always makes the final call. We help you walk into review prepared.
Found so far · 0
Pick what you like, we'll handle the shopping list.
Skip
Run log · simulator
0:04Read the first onboarding screen
Copy is final and readable at the default text size. No placeholder text.
Why now
How it works
1Connect
Add an App Store Connect API key and your GitHub repository. Read-only, about two minutes.
2Audit
Nod checks your listing and code, then an agent installs your build and taps through it like a reviewer.
3Fix and submit
Get a clear verdict, a fix for every finding, and a reviewer package to paste into your submission.
Three layers
Most rejections are about what happens when someone actually uses your app. So Nod checks three layers, and the third one is a real run.
Store listing via App Store Connect
Texts, screenshots and age rating · Privacy details · Subscription setup · Review notes and demo account
Code via GitHub
Permission strings · Privacy manifest · Account deletion and sign-in options · Paywall terms
Live run in an iOS simulator
Onboarding and sign-in with your demo account · Paywall and restore purchases · Account deletion · Crashes, placeholder text, dead links
Studio plan: the same run on a real iPhone, with the exact build you submit.
The replay
Every audit comes with a step-by-step replay of what the agent did and what it noticed. Each finding links to the exact moment it happened, so you can see the problem for yourself. Try it: this is a real-looking sample audit.
Pantry Pal 2.4.0 · simulator audit
Sample app · iPhone 17 simulator · 20 steps
Pantry Pal terminated
EXC_BAD_ACCESS (SIGSEGV)
RestoreManager.swift:88
App terminates
Crash: EXC_BAD_ACCESS in RestoreManager.swift:88 when there is nothing to restore. Reproduced 3 of 3 times.
App crashes when tapping “Restore purchases”
Fix it
Findings are graded Blocker, Risk or Note, cite the guideline, and explain what we saw in plain language. Then there's a concrete fix and a prompt you can paste straight into Claude Code or any other coding agent.
Shape and colour both carry meaning, so severity reads at a glance without shouting.
On the paywall, tapping “Restore purchases” with an account that has never bought anything terminates the app (EXC_BAD_ACCESS, RestoreManager.swift:88). Reproduced 3 of 3 times.
How to fix
In PantryPal/Purchases/RestoreManager.swift, restore() force-unwraps `latestTransaction` on line 88, which crashes when the user has no purchase history. Refactor restore() to: 1) call `try await AppStore.sync()`, 2) iterate `Transaction.currentEntitlements` and collect verified transactions, 3) if none are found, return `.nothingToRestore` instead of throwing. In PaywallView, show an alert “No previous purchases found” for that case. Keep the existing public API. Add a unit test for the empty-history path using StoreKitTest.
Reviewer package
Many delays come from a reviewer who can't find a feature or can't sign in. Every audit prepares a package you paste into your submission.
After you submit
Paste Apple's message. Get the likely cause, the fix, and a calm draft reply to App Review.
Likely cause: the demo account asks for an email code.
Fix: skip the code for the review account. Draft reply ready to copy.
We watch your published apps against App Review guideline changes and tell you which ones are affected, calmly.
Example feed with sample apps.
Pricing
Monthly plans in euro. Unlimited quick checks on every plan.
For a solo developer with a couple of apps in flight.
39 € / month
For developers who ship often and want company through review.
129 € / month
For studios shipping apps for themselves and for clients.
399 € / month
No plan can guarantee approval: Apple makes the final decision on every submission. What Nod gives you is a clear view of the likely problems, before a reviewer finds them.
FAQ
No one can promise that, and we won't. Apple makes the final decision on every submission. Nod shows you what a reviewer is likely to flag, based on the current App Review Guidelines and on what it sees when it runs your app, so you can fix those things before you submit.
An App Store Connect API key, which we use only to read your listing, never to change it, and read access to the GitHub repository with your Xcode project. You can disconnect either at any time.
We build your app for the iOS simulator and install it. An AI agent then taps through it like a reviewer: onboarding, sign-in with your demo account, the paywall, restore purchases, account deletion. It looks for crashes, placeholder text and dead links. Everything is recorded as a replay. On Studio, the same run can happen on a real iPhone with the build you submit.
A quick check covers the store listing and the code. It takes about a minute and is unlimited on every plan. An audit adds the live run, which is where crashes, broken sign-in and incomplete flows show up. Audits are part of the Pro and Studio plans.
Not at all; many of the people we're building this for do. Every finding comes with a prompt you can paste into Claude Code or another coding agent working in your repository.
The checkout is used for the audit and deleted afterwards. We keep the findings and the replay so you can come back to them.
No. Nod is an independent tool. It isn't affiliated with or endorsed by Apple.
Connect an app, run an audit, and see what a reviewer would see, before they do.