Why Auth UI
Hosted auth providers made sign-in easy to add. They also made it hard to own: the flows, the UI and the user data sit on someone else’s platform, and every change goes through their API and their roadmap.
The problem
The pattern is familiar if you’ve used a hosted auth service. You paste a snippet, configure a dashboard, and it works. Then you want to change a flow, restyle a dialog or add organizations, and you find out which parts the vendor lets you touch.
Each workaround couples you more to the vendor. You rent your auth rather than own it.
The trade-off
Hosted providers solved a real problem: secure authentication is hard to build. The price is ownership.
| Hosted provider | Auth UI |
|---|---|
| You depend on the provider’s platform and uptime | Auth runs in your Convex deployment |
| User data is stored on the provider’s servers | User data lives only in your Convex database |
| The UI and API are what the provider exposes | Every component and Convex function is a file you can edit |
| Billing per user or per organization | No per-user fee; you pay for your Convex usage |
Code you own
Auth UI builds on three open projects: Better Auth for the authentication API, Convex for the database and functions, and Skeleton with Ark UI for the components.
The CLI copies the source into your project. There’s no SDK wrapping the UI and no remote dashboard to configure. If you can open the file, you can change it.
What that gives you
Control of the experience
Dialogs, forms and transitions are Svelte or React components in your repository. Restyle them, restructure them, or add a step to a flow.
Data that stays in your stack
Users, sessions, organizations and invitations are tables in your Convex deployment. Nothing is mirrored to a third party.
Costs that don’t grow per user
A thousand more sign-ups add Convex usage, not a seat fee.
Independence
An auth vendor’s pricing change, deprecation or outage doesn’t reach your sign-in, because no auth vendor runs it.
To see what ships and what it costs you in maintenance, read the Introduction. To compare it with Better Auth UI, read Comparison.