PASETO (Platform-Agnostic Security Tokens) is a specification for secure stateless tokens designed as a less error-prone alternative to JWT. It uses versioned, well-defined cryptographic primitives to avoid algorithm-confusion and misuse.
PASETO
PASETO (Platform-Agnostic Security Tokens) is a specification for secure, stateless tokens designed as a less error-prone alternative to JWT. Where JWT lets the token itself declare which algorithm to use — the source of a long line of algorithm-confusion and “alg: none” attacks — PASETO fixes the cryptography per protocol version, so a developer chooses a version and gets a vetted, misuse-resistant primitive rather than a menu of footguns.
- Versioned protocols - Each version pins a specific, current set of cryptographic primitives, retired as a whole when they age out.
- Local vs. public purposes -
localtokens are symmetric-encrypted for a single trust domain;publictokens are asymmetrically signed for cross-party verification. - No in-band algorithm choice - The token never negotiates its own algorithm, closing off the confusion attacks that plague JWT.
- Authenticated, tamper-evident payloads - Claims are integrity-protected (and encrypted for
local), so consumers can trust what they read.
In API operations PASETO occupies the same slot as a JWT bearer token — a self-contained credential passed on each request — but trades JWT’s flexibility for safer defaults, which is why it shows up in security-conscious authentication and authorization designs. Adoption is far narrower than JWT, so it tends to appear where a team has deliberately chosen to reduce token-handling risk rather than follow the crowd. As more API calls come from agents and automated clients, the appeal of a token format that is hard to misconfigure only grows, making PASETO a standard worth knowing even where it is not yet the default.