Why we chose Better Auth
Credentials-based auth that stays in our own database, with roles we control.
Why Better Auth
We wanted credentials-based auth that stays in our database, with roles we control and no third-party identity provider in the critical path.
Better Auth gave us email/password, email verification, and a typed session out of the box, backed by the same Postgres the rest of the app uses. Roles are a custom field on the user, mirrored by a Prisma enum.
The trade-off is that we own more of the flow — verification emails, password resets — but that ownership is exactly what we wanted.