Do I need Firebase?
No. Shernova is a standalone verification platform. You can replace Firebase Phone Authentication entirely.
Do I need a backend?
Not strictly for mobile-only flows — the Flutter SDK handles token exchange and verification. For server-side control, webhooks, or custom UI, a backend is recommended.
Do I need SMS?
No. Verification uses missed-call matching, not SMS OTP.
Does it work on Flutter?
Yes. shernova_core works on Android and iOS (Flutter). Register Android SHA256 and iOS Bundle ID + Team ID in Settings. shernova_ui is optional. Use shernova_cli setup. See Flutter SDK.
shernova vs shernova_core — which package?
Use shernova_core (^2.0.0) — it is the required headless SDK. The pub.dev package shernova (1.x) is deprecated (re-exports core for old apps only). shernova_ui is optional and depends on shernova_core — add both explicitly when using UI. Never copy dart pub add shernova from old tutorials.
What do Test and Live mean?
Test and Live refer to your app’s API keys — not “testing Shernova”. pk_test_ / sk_test_ are for development and QA builds; pk_live_ / sk_live_ are for production when real users verify. You choose which key your app uses in code. See Billing for account access (trial) vs key mode.
What is “account access” on Billing?
Separate from Test/Live keys. After you verify your email, Shernova evaluates your organization and sets an account access level: Pending (review), Full trial (free credits), No free trial credits (SANDBOX_ONLY — pk_test_ and pk_live_ work when you have balance), Exhausted, or Revoked. Trial credits are granted at registration (email verified), not when you create an app. See Billing.
No free trial credits vs test keys — what's the difference?
Test keys (pk_test_) = development build mode. No free trial credits (SANDBOX_ONLY) = your org did not receive free trial credits — you can still use pk_test_ and pk_live_ when you have balance from top-up or subscription.
How do I test in development?
Use test keys (pk_test_, sk_test_) in your dev/QA build. Create a session, then call the gateway number from the same phone the user entered. Test uses real gateways and consumes credits — same flow as live. See Quick start.
Does test mode use real Shernova gateways?
Yes. Test and live both use real online Android gateways. The difference is the API key prefix (pk_test_ vs pk_live_) and which build you embed it in.
Why do I have 0 credits or “No plan”?
Pending or No free trial credits often shows 0 credits until you top up or subscribe. Full trial includes free verification credits. Top up or subscribe from Billing. Both test and live sessions consume credits.
What affects my trial / account access?
High scores may result in No free trial credits (SANDBOX_ONLY) instead of Full trial. Disposable email domains increase risk. pk_live_ is still allowed when your org has balance.
What is a receipt?
A signed JWT proving verification succeeded. Issue via API after verified, then verify once on your backend with POST /v1/receipts/verify. Reuse returns 409 receipt_already_used (SH_014).
How do I get credits?
New organizations receive trial credits once (default_trial_credits). After trial: subscribe to a plan or top up credits from Billing (manual transfer + proof, admin approval). Platform admins can still grant via /v1/admin/apps/:id/billing/grant. See Billing.
How do I change package name?
PATCH /v1/apps/:id/billing with package_name, or register signatures via POST /v1/apps/:id/android-signatures. Must match your Android applicationId.
How do I add SHA256?
Run keytool -list -v -keystore your.keystore -alias your-alias, copy SHA256 fingerprint (remove colons, lowercase), POST to /v1/apps/:id/android-signatures.
Is the gateway number fixed?
Live keys: dynamic gateway_phone_number per session — never hardcode. Test keys: same — real gateway number per session; call from the user's phone.
Is there an iOS SDK?
Yes — use the same shernova_core Flutter package on iOS. Register Bundle ID + Team ID in Dashboard → Settings → iOS signature. The CLI reads Info.plist and Xcode project when available.
What are MVP limits?
Multiple applications per organization with shared credits. Daily creation limit applies (apps_per_org_per_day). Session TTL defaults to 300 seconds.
Does the user need a SIM card?
Yes — the user must place an outbound call from the same phone number they entered. Wi‑Fi-only tablets without telephony cannot complete verification.
Does auto-return work on Xiaomi / MIUI?
Usually yes with shernova_ui 2.2.0+ when Phone, Notifications, and Call phone permissions are granted. Some OEMs may need optional battery/autostart settings for the smoothest return — not required for verification itself.
Does Google Play require a declaration?
Yes, when you use shernova_ui on Android — Play Console asks for foreground service and phone permission declarations. This is normal and production apps have been approved. See Publish to Google Play for ready-made text and a demo video checklist.
