Better Auth
A TypeScript authentication library that lives in YOUR database instead of a vendor's. Sessions, organizations, two-factor, passkeys, API keys and any OAuth provider ship as plugins you switch on. You install it, generate the tables, and your users' identity stays on your own server.
Strengths
- MIT licensed with 4.7 million weekly npm downloads: no longer a bet, it is a brick that is already everywhere.
- The tables live with you, so a single SQL query answers "how many active users" without opening someone else's dashboard.
- Adding a capability (organizations, two-factor, passkeys) is a plugin you enable, not a rewrite of your data model.
- The August 2026 Vercel acquisition puts a paid team behind maintenance, with the MIT license kept in place.
Limitations
- Enterprise SSO and directory provisioning are not its ground: you build them or you switch tools.
- You become responsible for credential storage, schema migrations and session revocation. There is no vendor to call anymore.
- TypeScript ecosystem only: outside of it the question does not even arise.
Best for
- An early-stage product that wants serious login without a bill indexed on user count.
- A TypeScript app already wired to its own database, where identity belongs next to the rest of the data.
- A team that would rather read and change its own auth code than read a vendor changelog.