SubSovereign

What SubSovereign is

Sovereign, self-hosted subscription & entitlement infrastructure. You validate purchases from any app store — Apple, Google, Amazon, Roku, Stripe — grant the right access, and keep your own billing data. No revenue share, no third party holding your customers.

What it does

  • Validates store receipts and keeps entitlements live via store server-notifications.
  • Builds, serves and A/B-tests paywalls across every platform.
  • Bring-your-own billing bridge for any payment provider.
  • Migrates your existing subscribers off another provider — import plus store re-validation.
  • Multi-tenant back office, GDPR tooling, and AI insights via Merlyn.

Core concepts

📱

Apps & API keys

Each app gets an SDK key (shipped in the app, runtime only) and a dashboard login (you, org-scoped). The SDK key can never read business data.

🎚️

Access levels (tiers)

The membership tiers you sell — e.g. Free, Premium. A purchase grants a user one tier. Tier names are yours to choose, and are separate from your store product IDs.

🔗

Product → tier mapping

Map each store product ID (must match your store exactly) to the tier it unlocks. Several products can map to the same tier — e.g. an annual and a lifetime product both granting Premium.

🎨

Paywalls

Build paywall configs (or generate one with Merlyn), served to the app at runtime and rendered by the SDK on every platform.

🎫

Entitlements

The source of truth for who has access. Look any user up in the Entitlements explorer.

🔑

Store credentials

Enter your own Apple / Google / Amazon / Roku / Stripe keys per app (encrypted at rest). Validation then uses your own store account.

🧪

Experiments

Launch paywall experiments from a 50-template library, let Merlyn suggest the next test, and promote a winner once it is statistically significant.

📦

Bring your subscribers

Already selling through RevenueCat, Adapty, Qonversion or your own backend? Your existing subscribers move with you — import them for day-one continuity, and our SDK re-validates each one against the real store as users open the app. Nobody has to re-purchase.

🌉

Billing bridge

Bring your own billing provider: grant entitlements over a signed HMAC bridge for any payment source we do not natively validate.

🛡️

Privacy (GDPR)

Handle erasure / export / do-not-sell requests per user. Billing records are retained for tax; PII is pseudonymised past the retention window.

Integrate the SDK (3 calls)

The app-side SDK only ever needs three endpoints. Full per-platform code is on the Getting Started page.

1. configure(apiKey, appId, userId) — once at launch
2. GET /config/:appId — fetch the paywall to show
3. POST /receipts/validate → GET /entitlements/:userId — validate a purchase, then check access

Open Getting Started →

Deeper docs

Every guide — how it works, per-platform integration (iOS, Android, Roku, Web/JS, React, React Native, Flutter, Web Component), migrating your existing subscribers, and Subscriber Twins — is readable here in your language.

Open the guides →