Skip to content
Agentmart
Submit a tool

ios-app-store-readiness

App Store submission readiness checklist covering privacy manifests, export compliance, permission usage descriptions, App Tracking Transparency, Sign in with…

Skill by apexbymanish

IndexedMIT
Write a review

Chalk Labs

Need help deploying ios-app-store-readiness?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/apexbymanish-ios-app-store-readiness

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

App Store submission readiness checklist covering privacy manifests, export compliance, permission usage descriptions, App Tracking Transparency, Sign in with Apple parity, and common rejection triggers. Use when asked "is this ready to submit", "will this get rejected", or to check App Store compliance before release.

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/ios-app-store-readiness

What's inside

Skill name
ios-app-store-readiness
Description
App Store submission readiness checklist covering privacy manifests, export compliance, permission usage descriptions, App Tracking Transparency, Sign in with Apple parity, and common rejection triggers. Use when asked "is this ready to submit", "will this get rejected", or to check App Store compliance before release.
License
MIT
Instructions
116 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# iOS App Store Readiness

A pre-submission audit, not a guarantee — Apple's actual review process
has human judgment calls this can't predict. This procedure catches the
mechanical, code-visible reasons apps get rejected or delayed.

## 1. Privacy manifest

```bash
find . -name "PrivacyInfo.xcprivacy"
```

If present, check it against actual code:
- **Required-reason API usage** — APIs Apple requires a declared reason
  for (e.g. `UserDefaults`, file timestamp APIs, disk-space APIs,
  system-boot-time APIs) are declared in the manifest if the code
  actually calls them.
- **Collected data types** — types declared match what the code and its
  dependencies actually collect, and whether each is linked to the
  user's identity or used for tracking.
- **Third-party SDK manifests** — SDKs that ship their own privacy
  manifest are current; SDKs that collect data but ship none are a gap
  to flag.

If no `PrivacyInfo.xcprivacy` exists and the app uses any required-reason
API or third-party SDKs that collect data, flag this as a submission
blocker, not a nice-to-have.

## 2. Export compliance

```bash
grep -rn "ITSAppUsesNonExemptEncryption" **/*.plist 2>/dev/null
grep -rln "CommonCrypto\|CryptoKit\|SecKey" --include="*.swift" .
```

- Standard HTTPS/TLS usage is export-exempt; check whether the app also
  implements custom cryptography (`CommonCrypto`, `CryptoKit` beyond
  standard TLS, custom `SecKey` usage) that would need its own export
  compliance documentation, not just the standard exemption.
- `ITSAppUsesNonExemptEncryption` should be set to match reality — set
  to `false` when only using standard exempt encryption avoids an
  unnecessary compliance question at every submission.

## 3. Permission usage descriptions

```bash
grep -o 'NS[A-Za-z]*UsageDescription' **/*.plist 2>/dev/null
grep -rln "AVCaptureDevice\|CLLocationManager\|PHPhotoLibrary\|EventKit\|CNContactStore\|AVAudioSession.*record" --include="*.swift" .
```

Cross-reference: every permission-gated API actually used in code
(camera, location, photos, contacts, calendar, microphone, etc.) needs
a matching `NS*UsageDescription` string in Info.plist, **and** that
string should explain *why* the app needs it, not just restate the
permission name — "This app uses your location" gets rejected far more
often than "Used to show restaurants near you." Flag both a missing
description string and a present-but-generic one.

## 4. App Tracking Transparency

```bash
grep -rln "AppTrackingTransparency\|ATTrackingManager\|AdSupport" --include="*.swift" .
grep "NSUserTrackingUsageDescription" **/*.plist 2>/dev/null
```

If the app uses IDFA or any tracking-adjacent API, it needs
`NSUserTrackingUsageDescription` and must show the ATT prompt
(`ATTrackingManager.requestTrackingAuthorization`) before tracking
actually begins, not after.

## 5. Sign in with Apple parity

```bash
grep -rln "GIDSignIn\|FBSDKLoginKit\|GoogleSignIn" --include="*.swift" .
grep -rln "ASAuthorizationAppleIDProvider\|SignInWithAppleButton" --include="*.swift" .
```

If the app offers a third-party social login (Google, Facebook, etc.)
as a primary sign-in option, Apple requires offering Sign in with Apple
as an equivalent option. This is one of the most common non-obvious
rejection reasons — flag it explicitly if a third-party login is found
without a corresponding Sign in with Apple implementation.

## 6. Unused entitlements & background modes

```bash
find . -name "*.entitlements" -exec cat {} \;
grep -A10 "UIBackgroundModes" **/*.plist 2>/dev/null
```

A requested capability or background mode with no corresponding code
usage is both an unnecessary rejection risk and unnecessary attack
surface (see `ios-security-review` for the security angle on this same
check — don't duplicate that audit here, just flag the App Store risk).

## 7. Common code-level rejection triggers

- Placeholder or "Lorem ipsum" text/images left in shipped UI.
- Obvious crash-on-launch conditions (force-unwraps on data that could
  be missing at first launch, e.g. a nil server response).
- Broken or `http://`-only links to external content (also flagged in
  `ios-security-review`'s transport-security check).
- Any in-app purchase or subscription code that doesn't go through
  StoreKit (App Store rules require IAP for digital goods/services).

## Reporting

Close with the `ios-evidence-reporting` skill's status block (e.g.
`PRIVACY-MANIFEST`, `EXPORT-COMPLIANCE`, `PERMISSIONS`, `ATT`,
`SIGN-IN-PARITY`, `ENTITLEMENTS`) — only categories actually relevant to
what was reviewed, each backed by the file:line evidence or command
output already shown above. This is a code-visible audit only —
metadata, screenshots, and app description content need a human's
review in App Store Connect and are out of scope here.

From apexbymanish/claude-ai-agents-ios, MIT.

More from apexbymanish/claude-ai-agents-ios

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Aug 28, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from apexbymanish

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get ios-app-store-readiness running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying ios-app-store-readiness?

CallGet help
Cite this page

ios-app-store-readiness skill. Agent Mart. https://agentmart.dev/skills/apexbymanish-ios-app-store-readiness (last updated 2026-10-24)