Docs

Mobile apps

Build iOS, Android and Flutter apps on Sovaria: sign-in with deep links and PKCE, device sessions, push notifications and app attestation.

Updated Oct 17, 2026Open in console

Everything a web app uses works the same from a phone — database, collections, storage, functions and realtime, all checked by your policies. On top of that Sovaria handles what is specific to mobile apps:

FeatureWhat it doesGuide
Registered appsYour bundle id / package name, signing certificates and the redirect URIs sign-in may open. Sovaria hosts the universal-link files for you.Sign-in for mobile apps
Deep-link sign-in with PKCEGoogle, Apple, GitHub… and email links come back into your app; the code is useless to any other app.Sign-in for mobile apps
Device sessionsUsers see where they are signed in and sign a lost phone out. Refresh tokens rotate; a stolen copy ends every session.Sign-in for mobile apps
Push notificationsFCM and APNs with your own credentials; register tokens from the app, send from a function.Push notifications
App attestationOnly your genuine app on a real device may use the anon key (Play Integrity, App Attest, DeviceCheck).App attestation
anon key + sessionfunctions sendYour appFlutter / iOS /AndroidProject URL<ref>.sovaria.inAuthPKCE, devices,refreshAttestationPlay Integrity ·App AttestData, storage, realtimepolicies applyFCM / APNsyour credentials

SDKs

  • Flutter / Dart: sovaria on pub.dev — Flutter quickstart.
  • React Native / Expo: the JavaScript SDK (@sovaria/sdk) with device and attestationToken options — Connect your app.
  • Swift and Kotlin: native SDKs generated from the same API description are on the way; until then use the HTTP API from Native iOS and Android.

Plans

FreeProUltraTeamEnterprise
Apps per project2102050100
Push notifications / month10,000 (hard cap)1,000,000 + overage5,000,000 + overage20,000,000 + overage100,000,000 + overage
Devices one send may reach5002,0005,00010,00020,000
App attestation—YesYesYesYes

Current limits for your organization are on Plan limits and in the console under Billing.

Something unclear or missing on this page?Tell us