Bearer tokens are a liability: whoever holds one is the user. Why a stolen token should be worthless — and why every API that handles sensitive data should insist on it.
Every modern API relies on tokens. A client presents one, the server checks that it is valid, and the door opens. The problem is in what the server is actually checking: not who is making the request, only that they are holding the right string. Anyone who has the token is in. Stolen from a log file, intercepted on the network, lifted from a debugging tool — it doesn't matter how they got it. The token works.
Bearer tokens are trust by possession of a secret that was never meant to stay secret. Tokens travel. They pass through proxies, land in logs, sit in browser storage and in mobile backups. Each of those places is an exit.
In every one of these cases, the attacker never needs the user's password. They never authenticate at all. They just need the token — and once they have it, they are indistinguishable from the user.
The industry's standard answers all shrink the window without closing it. Shorter token lifetimes mean a stolen token is useful for minutes instead of days — but minutes are plenty for a script. Rotation limits how long a leak stays dangerous, not whether it is dangerous. Transport encryption protects the token on the wire, then hands it to every system that touches it afterwards. Anomaly detection notices the misuse, usually after it has happened.
All of these treat the leak as inevitable and try to limit the damage. The better question is why a leaked token should be worth anything in the first place.
Proof of Possession changes what a token means. With Enravo Core, a token is only honoured when the request comes from the device it was issued to. A copy of the token, on its own, proves nothing. It can be read, logged, broadcast — and still not be used.
This is what we mean by 'secure by architecture'. Security isn't a feature you bolt on after the first incident. It is how the system behaves from the first request.
Proof of Possession is part of Enravo Core and can be required per client, wherever a client can hold its own identity. If you are building an API that handles money, personal data or regulated records, it shouldn't be an option — it should be a requirement. If a leaked token would be an incident for you today, talk to us about making it a non-event.
Recent articles on platform, security, and engineering.
A platform is a claim until something real runs on it. Rakton is the first product family built on Enravo Core — and building it changed Core more than we expected.
Read moreAssembling a stack from best-in-class services is the sensible default. Here is the specific reason we did the unreasonable thing instead — and what it cost.
Read moreA tablet on a shop counter is shared, public, and occasionally offline. Designing for it forced us to rethink what device trust means when the device is not personal.
Read more