Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

App-Store-Ablehnung

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

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

DatenQuelleLabel-Kategorie
E-Mail, NameRegistrierung, Sign in with Apple, Google-LoginContact Info, mit dem Nutzer verknüpft
Nutzer-IDSupabase, Firebase, ClerkIdentifiers, mit dem Nutzer verknüpft
Nutzungsevents, aufgerufene ScreensPostHog, Plausible, GA4Usage Data; verknüpft, wenn an die Nutzer-ID gebunden
KaufhistorieRevenueCat, StripePurchases, mit dem Nutzer verknüpft
Werbe-ID des GerätsPersonalisierte AdMob-AnzeigenIdentifiers, 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.

Pakete auf der Hauptseite ansehen

Full Service

$698 pro Plattform $798

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.

Full-Service-Details Powered by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine App zu veröffentlichen?

App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen

Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.

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.