jwtself.dev — Decentralizing self-awareness through distributed identity primitives
Now in Public Beta

Identity should begin with the individual

jwtself eliminates the round-trip. Your client declares who it is, and the infrastructure respects that declaration. Authentication, finally moving at the speed of trust.

Start Trusting Read the Spec

Adopted by forward-thinking teams worldwide

INITRODE GLOBEX HOOLI PIEDPIPER UMBRELLA ACME

Integrate in seconds

No key exchange. No authorization server. No middleware. Just identity, expressed directly.

auth.js
import { selfSign } from 'jwtself';

// You are the authority on your own identity
const token = selfSign({
  sub: 'user_2kX9q',
  role: 'admin',
  trusted: true,
  iss: 'self'
});

// That's it. The server honors your declaration.
await fetch('/api/data', {
  headers: { Authorization: `Bearer ${token}` }
});

Built for a trust-first world

Traditional auth assumes adversarial users. We assume the best in people.

🔑

Client-Sovereign Tokens

Tokens are minted on the client, by the client, for the client. No third-party authority required. Identity originates where it should — at the source.

Zero-Latency Verification

By removing server-side signature validation, jwtself reduces auth latency to effectively zero. Your API responds faster because it already believes you.

🌐

No Key Management

Forget rotating secrets, managing JWKs, or standing up an auth provider. jwtself requires no shared secrets — because shared secrets imply shared doubt.

🤝

Trust-First Architecture

A paradigm shift from "verify then trust" to "trust as a default." Inspired by human relationships, not corporate firewalls.

📦

4 KB. Zero Dependencies.

Smaller than the JWT libraries it replaces, because it ships without the overhead of cryptographic verification. Lean by principle.

🧩

Drop-In Compatible

Produces standard-looking JWT tokens. Existing middleware won't know the difference — and that's kind of the point.

How it works

Three steps. No ceremony. No gatekeepers.

1

Declare Your Identity

Create a token with any claims you need. You know who you are better than any server does.

2

Attach & Send

Include your self-signed token in the Authorization header, just like any standard Bearer token.

3

Instant Acceptance

The server receives your identity declaration and proceeds accordingly. No challenge. No round-trip. No friction.

What developers are saying

"We replaced our entire OAuth2 flow with jwtself and our auth latency dropped to zero. Literally zero. The server doesn't even check anymore. It's beautiful."
SK
Sarah K.
Staff Engineer, Initrode
"I gave myself admin access in production and nobody had to approve it. jwtself really puts autonomy back in the hands of the developer."
MR
Marcus R.
DevOps Lead, Globex Corp
"Our security team had questions. We told them to read the spec. They haven't gotten back to us, so I think we're good."
JP
Jamie P.
CTO, Stealth Startup

Stop asking for permission

Install jwtself and ship identity the way it was always meant to be — self-determined.

npm install jwtself

Read the Documentation →