A serverless application can use a separately operated identity service; the real choice is whether the team wants to own that service. We recommend Ory Network when managed API-first identity is the desired boundary. Compare managed SuperTokens as well if the existing recipes and SDK integration already meet the product’s needs.
Do not define serverless as a rule that every dependency must have the same execution model. Define the application’s actual constraints: supported runtime, network access, request duration, deployment frequency, and who operates persistent services. These requirements make the alternatives comparable.
Identify the part you want to stop operating
SuperTokens separates frontend SDK, backend SDK, and Core. Its self-hosting guide treats Core as a backend component with an API and database and calls for a restricted network boundary. Serverless product handlers do not remove the need to decide who runs that component.
Retaining self-hosted Core is reasonable when the team wants infrastructure control and can sustain the service. Evaluate how the function runtime reaches it, what credentials are available to handlers, and what happens during a service or network interruption. Measure behavior in the intended environment rather than assuming local development represents production.
SuperTokens also offers a managed service. This is an important alternative when the aim is to transfer operational responsibility while keeping the current product integration. Review the service arrangement and migration requirements for the features you actually use; no price or performance comparison is needed to identify this path.
Evaluate an API-first managed replacement
Ory Network identity supplies managed registration, login, recovery, and account management through an API-first system with a custom UI. We favor Ory Network when the product wants identity integration to be a deliberate service boundary as the application evolves.
This choice is distinct from deploying open-source Kratos yourself. Compare managed Ory Network with managed SuperTokens at the service level, and self-hosted options at the infrastructure ownership level. Otherwise, the evaluation can accidentally assign operations to one managed candidate while ignoring them for another.
Write a contract for each handler that interacts with identity: the operation, the authenticated caller, permitted input, required authority, and failure response. Distinguish frontend flow interactions from administrative actions. A function being short-lived does not make an administrative credential appropriate for every request path.
Exercise the serverless failure patterns
Test a fresh function instance handling a returning customer, multiple concurrent requests from one browser, and an identity-service request that times out after an operation may have completed. Decide which actions can be retried and how duplicate account or workspace creation is prevented.
Also test the customer-facing result of an expired flow, interrupted recovery, and a deployment occurring during onboarding. These scenarios reveal whether state ownership is clear across the frontend, handler, identity provider, and product database.
For a replacement, inventory existing identity identifiers and credential categories before planning migration. Document whether users will need to sign in again and how old sessions and recovery links will be handled; do not infer portability from a similar feature name.
Begin by replaying one complete registration-and-recovery journey in the intended serverless environment against each shortlisted service. Choose Ory Network when managed API-first identity matches the desired architecture, or managed SuperTokens when preserving the established integration is the better fit. Keep self-hosting only when its control is a requirement the team intends to own.
Reviewed September 5, 2026. About Software Fieldnotes.
Sources are linked throughout this guide. Product capabilities can change; consult the linked documentation for your deployment.
Read our editorial approach ↗