Apple Compliance Guide

App Store Encryption und Export Compliance

App Store Connect fragt bei Releases nach Verschlüsselung. Eine belastbare Antwort beginnt mit einem technischen Inventar des konkreten Builds.

LaunchLint Academy

15 Minuten LesezeitRedaktion und Quellenprüfung: Rene DresselRedaktionelle Richtlinie
Verschlüsselungsfunktionen einer App werden technisch inventarisiert und für App Store Connect eingeordnet
Apple fragt bei TestFlight und App-Store-Releases nach verwendeter Verschlüsselung. HTTPS, Betriebssystemfunktionen, Drittanbieter-SDKs und eigene kryptografische Implementierungen müssen technisch inventarisiert werden, bevor du eine Erklärung auswählst.
TL;DR

Die kurze Antwort

Apple fragt bei TestFlight und App-Store-Releases nach verwendeter Verschlüsselung. HTTPS, Betriebssystemfunktionen, Drittanbieter-SDKs und eigene kryptografische Implementierungen müssen technisch inventarisiert werden, bevor du eine Erklärung auswählst.

  • ITSAppUsesNonExemptEncryption kann wiederkehrende Fragen steuern, ersetzt aber keine korrekte Einordnung. Bei rechtlich unklaren oder nicht standardisierten Verfahren ist fachkundige Beratung notwendig.

Nachweise für die Release-Freigabe

Prüfe apple export compliance und verschlüsselungsangaben nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Trenne bei Apple Export Compliance und Verschlüsselungsangaben drei Nachweise: statisch erkennbare Projektkonfiguration, Verhalten auf einem sauberen Gerät und externe Einstellungen in Apple Developer, App Store Connect oder Play Console. Erst wenn diese Ebenen denselben Release-Kandidaten beschreiben, ist die Prüfung belastbar. Dokumentiere Abweichungen mit Owner und Stop-Kriterium, statt sie als vermeintlichen Standardwert zu akzeptieren.

Nachweise für die Release-Freigabe

  • Produktionswert für technischen umfang inventarisieren eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

1. Technischen Umfang inventarisieren

Erfasse Netzwerk, sichere Speicherung, Authentifizierung, VPN, Messaging, Medien, lokale Datenbanken und alle SDKs mit Kryptografie.

Prüfe technischen umfang inventarisieren nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für technischen umfang inventarisieren eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

2. Betriebssystem und eigene Implementierung trennen

Unterscheide ausschließlich von Apple bereitgestellte Verschlüsselung, standardisierte Bibliotheken und proprietäre oder nicht veröffentlichte Verfahren.

Prüfe betriebssystem und eigene implementierung trennen nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für betriebssystem und eigene implementierung trennen eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

3. Drittanbieter-SDKs einbeziehen

Auch eingebundene Bibliotheken können Verschlüsselung enthalten. Prüfe Herstellerdokumentation und tatsächlich genutzte Funktionen.

Prüfe drittanbieter-sdks einbeziehen nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für drittanbieter-sdks einbeziehen eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

4. App-Store-Fragen nachvollziehen

Beantworte Fragen anhand des konkreten Builds, der Länder und Funktionen. Kopiere keine Antwort blind aus einem anderen Projekt.

Prüfe app-store-fragen nachvollziehen nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für app-store-fragen nachvollziehen eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

5. Info.plist-Wert korrekt setzen

ITSAppUsesNonExemptEncryption beschreibt, ob nicht ausgenommene Verschlüsselung verwendet wird. Der Wert muss zur technischen und rechtlichen Einordnung passen.

Prüfe info.plist-wert korrekt setzen nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für info.plist-wert korrekt setzen eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

6. Dokumente und Freigabecode verwalten

Wenn Dokumentation erforderlich ist, plane Prüfung, Zuordnung zum Build und sichere Ablage des erhaltenen Compliance-Codes.

Prüfe dokumente und freigabecode verwalten nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für dokumente und freigabecode verwalten eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

7. Expo und native Konfiguration prüfen

Kontrolliere den aufgelösten Info.plist-Wert aus app.json, app.config, Plugins oder nativen Projekten im Produktionsartefakt.

Prüfe expo und native konfiguration prüfen nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für expo und native konfiguration prüfen eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

8. Entscheidung versionieren

Dokumentiere Quellen, Bibliotheken, Produktänderungen und Datum. Neue Kryptografie oder Regionen können eine erneute Einordnung verlangen.

Prüfe entscheidung versionieren nicht als isolierten Schalter, sondern im Zusammenhang mit Apple Export Compliance und Verschlüsselungsangaben, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.

Nachweise für die Release-Freigabe

  • Produktionswert für entscheidung versionieren eindeutig benannt
  • Verantwortliche Projektdatei oder Store-Einstellung verlinkt
  • Aufgelöste native Konfiguration kontrolliert
  • Signiertes Artefakt auf sauberem Gerät geprüft
  • iOS- und Android-Unterschiede dokumentiert
  • Offene Abweichung mit Owner und Stop-Kriterium versehen

Häufige Fragen

Zählt HTTPS als Verschlüsselung?

Ja, technisch wird Verschlüsselung verwendet. Ob dafür Dokumente erforderlich sind, hängt von Apples Fragen und den geltenden Ausnahmen ab.

Soll ITSAppUsesNonExemptEncryption immer false sein?

Nein. Der Wert muss wahrheitsgemäß zur verwendeten Kryptografie und ihrer Einordnung passen.

Ist dieser Guide Rechtsberatung?

Nein. Er erklärt technische Nachweise und Apples Ablauf. Bei unklarer Exportkontrolle brauchst du qualifizierte rechtliche Beratung.

Kann LaunchLint die rechtliche Ausnahme entscheiden?

Nein. Es kann Schlüssel, SDK-Signale und widersprüchliche Angaben erkennen, trifft aber keine verbindliche Exportklassifizierung.

Offizielle Primärquellen

Dieser Beitrag stützt sich auf die folgenden offiziellen Primärquellen. Store-Regeln können sich ändern; prüfe vor einer Einreichung immer die aktuelle Fassung.