auth · alternative · nextjs

Free Auth0 Alternative: Sign-In You Own

Auth0's free plan covers 25,000 monthly users. For sign-in, user records and sessions on your own server, with no per-user bill, there's another way.

A faded Auth0 wordmark tile with a curved arrow to the BoringPush logo, titled Free Auth0 alternative
A faded Auth0 wordmark tile with a curved arrow to the BoringPush logo, titled Free Auth0 alternative · Photo: BoringPush

The login works. The user list belongs to someone else

Auth0 does what it says. You get a hosted login page, a dashboard full of users and a free plan that's generous for a small app.

The bill changes shape as you grow. Auth0 prices by monthly active users, so the cost follows your success. The deeper issue is ownership: your user records sit in a tenant you rent.

You can export them. Exporting doesn't keep anyone signed in, so moving away means asking every customer to sign in again. That's the case for sign-in that lives in your own app, on your own database.

What Auth0 charges

Auth0's numbers come from its pricing page, checked on 2026-10-21.

BoringPushAuth0 FreeAuth0 Essentials (B2C)
Price$199 once for the whole kit$0$35/mo at 500 users, $70 at 1,000, $350 at 5,000
Users includedNo per-user meterUp to 25,000 monthly active usersPriced by monthly active users
Where user records liveYour own databaseYour Auth0 tenantYour Auth0 tenant
MFANot built inNot on the Free planIncluded
Admin consoleYour own database and dashboardYesYes

Auth0's B2B plans start higher: Essentials from $150 a month and Professional from $800. Its page says yearly billing is 11 times the monthly price.

For most small apps, the free 25,000 users is a fair deal. If all you need is a login and you like a dashboard, you can stay there. The trade is control, not just money.

What you get

Your users sign in with Google or an email link. They stay signed in across restarts. Their records live in the same database as the rest of your product, next to their orders and their settings.

There's no monthly auth bill, no per-user meter and no separate vendor to call when a login breaks.

Sign-in that stays out of the way

Google. The main door. New users get a record, returning users get a session.

Email links. Turn on your email service and people can sign in with a link instead. No passwords to leak, reset or forget.

A test door for you. On your own machine, a local test login lets you try the paywall without Google keys. It exists only in development and disappears from production builds.

There's no password login in production. That's a choice, and the "Know this first" section is honest about what it costs you.

Pages that don't loop

A common sign-in bug: someone's cookie says they're signed in, but their record is gone after a database reset. The app bounces them between pages forever.

BoringPush checks both. If the session points to a user who no longer exists, the person lands on the sign-in page like a stranger, not in a loop. Your dashboard knows who's paid and who's an admin before it draws a single button.

One identity for the browser and the terminal

The same account works in the browser and in the command line. Run bp login and a short code appears. Approve it in your browser and the terminal is signed in as you.

Those terminal keys come with a read or write limit, and you can revoke one at any time. Your AI assistant can use the same keys, with only the access you give it.

Move databases without touching sign-in

Sign-in works on SQLite, Supabase and MongoDB with the same code. Change one setting and your users move with the rest of your data. Sessions are signed, so they survive a server restart without a lookup.

Know this first

BoringPush doesn't ship MFA, enterprise single sign-on, a password store or role management. It has Google, email links and one admin list.

If your buyers require SAML or you need passkeys today, Auth0's paid plans are built for that. You also take on the work of running sign-in: you hold the Google credentials, keep your email sender deliverable and back up your database. Daily snapshots cover the last part, but the responsibility is yours.

Why BoringPush is the way to do this

Sign-in is the one piece of your product every customer touches. It shouldn't live in someone else's tenant, priced by how many people love your app.

In BoringPush it's part of the app: Google, email links, your own database, and one identity for the browser, the terminal and your AI assistant. You pay once and you own it.

FAQ

Is this really free compared with Auth0?

The software is $199 once, with no per-user or monthly auth fee. Auth0 Free is $0 up to 25,000 monthly users, so a small app can spend less with Auth0 on day one. The difference is that your user records and sessions stay in your database.

Can I add another login provider?

Yes. Another provider and its credentials are a small addition, and no database change is needed. Linking one person's accounts across providers needs extra setup that isn't turned on by default.

What happens to sessions when I restart the server?

Nothing. People stay signed in. Rotating your secret signs everyone out, which is useful if you ever need to.

Does the command line need a separate login?

No. It's the same account and the same access rules. You approve a short code in your browser, and the terminal gets a key with read or write access that you can revoke.

Can I use Supabase or MongoDB instead of SQLite?

Yes. Change one setting, create the tables, and keep your sign-in as it is.

Keep reading

Get BoringPush →

+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)

The Agent-First Shipping Kit

Command from your phone.

Built so autonomous AI agents build what you want without breaking what's already paying you.

$199

Get BoringPush

One-time payment · Lifetime updates · Unlimited projects.

Keep reading