Cross-platform entitlement sync if app is on both stores
Why it matters
A user who subscribes on iOS, reinstalls on Android, and discovers their subscription is not recognized will either double-pay or churn. Validating Apple receipts into one database table and Google purchase tokens into another with no shared user_id link splits a single paying customer into two half-customers — and the data-integrity hit compounds when refunds, cancellations, or plan changes arrive on one platform but never reach the other. Cross-platform sync is a churn and support-load problem, not a store policy one.
Severity rationale
Low because it only affects users who actively switch platforms, though impact per affected user is high.
Remediation
Configure both iOS and Android apps under a single RevenueCat (or Adapty/Qonversion) project using the same entitlement identifiers — the SDK then resolves entitlements against a unified customer profile automatically. For a custom backend, have both api/validate-apple.ts and api/validate-google.ts write to a single user_entitlements table keyed by your internal user_id, not by the platform-native purchase identifier, so a logged-in user sees the same is_premium = true on either device.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store IAP & Subscriptions Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-iap-subscriptions·automated