- The full audit: code, archive, privacy and reviewer path
- Lifetime updates, including new major versions
- Works in all 11 supported agents, on 3 machines
Your last App Store rejection.
PreflightKit gives the coding agent you already use a real App Review audit. It checks your code and the archive you’re about to upload, then hands back a ranked fix list.
curl -fsSL https://preflightkit.dev/install | sh 2 · Run in your agent/preflightkit:audit
- Your code never touches our servers
- Pay once, lifetime updates
Works in Claude Code, Cursor, Codex and 8 more agents. See all
MyApp · Release · Xcode 26.1 4m 12s /preflightkit:audit
- BLOCKER NSCameraUsageDescription missing
Info.plist:42 · guideline 5.1.1 - BLOCKER Account deletion path not reachable in-app
guideline 5.1.1(v) - WARNING Review notes omit the demo account
App Store Connect metadata - MANUAL Restore purchases on a clean device
needs an owner - PASS Privacy manifest matches linked SDKs
MyApp.xcarchive
Auditing Release archive 2 blockers · 3 warnings · 6 manual · 41 passed
Want me to fix the 2 blockers? y
Your agent says it looks fine. App Review disagrees.
Ask a coding agent to check your app for App Store problems and it reads your source. App Review reads something else.
What your agent reads
- Your Swift source
- Your project settings
- The Info.plist in your repo
What App Review reads
- The signed Release archive you upload
- The privacy manifest of every SDK you link
- Your store listing and review notes
- Your app, on a fresh account and a clean device
So it comes back like this, a day or more after you submit:
-
Rejected
Guideline 5.1.1Privacy: Data Collection and Storage
The purpose string for camera access doesn’t explain how the app uses it.
-
Rejected
ITMS-91053Missing API declaration
The app calls an API that requires a reason, and its privacy manifest doesn’t give one.
-
Rejected
Guideline 5.1.1(v)Account deletion
The app lets people create an account but gives them no way to delete it in the app.
The fix takes minutes. Finding out takes a round trip to App Review, and the next review can find something the first one didn’t.
1.9M+ App Store submissions rejected by Apple in 2024 Apple Newsroom
PreflightKit makes your agent read what App Review reads.
It’s a skill for the coding agent you already use. Run it before you submit: it audits your project and the archive you’re about to upload, then your agent fixes what it finds.
- 01
Install
One command adds PreflightKit to the agents on your machine.
- 02
Run
A local scanner reads your code and the Release archive, and your agent works through the review checklist.
/preflightkit:audit - 03
Fix
You get a ranked fix list. Every finding names its file, line or guideline, so your agent fixes the real thing.
Every finding is ranked by what it does to your release:
- BLOCKER Stops the release. Fix it before you submit.
- WARNING Draws a question from review. Fix it or record why.
- MANUAL Needs your eyes — with the exact check to run.
- PASS Proven with a command or an artifact.
A few of the things it catches, and where App Review finds them:
In your code
- Camera, location, or contacts used with no purpose string
ITMS-90683 - Google or Facebook login with no Sign in with Apple
4.8 - UIWebView still referenced anywhere
ITMS-90809 - Background modes declared that nothing uses
2.5.4
In the archive you upload
- get-task-allow left in a distribution build
Signing - Local StoreKit test config bundled in the app
2.1 - Simulator slices in the release executable
Upload - App Store icon with an alpha channel
ITMS-90717
In your privacy declarations
- Required-reason API used with no manifest entry
ITMS-91053 - Apple-listed SDK shipped without its own manifest
ITMS-91061 - Tracking switched on with no tracking domains
5.1.2 - No export-compliance answer, so every upload stalls
Export
In what the reviewer sees
- Accounts created in-app with no in-app deletion
5.1.1(v) - In-app purchases with no restore path
3.1.1 - localhost, example.com, or TODO left in release paths
2.1 - Review notes with no demo account
2.1
-
A scanner, not a checklist
It opens the archive and reads what’s in it: entitlements, embedded frameworks, privacy manifests, encryption answers. Your agent gets evidence instead of having to remember rules.
-
Every finding shows its source
A file and line, a path inside the archive, or a guideline number, so you can check its work in seconds.
-
Nothing passes without proof
A check passes only when a command or an artifact proves it. What a build can’t prove becomes a manual check, with the steps to run.
Tested on 10 apps it had never seen.
We took 10 real App Store apps, found what App Review would flag in each, and asked the same coding agent to audit every one, with and without PreflightKit.
How often the audit caught every problem
A bar is the share of audits that flagged everything wrong with the app. At 100%, nothing went to review unflagged. Below that, some audits would have.
What that costs. A problem the audit misses is something App Review can stop your build for, and a round trip through review takes a day or two. A PreflightKit audit takes about 1.4 minutes and costs about a cent in model usage.
-
0 of 18
audits let a problem through
Alone: 7 and 5 of 18. Each one is a likely extra review round trip.
-
$0.013
to run an audit
1.4 min median · GPT-6.1 Sol alone: $0.19
-
0
false blockers
Alone: up to 4, each one a fix nobody needed.