SponsorSign inSubmit

← All tools

Privacy manifest checker

Paste your PrivacyInfo.xcprivacy. It is read right here on this page, and nothing is sent anywhere.

Privacy manifest checker

Try an example:

What it does

A privacy manifest is a small file called PrivacyInfo.xcprivacy that sits in your app or in an SDK you ship with it. It says whether the app tracks people, which kinds of data it collects and why, and why it calls a short list of APIs Apple says could be used to fingerprint a device, such as file dates, disk space and user defaults. Xcode reads every manifest in your app to make a privacy report. This tool reads the file you paste and checks each value against Apple's own lists, so a typo, a reason from the wrong category or a missing purpose shows up before App Store Connect or the privacy report trips over it.

On the Mac

Apple asks for two different things. The data your app collects goes in the manifest on every platform, the Mac included. The required reason APIs are asked for on iOS, iPadOS, tvOS, visionOS and watchOS. So a Mac-only app does not have to list its UserDefaults use, but a target that also builds for iPhone or iPad does, and listing them on the Mac does no harm.

How to see the file

plutil -lint PrivacyInfo.xcprivacy
plutil -convert xml1 -o - PrivacyInfo.xcprivacy

The first checks the file is valid. The second prints it as XML you can paste here. In Xcode, Control-click the file and choose Open As, then Source Code. To see every manifest in a finished app, archive it, then Control-click the archive in the Organizer and choose Generate Privacy Report.

What each result means

MarkWhat it means
FixA value is missing or is not one Apple lists, such as a made-up data type or a reason code from another category.
LookIt reads, but two answers disagree, or it uses a reason meant only for SDKs, keyboards or health research.
OKA value Apple lists, used where it belongs.
NoteGood to know, such as a key it does not have in its list.

Sources: Apple Developer, Privacy manifest files, Describing use of required reason API, Describing data use in privacy manifests and NSPrivacyAccessedAPIType, all read November 11, 2026.

How it works

It is a few plain rules running on this page. It reads the XML of the manifest and compares each value with the five API categories, their reason codes, the 35 data types and the six purposes in Apple's docs. It can't see your code, so it can't tell whether the app really calls an API you left out, or whether a reason is true. Read each reason Apple gives once, and match it to what the app does. Nothing you paste is saved or sent.

Questions

What is a privacy manifest?

A property list named PrivacyInfo.xcprivacy in your app or SDK. It records whether the app tracks, which data it collects and why, and why it uses certain APIs Apple lists.

Does a Mac app need a privacy manifest?

Apple asks every platform, the Mac included, to record collected data in it. Required reason APIs are asked for on iOS, iPadOS, tvOS, visionOS and watchOS, so a Mac-only app does not need to list them.

What does CA92.1 mean?

It is the user defaults reason for reading and writing settings that only your own app can see. 1C8F.1 is the one for settings shared within an App Group.

Which reason do I use for file timestamps?

C617.1 for files inside your own app container, app group or CloudKit container, 3B52.1 for files the person chose to give the app, and DDA9.1 to show file dates to the person.

Is what I paste sent anywhere?

No. The text is read on this page and nothing is sent or stored.

Related