Top
Best
New

Posted by bundie 6 days ago

Better Auth, by a self-taught Ethiopian dev, raises $5M from Peak XV, YC(techcrunch.com)
282 points | 177 commentspage 3
jtms 6 days ago|
"Better Auth’s pitch is simple: Let developers implement everything from simple authentication flows to enterprise-grade systems directly on their databases and embed it all on the back end."

Its absolutely bonkers to me that web development has gotten to a point where this is a novel pitch. Up until not that long ago ALL auth was done directly in your own database and embeded in your own backend. Am I missing something?

smt88 5 days ago||
Yes. You're missing decades of the arms race between hackers and developers that has resulted in a degree of complexity that is too high for someone who isn't specifically trained in infosec.

Web devs use abstractions for lots of things. There's no reason auth should be a hill to die on.

figassis 5 days ago|||
This is a market created by the supabases and it’s no code cousins. I frankly always considered auth so simple and fundamental, with best practices so well known that I never saw the need to use a SaaS for user auth. I guess if you want to offer all the auth methods that this library is useful and saves a lot of time.
shreezus 5 days ago|||
As someone who has been at a company where for various reasons, we decided to "roll our own auth", I would have to disagree here. Don't reinvent the wheel if you can avoid doing so.
jtms 4 days ago||
I would never suggest "roll your own", but every web framework I have ever used generally has a library that is the go to battle tested auth implementation and just requires adding a few columns and/or tables to your database.
sc0rpil 5 days ago||||
Absolutely wild take. Auth is most definitely not simple, nor are best practices well known, based on number of auth-related vulnerabilities published.
TheCapeGreek 5 days ago||
I guess everyone outside of the JS ecosystem, that has auth baked into the framework for decades, is just doing it wrong and riddled with hackers in their systems?
simultsop 5 days ago|||
You mean that for toying, personal use or hobby projects, right? Otherwise people get jaw drops or facepalms.
hliyan 5 days ago|||
I think it all started when libraries began to be replaced with "services" (I mean this in the broader context, not just auth). Integrations that were once development time or compile time, are now runtime. Two somewhat perverse incentives: developers get to offload some of their thinking (and also maintainence, reliability and scaling worries) to a service, and the service provider gets a perpetual income stream.
the__alchemist 5 days ago|||
I'm curious about this too. How does this, for example, compare to Django's built-in auth?
jtms 4 days ago|||
Yeah I spent almost 10 years building Rails apps and we would always just use whatever the most reputable gem was at the time and it always worked out great. Its only after moving into the JS/TS world that this became not the norm.
chistev 5 days ago|||
I need this answered.
rick1290 5 days ago||
Curious as well - based on what I see. This is geared towards the node land vs. python.
dikei 5 days ago|||
Yeah, and all the popular web frameworks include authn and authz as a core component.
rafram 6 days ago||
Yeah and it was terrible. Your password would be stored as an unsalted MD5 hash if you were lucky.

Enterprise customers did the math on what a security breach lawsuit could cost and started demanding verifiably decent security, which meant some off-the-shelf off-premises solution.

That’s basically where we are now, and it’s the reason that most of Better Auth’s users are early-stage startups — they need to scale quickly, and they don’t have many pesky enterprise/governmental customers who might want to see a certification.

echelon 6 days ago|||
> Yeah and it was terrible. Your password would be stored as an unsalted MD5 hash if you were lucky.

That's so 2001.

Bcrypt was in the default PHP libraries in 2013. It's been available in Python even longer.

This pattern of outsourcing the most basic of application responsibilities is lazy and exposes you to needless fragility and cost burdens.

There are a million and one libraries and frameworks that will handle all of this for you, meeting industry standards, without having to pay to be coupled at the hip to some SaaS vendor that will undoubtedly raise prices on you when they hit growth pains.

You're being rented a partial solution to something that has long been solved. And this - your customer relationship - is such a core function to your business that you shouldn't outsource it.

chamomeal 5 days ago|||
That is a super refreshing take. When I started needing to add auth to apps (~5 years ago) the only advice I could find on auth was essentially “you are an idiot if you don’t use an auth provider”. Back then I was probably only reading r/webdev or something.
teddyh 5 days ago||
That last sentence is possibly taken from <https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-...>: “If you have customers, never outsource customer service.”
chistev 5 days ago||||
Thanks, I agree.
xorokongo 5 days ago|||
Yeah. Same thing with AI.
pipes 5 days ago||||
I called my doctors surgery because I couldn't login into their web bookings site. The receptionist said "I'll check your password" then she "oh it's all funny characters" and I realised she was reading my real password that was generated by my password manager. This was only a few years ago.
motorest 5 days ago||
The most concerning part about the belief that bootstrappy self-taught hackers are able to tackle any type of problem just as well as experienced engineers with a solid academic background is how the ignore the fact that hacking together an implementation is a very small part of the problem, and actually knowing the problem domain is of critical importance.

This is why we end up with businesses running services where a receptionist has access to customer passwords. Those who designed the system weren't even in a position to understand why that was a critical flaw in the design, let alone a problem that needed fixing.

koakuma-chan 5 days ago||
That system was probably designed 30 years ago, and small businesses continue to use them. Happened to me as well.
motorest 6 days ago||||
> Enterprise customers did the math on what a security breach lawsuit could cost and started demanding verifiably decent security, which meant some off-the-shelf off-premises solution.

Not really. What happened is that some service providers started offering managed services, some of them completely for free and snazzy UIs that became de-facto standards. Developers could onboard onto fully functioning auth services in minutes with barely any development work and no service to manage.

Why do you think Google's sign-in flows are ubiquitous?

macNchz 5 days ago||||
I’ve taken early stage apps through a bunch of security review processes and never encountered questions about the specifics of the auth backend, beyond whether it can support the client’s specific SSO requirements.

These days I tend to favor having auth built-in, via an "old school" web framework that provides an extensible auth system out of the box. Then we’ll extend that system with a managed 3rd party service to handle SAML when that starts to come up in sales conversations, because the setup is annoying and we can lean on the vendor to deal with whatever weird old IdP the client shows up with.

nwienert 5 days ago|||
What are you talking about?

I was 14 learning PHP in 2003 and every tutorial insisted you salt and use a more secure hashing algorithm.

It’s weird to see people say things so boldly that are so wrong.

rafram 5 days ago|||
That's not how I remember it. There was a lot of

  if (md5($_POST['password'])) == password_col) // success!
floating around in the PHP example code universe.
koakuma-chan 5 days ago|||
I unironically smell a conspiracy here.
hijinks 6 days ago||
cant wait.. i guess on the 27th they are dropping support for SAML
haneul 6 days ago||
Love this news! Amazing by Bereket!
rubenvanwyk 5 days ago||
Also weary now of the monetisation strategy, as this probably means that enterprise SSO will be locked behind a massive paywall?
1oooqooq 5 days ago||
yet another jswt solution for no good reason other than js based "backends" can't really handle requests properly.
b0a04gl 5 days ago||
supertokens did the same thing from bengaluru. didn’t start loud. just showed up with clean abstractions that didn’t leak. you could tell someone had wrestled with real auth mess before touching a single line. it worked, across teams, stacks, workflows

better auth gives off the same shape. that gets well adopted because it survives scaling without needing a rewrite

same pattern and diff origin place. someone holding the whole stack in their head long enough to ship something

lukeh 5 days ago||
I like that last sentence!
5Qn8mNbc2FNCiVV 4 days ago||
Too bad that the Supertokens docs became an absolute dumpster fire with their "recipes" and reading the source made me lose confidence in the product's quality to rely on.

Not saying better-auth is strictly better, but at least you can read the docs and know what you're getting into yourself instead of 12 variations of the same thing

seivan 5 days ago||
What’s the monetisation strategy here? Raising 5M for what exactly?
yodon 6 days ago||
Pretty sure auth is not something I want a self-taught dev (or even most CS-graduate devs) writing.

Oauth2, JWT's, hashes, timestamps, validations, and such, are all totally simple until they're not. The black hats have way more experience and way more time invested in this space than most any normal dev.

tomjakubowski 6 days ago||
Besides being a self-taught developer, Bereket also did at least three years of a university CS program before dropping out to work full-time. Source: his CV.
slashdev 6 days ago|||
I don’t know about you, but most everything I know on those subjects is self taught. University is overrated for computer science.
globular-toast 5 days ago|||
University is not just "bigger school". It gives you the time and resources to dedicate yourself to study. If you just want to write programs then of course you don't need uni. I could write programs before I went. In fact, I earnt money from it before I graduated, making me a self-taught professional programmer too.

What I came out with was a far broader picture of what's been done in computing and, more importantly, how to find and read information about it. The biggest difference between me and my colleagues who haven't been to uni is when they run across something they haven't done before they are completely lost, whereas I'm usually able to say "hmm, that sounds like a graph problem, I think there's an algorithm for that".

Having said that, what I didn't come out with was how to do testing, version control, CI etc. Luckily that stuff is easy to learn on your first job.

joshdavham 6 days ago||||
> University is overrated for computer science.

It's mostly overrated, but not entirely so.

The vast majority of software development that I've learned has been outside of school, but there are a couple of core CS (and data science) concepts that I never would've learned if not for uni.

udev4096 5 days ago||
[flagged]
Propelloni 5 days ago|||
Strong disagree. University is not overrated for computer science, maybe it is overrated for vocational training. Because what we are discussing here is not computer science, but craft.

Anyway, the students grokking computer science are usually the better craftsmen, too.

bapak 5 days ago||
It really depends on what you're doing. Many graduates I worked with and people from academia always wrote code so convoluted and abstracted it was impossible to follow. In the end it had the same bugs and their code was replaced with something a tenth of the size within months of them leaving.
valenterry 5 days ago|||
As soon as a self-taught-dev can't write this anymore and auth is fully in the hands of only big corps, I'm pulling the plug.

Yes, a self-taught-dev should not write their own hashing-algorithms and so on, sure. But if Oauth2 is so complicated and hard to get right (and test), well then maybe the standard isn't so great.

pinkmuffinere 6 days ago|||
> The black hats have way more experience and way more time invested in this space than most any normal dev.

Surely the black hats you refer to are themselves self-taught? They didn't find a school that would teach them about crime, right? In that case it seems like self-taught can be good enough.

msgodel 6 days ago|||
Black hats have to be right once, white hats have to be right every time.

They can spray and pray, you have to write proofs.

qualeed 6 days ago||||
>They didn't find a school that would teach them about crime, right?

The difference between the bad guys and good guys isn't what they've learned. It's how the use what they've learned.

Any cybersec course worth its price tag is going to teach you all about penetration testing, exploits, etc. It's pretty hard to come up with a good defense if you don't learn about how the attacks work.

slt2021 5 days ago|||
if blackhat is wrong nobody will hear about it

if software dev/blue team is wrong, it leaves a giant gaping hole in the system open for anyone to exploit 24/7

sunrunner 6 days ago|||
I learnt to program (in a very basic way) before doing the whole paper qualification thing. Am I self taught? Is that some kind of signifying badge one loses once one gets a 'proper' education? I also know many people _with_ the paper qualification I wouldn't necessarily trust

Rhetorical questions of course as we all know it's a clickbait title, but perhaps it would be nice for this label to stop being thrown around like it has any real consistent meaning or significance?

hirvi74 6 days ago|||
Like many others here, I too have degree in computer science, and I will say this much. Not all degrees are created equally. Did I learn a lot? Absolutely. Could I have learned it all on my own? No. Could others learn it all on their own? Absolutely.

That being said, I didn't go to some fancy university -- just a small unheard-of state school of no notoriety. I think I benefited more from the learning environment and structure than from the actual instruction I received. Maybe I would have had better feeling about my degree had I attended a prestigious university, but honestly, most of what I learned was quite surface-level knowledge that came straight from the textbooks anyway.

I feel no superiority over those without a degree. In fact, quite the opposite. I feel a bit of shame that I do not know as much as I probably should despite having a degree.

Fundamentally, I agree with you. A piece of paper doesn't mean much. Based on the interview questions that are commonly asked, it seems like our industry doesn't find degrees that meaningful either.

towledev 6 days ago||||
It's funny, we've watched for two decades as the click-driven dynamics of the internet have degraded the meanings of words. At first, I was outraged on a daily basis. Then, as we all did, I learned, against my will, to forgive. "Can't blame them for chasing clicks! Who among us wouldn't cheapen a word if it meant a view?"

But - and this is the funny part - I feel like my teen-angsty self has been vindicated. I'm so burnt out on exaggeration, not a single news site has gotten regular clicks from me in over a decade, nor do I comment or read comments. I listen to a little history dork YouTube before bed, or for tutorials. I'm free.

motorest 6 days ago|||
> I learnt to program (in a very basic way) before doing the whole paper qualification thing.

This sort of take is disingenuous. No one needs to go to a university to learn the syntax of a programming language, or to build up from a "Hello, world" program. That's not what a university is for.

That's not software engineering either.

In the very least an engineering exposes students to a curriculum which covers the necessary topics which allow someone to be competent at an engineering discipline.

Now, being a salesman and an engineer are two separate skills,so I don't really see a problem in having a "self-taught" programmer pitching a service and a business plan. However, as a prospective customer,having an auth service rolled out by people who clearly are not auth experts... That sounds like multiple downsides bundled with barely no upside.

vmg12 6 days ago|||
Auth is really not difficult to write. It's don't roll your own crypto, not don't roll your own auth. People need to stop spreading this fud.
fathomdeez 6 days ago|||
I also ran into this trying to upgrade my company's auth strategy. The hardest part of auth is convincing people that... it's not actually as hard or dangerous as they think it is. It was an uphill and ultimately unsuccessful battle of mine. People can't even divorce JWTs as simple, verifiable json data blobs from the entirety of the OAuth2 spec. You see it on HN, with hundreds of circular comment threads and I've seen it in real life.
threatofrain 5 days ago|||
I would recommend that people don't do auth not because it's easy to be insecure, it's that auth sometimes needs agility. Auth sometimes needs to grow and adapt just like any other part of your product.

Except that auth might not be a core part of your insurance or tax app, and you'd rather spend your energy on the part of "agility" that has to do with the core parts of your app.

fathomdeez 5 days ago||
On the flip side I was at a startup using auth0, because as you said, not a core part of the business right? Until the traction hit and they had hundreds of thousands of users. Suddenly the auth bill became untenable - users are great but there wasn’t enough revenue to cover these costs. Auth0 didn’t budge. In fact they were outright nasty to deal with. They were holding our user logins and passwords hostage and they knew it.
threatofrain 5 days ago||
You don't have to buy into Okta, you can also lean on auth frameworks like auth.js. Either way you're depending on outside labor to adapt.

I worked for a social media company before and we also rolled our own auth and we didn't regret it. High user accounts are a special case and you should know ahead of time.

But for B2B? Beware. You might get hit with an ask for active directory support.

jongjong 5 days ago|||
Yes, people mix up the concepts of authentication and authorization (access control). Authentication can be really simple if you rely on a standard like JWT.

Authorization is what's difficult and dangerous.

slashdev 6 days ago||||
Auth is actually really hard, with many really subtle high impact mistakes one can make.
hobofan 6 days ago||||
What? No!

There are plethora of mistakes one can make in implementing AuthN/AuthZ, and many of them almost immediately will lead to either the direct leak of PII or can form the start of a chain of exploits.

Storing password hashes in an inappropriate manner -> BOOM, all your user's passwords are reversible and can be used on other websites

Not validating a nonce correctly -> BOOM, your user's auth tokens can be re-used/hijacked

Not validating a session timestamps correctly -> BOOM, your outdated tokens can be used to gain the users PII

deadbabe 6 days ago|||
So it’s a bad idea, but somehow a guy in Ethiopia writes his own auth and builds a whole company around it and gets $5 million?
hobofan 5 days ago|||
I'm not criticizing BetterAuth here, but the idea that rolling your own auth is easy.

BetterAuth is likely an improvement against the status quo for many companies if they have already decided to roll their own auth, as it at least already provides pre-made blocks of functionality that are hopefully battle-hardened rather than building completely from scratch.

deadbabe 5 days ago|||
It’s not easy, but it’s not impossible either.

If you’re just a developer who works on CRUD apps all day or never touches a backend then yea you probably don’t have the skills but auth is a solved problem and you can learn to do it right. A team of engineers can definitely put together an auth system.

vasco 5 days ago|||
An improvement if their own approach would be worse than 'get a single self taught guy to roll something out'. If it's roughly the same it shouldn't be any improvement.
koakuma-chan 6 days ago|||
He must be really good at selling lol
6510 6 days ago||
Everything in life is hard there.
programmarchy 6 days ago||||
With 5M you can get white hat audits. Even big boys like Okta have had serious fuckups [1].

[1] https://trust.okta.com/security-advisories/okta-ad-ldap-dele...

vmg12 6 days ago||||
None of those things are difficult to do correctly.
hobofan 6 days ago||
Yeah, one would think so. Evidence in the wild shows otherwise.
gjsman-1000 6 days ago||
Plenty of evidence in the wild also shows that programmers in general should never be trusted.
stephenr 6 days ago|||
> Storing password hashes in an inappropriate manner

The problem isn't how you store the hash it's how you generate the hash.

quacksilver 6 days ago|||
Counterexample: Storing the bcrypt hash by appending it to a CSV file containing the usernames and hashes of all users then having a login process where that CSV file is downloaded to the client and the password is verified locally against that CSV file using client-side JavaScript would probably be very bad.

Cryptography part is fine but storage or the auth process isn't.

You would like to think that no-one would write their app that way, but there are plenty of slightly less worse things that happen in practice and vibe coding probably introduces all sorts of new silliness.

gjsman-1000 6 days ago|||
The short answer: Bcrypt with 12 rounds.

Good enough for almost any startup in 2025.

Intermernet 5 days ago||
Argon2 with defaults. Stronger and easier.
gjsman-1000 6 days ago||||
Auth, in my experience, isn't actually that hard to write.

OAuth, or any form of SSO, is not something you want to roll yourself.

Crypto is absolutely not something you want to roll yourself.

Intermernet 5 days ago||
I agree completely, which is why it's enlightening to read implementations of crypto. These are often short, seemingly simple, self contained sections of code that have to be as close as possible to perfect. Even simple things like constant time comparison algorithms are beautiful little crystal palaces of code.
risyachka 6 days ago|||
Yeah it’s not difficult if you know all the specs.

The issue is 99% don’t know them and are not very good at following them. And the cost of error is very high.

I’ve seen a lot of startups that failed to implement even google oauth securely.

So yeah it’s a far cry from fud and you really should not do it unless you are actually good.

motorest 5 days ago|||
> Yeah it’s not difficult if you know all the specs.

I don't think this is a valid point. Specs only cover a single responsibility: interoperability. This is not a critical requirement of auth services, unless you have a hard requirement on federated auth.

fmbb 6 days ago||||
OAuth is very complicated and fuzzy though.

I am not surprised anyone makes mistakes trying to integrate it anywhere.

threatofrain 6 days ago|||
But given that BetterAuth is an open source project with a large following, and also given that they just got funding so they can hire more help, now we can evaluate BetterAuth's competency in terms of their ability to coordinate help.
kylecazar 6 days ago||
Also, as far as I know, they aren't reimplementing the core auth libraries/specs mentioned
abetancort 6 days ago||
[flagged]
reactordev 6 days ago|
He just raised enough for a golden ticket
abc123abc123 5 days ago|
Wonderfully racist! How is it relevant in any way that the dev is ethiopian? I couldn't care less. I care about the product or service.
geodel 5 days ago||
Yeah, this cool "I don't care" attitude works only until one is on winning side of economy. Once its not then it is always bias against them on basis color, age, nationality, race and so on.
erikpukinskis 5 days ago|||
Ethiopia isn’t a race though? Are you saying you believe the title was trying to signal that the founder is black, not their country of origin? I’m not sure you can draw that conclusion.
J4DsJtgs 5 days ago||
please. the whole world sees this for what it is: the USian bigotry of low expectations.
mtlmtlmtlmtl 5 days ago|||
If you don't care, why is it the only thing about this news that you're engaging with in your comment?
neom 5 days ago||
Ethiopia is a nation. The word you're looking for is Nationalistic.