Guideline 5.1.1 (Data Collection and Storage): Datenschutzerklärung, Berechtigungen, Account-Löschung und Labels
5.1.1 ist die häufigste Datenschutz-Ablehnung für Apps, die mit KI-Tools gebaut wurden, und sie betrifft fast nie, was du mit Daten machst. Sie betrifft, was du nicht deklariert hast: einen Link zur Datenschutzerklärung, einen Purpose String, einen Lösch-Button, ein Label. Jede Korrektur dauert Minuten, sobald du weißt, wo sie hingehört.
Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.
Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
Kein Programmieren nötig
Einmalzahlung, kostenlose Updates
24/7 Support von echten Menschen
Made in Germany seit 2014 · ISO 27001
9:41
Deine App
Deine AppJetzt auf dem Smartphone
App Store · Google Play Freigegeben
Was 5.1.1 abdeckt
Der Abschnitt (Data Collection and Storage, also Datenerhebung und -speicherung) verlangt von Apps, die irgendwelche Nutzer- oder Nutzungsdaten erheben, eine Datenschutzerklärung, verlinkt in App Store Connect und in der App, die erklärt, was erhoben wird, wie es genutzt wird, mit wem es geteilt wird und wie Nutzer die Löschung beantragen können. Berechtigungsanfragen müssen ihren Zweck im Systemdialog erklären und dürfen nur gestellt werden, wenn die Funktion sie braucht. Apps dürfen nur die Mindestdaten anfragen, die ihre Kernfunktionen benötigen, und Apps, in denen Nutzer einen Account anlegen können, müssen ihnen erlauben, ihn in der App zu löschen.
Web-Wrapper-Apps erben die Datenflüsse der Website, die Erklärung existiert also meist schon. Die Ablehnung kommt von den fehlenden Teilen drumherum: keine Datenschutz-URL im Store-Datensatz, kein "Account löschen" in den Einstellungen, ein Berechtigungstext aus der Vorlage oder App-Privacy-Labels mit "keine Daten erhoben", während die App ein Registrierungsformular hat.
Die Unterregeln, die Reviewer zitieren
5.1.1(i)
Datenschutzerklärung
Ein Link in den App-Store-Connect-Metadaten und in der App, mit den erhobenen Daten, ihrer Nutzung, Weitergabe an Dritte, Aufbewahrung und Löschung.
5.1.1(ii)
Berechtigung
Purpose Strings, die die Nutzung erklären, angefragt nur, wenn die Funktion sie braucht; die App muss weiter funktionieren, wenn der Nutzer ablehnt.
5.1.1(iii)
Datenminimierung
Frage nur Daten an, die für die Kernfunktion relevant sind. Eine Rezepte-App braucht keine Kontakte.
5.1.1(iv)
Zugriff
Nutzer dürfen nicht getäuscht, gedrängt oder blockiert werden, damit sie Berechtigungen erteilen, die sie für die aktuelle Aufgabe nicht brauchen.
5.1.1(v)
Account-Anmeldung
Apps, die das Anlegen eines Accounts unterstützen, müssen die Account-Löschung in der App anbieten, nicht nur per E-Mail-Anfrage.
Behebe die vier Befunde, die die meisten 5.1.1-Ablehnungen ausmachen
Datenschutzerklärung, von beiden Orten erreichbar
Veröffentliche sie unter yourdomain.com/privacy und verlinke sie aus den Einstellungen oder dem Footer der App sowie aus dem Datenschutz-Feld der App-Version in App Store Connect. Der Guide zur Datenschutzerklärung hat eine Struktur, die Web und App abdeckt; die WebViewGold-Doku bietet einen optionalen Satz, der erklärt, dass die App die Inhalte der Website in einer WebView zeigt und dieselbe Erklärung gilt.
Account-Löschung in der App
Ein "Account löschen"-Button in den Einstellungen, der eine Backend-Funktion aufruft (Supabase Edge Function mit der Service Role, Firebase Callable Function), den Auth-Nutzer und seine Datensätze löscht und dann ausloggt. Ein mailto-Link oder "Support kontaktieren" wird abgelehnt. Anleitung: Account-Löschung für Supabase-Apps.
Purpose Strings, die das Warum nennen
Formuliere im WebViewGold-Projekt jede Info.plist-Usage-Description neu, die du behältst: "Nutzt deinen Standort, um Plätze in der Nähe anzuzeigen" statt Vorlagentext. Frage im Moment der Nutzung: Rufe die Geolocation-API nur auf, wenn der Nutzer auf "In meiner Nähe" tippt; lass askforpushpermissionatfirstrun auf false und löse registerpush:// nach dem Onboarding aus.
App-Privacy-Labels, die der Realität entsprechen
Deklariere in App Store Connect, was die Web-App erhebt: E-Mail und Name aus der Registrierung (Contact Info), Nutzer-ID (Identifiers), Analytics-Events (Usage Data), Käufe (RevenueCat oder Stripe), Gerätekennung nur mit AdMob. Gib an, ob Daten mit dem Nutzer verknüpft sind und ob sie für Tracking genutzt werden. Erklärung, Labels und App müssen dieselbe Geschichte erzählen.
Mit einer gut optimierten Version Ihrer Web-App können Sie innerhalb von wenigen Minuten eine beeindruckende mobile App erstellen. Zusätzlich dazu ist der Kundenservice sehr nett und hilfsbereit! Ich kann WebViewGold nur empfehlen :-)
Julian Koch · Mitbegründer von DuelDonkey · CodeCanyon
Was eine typische Vibe-Coding-App erhebt
Daten
Quelle
Label-Kategorie
E-Mail, Name
Registrierung, Sign in with Apple, Google-Login
Contact Info, mit dem Nutzer verknüpft
Nutzer-ID
Supabase, Firebase, Clerk
Identifiers, mit dem Nutzer verknüpft
Nutzungsevents, aufgerufene Screens
PostHog, Plausible, GA4
Usage Data; verknüpft, wenn an die Nutzer-ID gebunden
Kaufhistorie
RevenueCat, Stripe
Purchases, mit dem Nutzer verknüpft
Werbe-ID des Geräts
Personalisierte AdMob-Anzeigen
Identifiers, für Tracking genutzt (braucht ATT)
Ein Account-Lösch-Flow, den Reviewer akzeptieren
Bestätigung, Löschung im Backend, Logout. Die Edge Function entfernt den Auth-Nutzer und zugehörige Datensätze mit dem Service-Role-Key.
javascript
// Settings page: Delete account (Supabase example)
async function deleteAccount() {
if (!confirm("Delete your account and all of your data? This cannot be undone.")) return;
const { error } = await supabase.functions.invoke("delete-account");
if (error) { alert("Deletion failed. Please contact [email protected]."); return; }
await supabase.auth.signOut();
window.location.href = "/account-deleted";
}
Häufig gestellte Fragen
Kann die Account-Löschung ein Anfrageformular sein, das ich manuell bearbeite?
Nein. Der Nutzer muss die Löschung in der App starten können, und sie muss den Account tatsächlich entfernen. Eine kurze Karenzzeit oder eine Bestätigungs-E-Mail ist akzeptabel, wenn die Löschung danach ohne weiteres Zutun erfolgt.
Welche Datenschutz-URL trage ich ein: die der Website oder eine App-spezifische?
Dieselbe Erklärung kann beides abdecken, wenn sie die App erwähnt. Ergänze einen Satz, dass die iOS-App die Website anzeigt und dieselben Datenpraktiken nutzt, plus alle App-spezifischen Daten wie Push-Tokens.
Müssen die App-Privacy-Labels die WebViewGold-SDKs aufführen?
Du deklarierst Daten, die deine App erhebt, egal was sie erhebt. OneSignal-Push-Tokens, RevenueCat-Kaufdaten und AdMob-Kennungen gehören in die Labels, wenn du diese Funktionen aktiviert hast; inaktive SDKs, die nichts erheben, nicht.
Drei Wege, deine App in die Stores zu bringen
Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.
Selbst machen
$109 pro Plattform, einmalig
Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.
Kein Mac, kein Xcode, kein Android Studio: Du konfigurierst im Browser, wir bauen beide Apps in der Cloud und übergeben sie an App Store Connect und die Play Console.
Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.
Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.