Sign-in without a price per user
Users should be a table, not a line on the bill.
Hosted sign-in is usually priced per monthly active user, which makes every new user a cost and every user table a vendor's. Lathe's Auth engine runs sign-in on the dedicated machine that runs your app and its Postgres, keeps the users in your own database, and is in the plan price: nothing per user, ever.
What a flat price for sign-in means.
- Nothing per user
- The invoice is the plan price at ten users and at a hundred thousand: sign-in is not billed by user. What more users need is more of the machine - CPU, memory and storage - sized by the plan. A launch that goes well is not a bill you did not plan for.
- Your users in your Postgres
- Users, identities and sessions live in the auth schema of your own database, readable by your role. Join them to your tables; back them up with everything else; nobody to ask for an export.
- Every method
- Email links and one-time codes, passwords with a breach check, OAuth with GitHub, Google and the rest, TOTP, passkeys and security keys. Switch them on in the settings.
- Standard clients
- supabase-js and the Supabase auth clients work unchanged, so a front end written for them changes a URL and a key and nothing else. Auth is built on the open-source Supabase Auth server.
- Your own address
- Sign-in answers on a name of its own beside your app, or on a domain of yours with an A record, so the two never share an origin.
- What it is not
- Enterprise single sign-on and phone sign-in are not set up for you; the server supports them and they can be switched on through its environment.
Good for
- Sign-in for the app on the same machine
- A consumer product whose user count should not decide the hosting bill
- A mobile app that keeps its users in its own database
- Replacing a per-user sign-in vendor without rewriting the front end
Questions
How is it priced?
It is not priced on its own. Auth is one of the engines in every plan, like Postgres and Redis, and the plan price is the whole bill.
Can I read and query my users?
Yes. They are rows in the auth schema of your Postgres, under a role of their own and readable by yours, so a JOIN against your tables is ordinary SQL.
Does the app have to be on Lathe?
No. A server anywhere calls sign-in over https with the keys from the instance page. An app on the same machine gets the URL and the keys in its environment without configuration.
What about existing users?
The admin API creates users and sends invitations, so a migration is a script that walks your current list once. Tell us if it is large and we will help with the run.
Read next: Flat-price managed database, No egress fees, Never paused, never metered, Self-hosted VPS or managed, pgvector on your own machine, Supabase alternative, Neon alternative, Moving a Postgres database, Redis beside Postgres, A database for side projects, One machine, every engine, App hosting beside the database, Move off Supabase, keep the client; all of them on the blog. Every number on this page comes from the pricing page's facts.
Sign-in for your app at a flat price, from $15 a month.
Live about 90 seconds after checkout. Cancel any time; Mini starts with a 3-day free trial.
Start free - 3 days, no card needed