Audit
Start with what the agent can read.
Inspect the Xcode project, settings and related code. Keep missing facts Unknown, then ask only questions that could change the findings.
Catch iOS review risks before App Store submission.
Give your coding agent a pre-submission review workflow. Turn code and settings into evidence, fix plans and clear next checks.
For Claude Code / Codex / Cursor
Audit first. Keep the unknowns visible.
Interactive illustrative example. Run a real audit in your coding agent.
NSPrivacyTracking is a string. The declaration requires a Boolean.
"NSPrivacyTracking": "false"
Evidence: the declaration in PrivacyInfo.xcprivacy.
Confirm whether the app tracks, then use the appropriate Boolean. This example declares no tracking.
"NSPrivacyTracking": false
Changes need an explicit request. A normal audit does not edit code or settings.
The declaration type violation is resolved. Storefronts and reviewer login details still need confirmation.
FAIL → PASS · static check
A setting fix and runtime verification are separate. This does not guarantee approval.
For Claude Code / Codex / Cursor
Move beyond a checklist: connect the evidence to a fix plan, then check the result.
Inspect the Xcode project, settings and related code. Keep missing facts Unknown, then ask only questions that could change the findings.
Get evidence, Apple references and a focused fix prompt for your coding agent. Actual changes happen after you explicitly ask.
Compare a fresh audit with the baseline. A vanished finding is not automatically resolved; missing evidence stays on the recheck list.
19 rule families separate supported static checks from conditions that need agent judgment or developer verification.
Privacy Manifest, Required Reason APIs, permission purpose strings, SDK declarations and verification gaps.
Account deletion, login alternatives, purchase restoration, subscription display and external payment context.
Reviewer access, privacy policy, metadata, minimum OS, submitted toolchain and agreement preparation.
We tested pinned public iOS source snapshots, injecting defects into temporary copies to check detection, fix prompts and verification after repair.
| Public project source | Injected defects | Detection → recheck after repair |
|---|---|---|
| IceCubes | 3 | 3 / 3 detected and resolved |
| KeePassium | 3 | 3 / 3 detected and resolved |
| NetNewsWire | 3 | 3 / 3 detected and resolved |
Minimum OS setting / Privacy Manifest type / Required Reason API reason code
All 9 deliberately injected setting defects were detected. 57 automated tests also passed. These apps were not built, device-tested or submitted. Rejection-rate improvements and time savings have not been measured.
A Skill adds SmoothSubmit’s audit workflow to your coding agent. No CLI or new API key required. Choose your tool, then follow these steps.
Extract the downloaded archive. Copy the entire smoothsubmit folder into this location inside your iOS project, including references and assets.
.agents/skills/smoothsubmit/
If a Skill already exists there, review the differences before updating it.
Open the coding session for the iOS project where you placed the files, then send this prompt.
Invoke $smoothsubmit in Codex.
$smoothsubmit
Audit this project with SmoothSubmit
Skill discovery depends on the host version. Live automatic discovery across all three tools is not yet verified. Read the installation guide
A normal audit does not edit code or app settings, write to App Store Connect or submit your app. Review the proposed fixes, then explicitly request the changes you want.
The CLI processes your source locally and does not send it. The Skill uses your coding tool’s model and file access, so that tool’s data settings apply.
The bundled official sources were checked on 2026-10-07. Findings include references and their knowledge date. Requirements depend on regions, OS and product types; consult the source register before relying on an older release.
No guarantee. SmoothSubmit helps surface configuration gaps and implementation questions before submission. Device, backend and submission-information checks are still needed.