Know before you submit.
Preflight reads your Xcode project and finds what App Review will flag, with the exact file, the evidence, and the fix.
Never built. Never executed. Deleted when the scan finishes.
Not ready to submit
One blocker will cause rejection. Fix it before you upload the build.
- 1 blocker
- 2 risks
- 1 needs input
- 3 improvements
- 22 passed
- Camera use without a purpose string
Info.plist:42 · permissions.camera-purpose-stringBlocker - Privacy manifest missing a declared reason
PrivacyInfo.xcprivacy · privacy.required-reason-apiRisk - Restore purchases is never called
Store/Paywall.swift:96 · storekit.restore-purchasesRisk - Encryption declaration present
Info.plist:18 · asc.export-compliancePassed
- 38 rulesacross nine categories
- ~25supload to full report
- 0 linesof your code executed
- 3 findingsfree on every scan
Reads Xcode projects, the folder from Finder, or a .zip. Nothing is built, nothing is run.
How Preflight works
Drop a project, watch eleven real steps run against it, then fix what matters and run it again.
See Preflight at work
Real rejection reasons, caught in the project you already have, not a checklist you work through yourself.
Permissions
Purpose strings matched against the frameworks you actually link (so a missing one is found before the reviewer’s first tap.
1 blocker foundGuideline 5.1.1 · rejects on submission<key>NSPhotoLibraryUsageDescription</key> <string>Pick a receipt photo</string> <key>NSCameraUsageDescription</key> // not present) AVCaptureDevice // used in CameraView.swift:18
Privacy manifest
Required-reason APIs, tracking domains and collected data types, checked against what your code and your SDKs actually do.
2 reasons undeclaredUserDefaults · file timestampPrivacyInfo.xcprivacy NSPrivacyAccessedAPICategory ✓ DiskSpace CA92.1 ✗ UserDefaults none ✗ FileTimestamp none
Accounts & sign-in
Third-party login in your dependency graph brings obligations with it. Preflight works out which ones apply to you.
Sign in with Apple requiredGuideline 4.8 · GoogleSignIn detectedPodfile.lock GoogleSignIn 7.1.0 FBSDKLoginKit 17.0.2 AuthenticationServices not linked // account deletion path: none found
App Store Connect
Eight things no scanner can read. Link your app and Preflight answers them from your real listing instead of asking you.
8 questions answeredfrom your listing, not a form✓ Age rating 4+ ✓ Export compliance exempt ✓ Screenshots 6.9" 6.5" ✗ Release notes empty
One score. Five areas.
Grouped the way App Store Connect groups its own navigation, so every finding points at the screen you fix it on.
- GeneralApp Information & ReviewIdentity, versioning, reviewer access1 of 7 rules across 2 report sections
- Trust & SafetyPrivacy, Age Rating, AccountsWhat Apple asks, and what your build declares3 of 14 rules across 4 report sections
- MonetizationIn-App PurchasesStoreKit in the build, purchase records beside it1 of 6 rules across 1 report section
- DistributionScreenshots & Export ComplianceSizes required, encryption declared1 of 4 rules across 2 report sections
- BuildCapabilities, Dependencies, SourceEntitlements, third-party SDKs, what should not ship1 of 7 rules across 3 report sections
Bars show finding counts by severity. Preflight scores the build as a whole: there are no per-area grades.
Fix it. Run it again.
Findings are matched by rule, target and evidence key, so a fix counts even when the file moved.
- Camera use without a purpose stringwas blocker
- Privacy manifest missing a declared reasonwas risk
- Restore purchases is never calledwas risk
- Age rating questionnaire not confirmedwas needs input
- Launch screen storyboard is not referencednew · improvement
Example rescan. A finding is only marked fixed when the rule stops firing against your new build.
Your code never runs.
A scan should never become a leak. Preflight treats your project as something to read, never to execute.
Never built, never run
No compiler, no simulator, no scripts. Preflight parses text files and reads a dependency graph. That is the whole mechanism.
Deleted when it finishes
Extraction happens in an isolated directory that is removed as the last pipeline step, one you watch complete on screen.
Credentials masked
Anything credential-shaped is redacted in the evidence before it reaches the report, the PDF, or your screen.
Start free. Pay when it earns it.
Every scan gives you the score and your three most severe findings in full, before you decide anything.
Free scan
$0- Readiness score and verdict
- Your three most severe findings, in full
- Count of findings at every severity
Full report
€4.99 one time- Every finding, with file, evidence and fix
- PDF export for your team or client
- Locked findings never leave the server until paid
Unlimited
€9.99 per month- Unlimited scans and full reports, no paywalls
- PDF export on every report
- Cancel any time, access runs to the end of the month
Don’t submit the build Preflight would fail.
A rejection costs you a review cycle. A scan costs twenty-five seconds.