Privacy-Manifest-Checker
Füge deine PrivacyInfo.xcprivacy ein. Sie wird direkt hier auf dieser Seite gelesen, und nichts wird irgendwohin gesendet.
Probiere ein Beispiel:
Was es macht
Ein Privacy Manifest ist eine kleine Datei namens PrivacyInfo.xcprivacy, die in deiner App oder in einem SDK liegt, das du mitlieferst. Sie sagt, ob die App Menschen trackt, welche Arten von Daten sie erfasst und warum, und warum sie eine kurze Liste von APIs aufruft, die laut Apple zum Fingerprinting eines Geräts dienen könnten, etwa Dateidaten, Speicherplatz und User Defaults. Xcode liest jedes Manifest in deiner App, um einen Datenschutzbericht zu erstellen. Dieses Tool liest die Datei, die du einfügst, und prüft jeden Wert gegen Apples eigene Listen, sodass ein Tippfehler, ein Grund aus der falschen Kategorie oder ein fehlender Zweck auffällt, bevor App Store Connect oder der Datenschutzbericht darüber stolpert.
Auf dem Mac
Apple verlangt zwei verschiedene Dinge. Die Daten, die deine App erfasst, gehören auf jeder Plattform ins Manifest, auch auf dem Mac. Die Required-Reason-APIs werden auf iOS, iPadOS, tvOS, visionOS und watchOS verlangt. Eine reine Mac-App muss ihre Nutzung von UserDefaults also nicht aufführen, ein Target, das auch für iPhone oder iPad gebaut wird, aber schon, und sie auf dem Mac aufzuführen schadet nicht.
So siehst du die Datei
plutil -lint PrivacyInfo.xcprivacy plutil -convert xml1 -o - PrivacyInfo.xcprivacy
Die erste prüft, ob die Datei gültig ist. Die zweite gibt sie als XML aus, das du hier einfügen kannst. Klicke in Xcode mit gedrückter Control-Taste auf die Datei und wähle Öffnen als, dann Quelltext. Um jedes Manifest in einer fertigen App zu sehen, archiviere sie, klicke dann im Organizer mit gedrückter Control-Taste auf das Archiv und wähle Datenschutzbericht generieren.
Was jedes Ergebnis bedeutet
| Markierung | Was es bedeutet |
|---|---|
| Beheben | Ein Wert fehlt oder ist keiner, den Apple auflistet, etwa ein erfundener Datentyp oder ein Grundcode aus einer anderen Kategorie. |
| Aussehen | Es lässt sich lesen, aber zwei Angaben widersprechen sich, oder es nutzt einen Grund, der nur für SDKs, Tastaturen oder Gesundheitsforschung gedacht ist. |
| OK | Ein Wert, den Apple auflistet, am richtigen Ort verwendet. |
| Hinweis | Gut zu wissen, etwa ein Schlüssel, der nicht in seiner Liste steht. |
Quellen: Apple Developer, Privacy manifest files, Describing use of required reason API, Describing data use in privacy manifests und NSPrivacyAccessedAPIType, alle gelesen am 11. November 2026.
So funktioniert's
Es sind ein paar einfache Regeln, die auf dieser Seite laufen. Sie liest das XML des Manifests und vergleicht jeden Wert mit den fünf API-Kategorien, ihren Grundcodes, den 35 Datentypen und den sechs Zwecken in Apples Dokumentation. Sie kann deinen Code nicht sehen, also weiß sie nicht, ob die App wirklich eine API aufruft, die du weggelassen hast, oder ob ein Grund stimmt. Lies jeden von Apple genannten Grund einmal und gleiche ihn mit dem ab, was die App tut. Nichts, was du einfügst, wird gespeichert oder gesendet.
Fragen
Was ist ein Privacy Manifest?
Eine Property-Liste namens PrivacyInfo.xcprivacy in deiner App oder deinem SDK. Sie hält fest, ob die App trackt, welche Daten sie erfasst und warum, und warum sie bestimmte von Apple aufgelistete APIs nutzt.
Braucht eine Mac-App ein Privacy Manifest?
Apple verlangt von jeder Plattform, auch vom Mac, erfasste Daten darin festzuhalten. Required-Reason-APIs werden auf iOS, iPadOS, tvOS, visionOS und watchOS verlangt, eine reine Mac-App muss sie also nicht aufführen.
Was bedeutet CA92.1?
Das ist der User-Defaults-Grund zum Lesen und Schreiben von Einstellungen, die nur deine eigene App sehen kann. 1C8F.1 ist der für Einstellungen, die innerhalb einer App Group geteilt werden.
Welchen Grund nehme ich für Dateizeitstempel?
C617.1 für Dateien im eigenen App-Container, in der App Group oder im CloudKit-Container, 3B52.1 für Dateien, die die Person der App gegeben hat, und DDA9.1, um der Person Dateidaten anzuzeigen.
Wird das, was ich einfüge, irgendwohin gesendet?
Nein. Der Text wird auf dieser Seite gelesen und nichts wird gesendet oder gespeichert.