Privacy

    Does Bolt.new support Apple's required reason APIs?

    A 2026 view of a Bolt.new-generated iOS app whose PrivacyInfo.xcprivacy must be completed by the developer to declare required reason APIs used by the app and its dependencies

    Required reason APIs are an iOS native requirement, and Bolt.new generates app code, so the honest framing is that this is your responsibility, not a box Bolt ticks for you. Bolt can scaffold a mobile app fast, but it does not guarantee a complete, correct privacy manifest declaring the reasons your app and its dependencies call APIs like UserDefaults. If your build uses a required reason API without declaring it, Apple flags it regardless of which tool generated the code. Here is what required reason APIs are, what Bolt does and does not handle, and how to cover them.

    Short answer

    Bolt.new generates your app code, but you should not assume it produces a complete privacy manifest for Apple's required reason APIs; declaring them is your responsibility. Required reason APIs, such as UserDefaults, file timestamps, and disk space, are allowed but must be declared with an approved reason in a PrivacyInfo.xcprivacy file once you build for iOS. AI builders like Bolt optimize for a working app, not for guaranteeing manifest completeness, and a dependency can use one of these APIs without the generated manifest covering it. So treat the privacy manifest as something you add and verify yourself, aggregating the required reasons from your app and its libraries.

    What you should know

    • Required reason APIs are an iOS rule: they apply when you build for iOS.
    • They must be declared: each needs an approved reason in the privacy manifest.
    • Bolt generates code, not guarantees: do not assume the manifest is complete.
    • Dependencies count: a library can use a required reason API for you.
    • You verify the manifest: aggregating the reasons is your responsibility.

    What are required reason APIs, and when do they apply?

    They are a set of iOS APIs Apple considers capable of fingerprinting, which you may use but must justify. The current set includes accessing UserDefaults, file timestamps, system boot time, available disk space, and the active keyboard list, and each requires an approved reason code in your privacy manifest. These rules apply once your project is built as an iOS app, so a web app has nothing to declare, but a Bolt project compiled into an iOS build does. Apple enforces this at upload, sending warnings or rejecting when a required reason API is used without a matching manifest entry. So the obligation attaches to the iOS binary you ship, not to the tool that wrote the code, which is why it lands on you regardless of using Bolt.

    Does Bolt.new generate the privacy manifest for you?

    Not in a way you should rely on. Bolt produces application code quickly, but generating a complete and correct PrivacyInfo.xcprivacy that declares every required reason API your app and dependencies use is not something an AI builder guarantees. The manifest has to reflect the actual APIs present in your specific build, including ones a third-party library calls on your behalf, and that is exactly the kind of detail generated scaffolding tends to miss. So even if a Bolt project includes some manifest scaffolding, you cannot assume it covers your dependencies or stays accurate as you add libraries. The safe assumption is that the manifest is yours to complete and verify, the same as it would be for any iOS app.

    How do you handle required reason APIs in a Bolt app?

    Establish what your build actually uses, then declare it. The steps below cover it.

    StepWhat to do
    Identify your iOS build approachConfirm how the Bolt project compiles to an iOS app
    Find required reason API usageCheck your code and each dependency for the API categories
    Gather dependency reasonsCollect required reasons from each library's own manifest
    Complete PrivacyInfo.xcprivacyDeclare an approved reason for every required reason API used
    Align with App PrivacyKeep declarations consistent with your App Store Connect answers

    The principle is that the manifest must list exactly the required reason APIs present in your build, with an approved reason for each, including the ones your dependencies bring in. Heed Apple's upload warnings, which name a missing declaration directly, and treat them as the signal to update the manifest.

    What to watch out for

    The first trap is assuming Bolt handled the privacy manifest because the app builds and runs, when a missing required reason declaration only surfaces at upload. The second is declaring your own usage but missing a dependency that calls a required reason API for you. The third is letting the manifest drift as you add libraries, so revisit it before each submission. A pre-submission scan such as PTKD.com (https://ptkd.com) reads the compiled IPA against OWASP MASVS and surfaces the SDKs and API usage in your build, which helps you see which required reason APIs are actually present so your manifest covers them. Writing the declarations is work you do in the project.

    What to take away

    • Bolt.new generates app code, but you should not assume it produces a complete privacy manifest; declaring required reason APIs is your responsibility.
    • Required reason APIs like UserDefaults are allowed but must be declared with an approved reason in PrivacyInfo.xcprivacy once you build for iOS.
    • Dependencies can use these APIs for you, so gather their required reasons into your manifest and keep it aligned with your App Privacy answers.
    • Heed Apple's upload warnings, and use a pre-submission scan such as PTKD.com to see which required reason APIs your build actually uses.
    • #bolt-new
    • #required-reason-api
    • #privacy-manifest
    • #privacyinfo-xcprivacy
    • #ai-coded-apps
    • #app-privacy
    • #ios

    Frequently asked questions

    Does Bolt.new handle Apple's required reason APIs?
    Not in a way you should rely on. Bolt generates app code quickly, but producing a complete, correct PrivacyInfo.xcprivacy that declares every required reason API your app and dependencies use is not something an AI builder guarantees. The manifest must reflect the actual APIs in your specific build, including ones a library calls for you, which generated scaffolding tends to miss. So treat the manifest as yours to complete and verify, like any iOS app.
    What are required reason APIs?
    They are iOS APIs Apple considers capable of fingerprinting, which you may use but must justify with an approved reason in your privacy manifest. The current set includes accessing UserDefaults, file timestamps, system boot time, available disk space, and the active keyboard list. The rules apply once your project is built as an iOS app, and Apple enforces them at upload, warning or rejecting when one is used without a matching manifest entry.
    When do required reason APIs apply to a Bolt app?
    Once your Bolt project is compiled into an iOS build. A web app has nothing to declare, but an iOS binary that uses any of the required reason APIs, directly or through a dependency, must declare an approved reason for each in PrivacyInfo.xcprivacy. The obligation attaches to the iOS binary you ship, not to the tool that wrote the code, so it lands on you regardless of having used Bolt to generate the app.
    How do I complete the privacy manifest for a Bolt app?
    Confirm how the project compiles to iOS, then check your code and each dependency for the required reason API categories, gather the required reasons from each library's own manifest, and declare an approved reason for every API used in your PrivacyInfo.xcprivacy. Keep those declarations consistent with your App Privacy answers in App Store Connect. Apple's upload warnings name a missing declaration directly, so treat them as the signal to update the manifest.
    How do I know which required reason APIs my build uses?
    Scan the build. A pre-submission scan such as PTKD.com reads the compiled IPA against OWASP MASVS and surfaces the SDKs and API usage present, which helps you see which required reason APIs are actually in your app, including ones a dependency brought in. With that list you can complete the manifest accurately rather than guessing, then resolve any upload warnings before they become a rejection.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free