OneShot

All packsApp Store MachinerySolve

ios privacy manifest required reason api missing

Xcode lets you submit without the privacy manifest Apple requires

A missing or incomplete PrivacyInfo.xcprivacy -- including required-reason API declarations buried in a long Apple enum -- compiles fine and gets rejected days later.

This is one of the things App Store Machinery already handles. Sell subscriptions and one-time unlocks in your iOS app, and get it through App Review.

Buy for $1293 of 3 clean-room builds passed · full refund if it fails on your machine

Is this you?

Apple requires an app-level PrivacyInfo.xcprivacy manifest declaring collected data types and any use of "required-reason" APIs (things like UserDefaults or checking system boot time), each keyed to a specific reason code from a long, easy-to-miss enum in Apple's documentation. Xcode does not block a build or archive that's missing this file or missing a required reason code -- the app submits, builds, and then gets rejected by App Review days later for a static, checkable omission nothing in the toolchain flagged earlier.

Why this one is easy to get wrong

Nothing about a missing PrivacyInfo.xcprivacy file breaks compilation, a local run, or TestFlight distribution -- every normal development signal says the app is fine. The specific required-reason codes (like CA92.1 for UserDefaults) are documented in a long Apple reference table that has to be consulted deliberately; there's no compiler warning connecting "this app reads UserDefaults" to "this specific reason code is now required in the manifest."

What you get instead

Decision 14 pre-fills the app-level manifest with the three required-reason APIs the pack's own code actually uses -- UserDefaults (CA92.1), FileTimestamp (C617.1), SystemBootTime (35F9.1) -- plus the purchase-history data-type declaration the appAccountToken join requires, and marks tracking as false with no tracking domains. The review-rejection preflight lane statically lints for the file's presence and correctness before the build ships, catching what Xcode itself doesn't.

Source: ARCHITECTURE.md decision 14 — checkable in the pack you receive

How you actually use this

You don’t install a library or wire up an SDK. Your own coding agent builds the code in your project, and you keep it — no runtime dependency on us.

  1. Step 1

    Download and unzip

    You get a folder: the docs that tell an agent what to build, a starting skeleton, and the test suite that decides when it's done.

  2. Step 2

    Open it in Claude Code or Cursor

    Point your coding agent at the folder. Nothing to install, no account with us, no API key.

  3. Step 3

    Paste one prompt

    The pack contains the exact prompt. Paste it as your first message and leave it alone — it works through the build itself, choosing a cheaper or stronger model per task.

  4. Step 4

    Run ./verify.sh

    One command. It prints a pass or fail for every check. Green means the build is done — the same script we ran to produce the receipt on this page.

Typical build: about 21 minutes of your agent working, mostly unattended. Then you integrate the working module into your app the way you would any code you’d written yourself.

Why you can believe this

3 of 3 runs passed

We ran this pack from an empty folder 3 times and published exactly what happened — every check, the model, the token cost, the wall time. Not a testimonial, and not our opinion: the same verify.sh you run yourself. Read the full receipt →

Buy for $12914-day refund if verify.sh fails →

Related problems