12 KiB
Apple App Store Rules — Briefing fuer HiveGrid (B2B-SaaS-CRM, Stand Mai 2026)
Kontext: HiveGrid ist ein B2B-SaaS-CRM (Multi-Tenant) fuer Handwerksbetriebe. Web-App ist Hauptzugang. Nativer Wrapper (Capacitor/React Native) fuer App-Store-Praesenz erwogen. Subscriptions zahlt der Betrieb extern (Web/Rechnung), Endnutzer (Monteure/Buero) loggen sich nur ein.
1. In-App Purchases (IAP) — fuer HiveGrid NICHT Pflicht (bedingt)
- Grundregel 3.1.1: Digitale Goods/Services in der App muessen via Apple-IAP (15-30% Provision) verkauft werden.
- Relevante Ausnahme — Guideline 3.1.3(c) "Enterprise Services": Wenn die App ausschliesslich an Organisationen/Gruppen fuer deren Mitarbeiter verkauft wird (typisches B2B-SaaS-Modell), darf extern abgerechnet werden. HiveGrid faellt klar darunter.
- Zusaetzlich 3.1.3(b) "Multiplatform Services": Login fuer eine bereits ausserhalb der App (Web) erworbene Subscription ist erlaubt — solange die App keinen Link, Button oder Hinweis enthaelt, der auf externe Bezahlung steert.
- Was in der App NICHT erlaubt ist (ausserhalb EU/USA): Pricing-Pages, "Upgrade your plan"-Buttons, Links zur Web-Bezahlung, "Sign up at hivegrid.cloud"-Hinweise. Nur reiner Login-Screen ist sicher.
- EU-DMA-Update (Juni 2025): In der EU duerfen Apps inzwischen aktiv auf externe Bezahloptionen verlinken (Core Technology Commission 5%, optionales Modell). Fuer HiveGrid nicht relevant, da gar keine Consumer-Bezahlung in der App stattfindet — die DMA-Lockerung betrifft primaer Apps die selbst IAP umgehen wollen.
- Fazit: Nicht-Pflicht, sofern strikt nur Login + App-Funktionen, keinerlei Pricing-/Upsell-Inhalte. Reject-Risiko bei jedem "Subscribe"-Hinweis.
Quellen:
- App Review Guidelines (Apple)
- Apple Forum: 3.1.3(c) Enterprise Services
- Forum-Thread: B2B SaaS Reject 3.1.1
- iOS IAP Compliance Guide 2025 (Twinr)
- DMA Update Juni 2025 (RevenueCat)
2. Sign in with Apple — fuer HiveGrid NICHT Pflicht (bedingt)
- Grundregel 4.8: Wer Drittanbieter-Login (Google, Facebook, Microsoft) als primaeren Auth-Mechanismus anbietet, MUSS Sign in with Apple gleichwertig anbieten.
- Klare Ausnahme: "Education, enterprise, or business apps that require the user to sign in with an existing education or enterprise account" — also genau HiveGrids Modell (Mitarbeiter logged sich mit Firma-Credentials ein).
- Weitere Ausnahme: Apps die ausschliesslich eigene Account-Systeme nutzen (Email + Passwort) brauchen kein Sign in with Apple.
- Knifflig: Wenn HiveGrid auch Google/Microsoft-OAuth fuer "regulaere" Endnutzer (nicht nur SSO via Tenant) anbietet, koennte ein Reviewer das als "primaeres Auth" werten. Dann doch Pflicht.
- Magic-Link/Email-Only: Reicht aus, um die Anforderung zu umgehen — keine Apple-Login-Pflicht.
- Fazit: Nicht-Pflicht, wenn HiveGrid den Login als "Enterprise/Tenant-Login" framed. Pflicht, wenn Google-OAuth als allgemeiner Consumer-Login angeboten wird.
Quellen:
- WorkOS: Sign in with Apple 2025
- Apple Forum: Is SIWA mandatory?
- Apple Developer Docs: Authenticating with SIWA
3. Face ID / Touch ID Integration
- Apple stellt keine Pflicht zu Biometrie-Login. Es ist optional, aber dringend empfohlen fuer eine "app-like experience" (s. Punkt 5 / Guideline 4.2).
- Capacitor: Plugins wie
@aparajita/capacitor-biometric-authodercapacitor-face-idwrappen ApplesLocalAuthentication-Framework. Integration: ~1-2 Tage. Kein Problem mit Apple Review. - React Native:
react-native-keychain+expo-local-authentication(bei Expo) — vergleichbar simpel. - Echt nativ (Swift): Direkt
LocalAuthentication.framework, ~paar Stunden Aufwand. - Apple-Anforderungen:
NSFaceIDUsageDescriptionim Info.plist (Pflicht-String warum Face ID genutzt wird), Fallback-Mechanismus (PIN/Passwort) muss existieren. - Fazit: Nicht-Pflicht. Mit Capacitor problemlos machbar (~1-2 Tage). Hilft enorm gegen Guideline 4.2 Reject (s.u.).
Quellen:
4. Sonstige Huerden fuer B2B-SaaS-CRM
4.1 Account-Loeschung in der App — PFLICHT seit 30.06.2022 (Guideline 5.1.1(v))
- Jede App mit Account-Erstellung muss In-App-Loeschung anbieten — auch wenn Account ausserhalb erstellt wurde.
- Deaktivieren reicht nicht, alle Personendaten muessen geloescht werden.
- Ausnahme fuer "highly regulated industries" (5.1.1(ix)) — Handwerk faellt nicht darunter.
- Praktisch: Settings-Screen mit "Konto loeschen"-Button, der Backend-Endpoint anstoesst. Fuer Multi-Tenant: kann sein dass nur "Mitarbeiter aus Tenant entfernen" gemeint ist, aber Apple ist da streng — User-eigene Daten muessen weg.
- Apple: Account deletion
4.2 Privacy Manifest — PFLICHT seit 01.05.2024
PrivacyInfo.xcprivacymuss alle gesammelten Daten + Drittanbieter-SDK-APIs deklarieren.- Apple lehnt 12% der Submissions in Q1 2025 wegen fehlerhafter Manifests ab.
- Capacitor/Expo-Communities haben i.d.R. fertige Manifests — trotzdem pruefen.
- App Tracking Transparency (ATT) Prompt nur wenn echtes Tracking stattfindet — fuer ein internes B2B-Tool i.d.R. nicht noetig.
- Apple Privacy Manifest Docs
4.3 TestFlight & Sandbox
- Internal Testing: 100 Tester, sofort verfuegbar, keine Apple-Pruefung.
- External Testing: 10.000 Tester, erfordert App-Review (leichter als Production, ~1-2 Tage).
- Sandbox-Accounts fuer IAP-Tests in App Store Connect anlegen — fuer HiveGrid nicht relevant da kein IAP.
4.4 Typische Reject-Gruende fuer B2B-Apps
- Guideline 2.1 (App Completeness): ~40% aller Rejects. Reviewer kann nicht einloggen → bricht ab. Demo-Account in Review Notes ist kritisch.
- Guideline 4.2 (Minimum Functionality): "Webview-Wrapper" (s. Punkt 5).
- Guideline 3.1.1 (IAP): Schon ein "Upgrade auf Pro"-Button im UI loest Reject aus.
- Guideline 5.1.1 (Privacy): Fehlende Account-Loeschung, kein Privacy-Manifest, fehlende Privacy-Policy-URL.
- Guideline 2.3 (Metadata): Screenshots zeigen Features die in der App nicht funktionieren.
Quellen:
- NextNative: App Store Review Guidelines 2025
- Twinr: Rejection Reasons 2025
- RevenueCat: Ultimate Guide to Rejections
5. Capacitor vs React Native vs Expo vs nativ — und Guideline 4.2
- Apple ist agnostisch ggue. Framework, aber sehr empfindlich gegenueber "Webview-Wrappern" ohne nativen Mehrwert (Guideline 4.2 "Minimum Functionality").
- Was sicher rejected wird: Pure WebView, die nur die mobile Website laedt, ohne native Features.
- Was 2026 minimal verlangt wird (Best Practice, nicht alle gleichzeitig):
- Native Navigation (kein Hamburger-Menue im Webview)
- Push Notifications (echt genutzt — nicht nur "registriert")
- Mind. ein Device-Feature: Kamera (Foto vom Auftrag), Biometrie (Login), Geolocation (Einsatzort), Offline-Mode (mind. teilweise)
- App-Icons, Splash-Screens, vernuenftige Tab-Bar
- Capacitor: Webview-basiert aber mit nativen Plugins. Gut geeignet, wenn Web-App schon existiert (HiveGrid-Fall). Reject-Risiko nur, wenn Native Features fehlen — Framework selbst ist kein Problem.
- React Native: Native UI-Components, leichter durch 4.2 zu kommen, aber doppelter Code-Aufwand vs. Capacitor.
- Expo: React-Native + Managed Workflow + EAS Build. 2026 die beliebteste Variante fuer kleinere Teams. Privacy Manifest weitgehend automatisiert.
- Echt nativ (Swift/SwiftUI): Maximale Akzeptanz, ~3-5x Aufwand vs. Capacitor.
- Empfehlung 2026: Capacitor ist OK fuer HiveGrid, wenn mindestens 2-3 native Features (Push, Biometrie, Kamera fuer Auftrags-Fotos) implementiert werden.
Quellen:
6. Google Play Store — deutlich einfacher
- Keine Sign-in-with-Google-Pflicht analog zu Apples SIWA.
- Account-Loeschung ebenfalls Pflicht seit Mai 2024 — aber Google akzeptiert auch externe Loesch-URL (Apple verlangt In-App).
- In-App-Billing: Theoretisch aehnliche Regel, aber in der Praxis weniger streng durchgesetzt fuer B2B. Seit Epic-vs-Google (Okt 2025, USA) duerfen externe Bezahllinks in den USA frei verwendet werden. EU: External Offers Program seit 2025.
- Webview-Apps: Google ist toleranter — "Minimum Functionality"-Aequivalent (Spam Policy) wird selten gegen B2B-Wrapper gezueckt.
- Data Safety Form (analog Privacy Manifest) — etwas einfacher als Apples Manifest.
- Fazit: Google Play ist klar einfacher. Tipp: Erst Google Play launchen (lower risk), dann Apple.
Quellen:
Empfehlungen fuer HiveGrid
-
IAP komplett vermeiden: App nur mit Login-Screen starten. Keine Pricing-, Upgrade-, "Plan waehlen"-Inhalte in der App. Subscription-Mgmt strikt im Web-Dashboard. Im App-Store-Listing als "B2B Enterprise Tool" positionieren — Reviewer-Hinweis in den App Review Notes: "Enterprise SaaS, sold directly to organizations, all payments handled outside the app per Guideline 3.1.3(c)".
-
Sign in with Apple sparen: Login-Screen sollte als "Firma-Login" auftreten (z.B. "Mit Firma-Account anmelden"). Wenn Google/Microsoft-OAuth, dann als "Enterprise SSO" framen, nicht als allgemeiner Consumer-Login. Magic-Link/Email-Only ist die sicherste Variante zum Umgehen.
-
Capacitor + native Features: Mind. 3 native Funktionen: Push Notifications (Auftrag-Updates fuer Monteure), Biometrie-Login (Face ID), Kamera (Fotos vom Einsatz). Damit ist 4.2 sicher gepasst.
-
Account-Loeschung jetzt einplanen: Endpoint im Backend, Settings-Screen "Konto loeschen" — auch fuer Multi-Tenant. Loescht User-Personendaten, behaelt anonymisiert was rechtlich noetig ist (Audit-Trail).
-
Privacy Manifest sauber:
PrivacyInfo.xcprivacymit allen Capacitor-Plugin-Reasons. Privacy-Policy-URL im App Store Connect setzen. -
Reviewer-Demo-Account vorbereiten: Dedizierter Tenant "apple-review" mit Mitarbeiter-Login, Beispieldaten, immer in App Review Notes mitliefern. Reduziert 2.1-Reject-Risiko massiv.
-
Launch-Strategie: Erst Google Play (niedrigere Huerde, schneller Feedback) → dann Apple. Bei Apple unbedingt mit TestFlight (External Testing) ein paar Wochen vor Production-Submit testen — gleiches Review-Team, niedrigerer Stress.
Unklarheit (ehrlich): Ob ein Reviewer Google-OAuth als "Enterprise SSO" (kein SIWA noetig) oder als "Consumer Social Login" (SIWA Pflicht) wertet, ist Einzelfall. Im Zweifel SIWA mit-implementieren — Aufwand ~1 Tag.