DANGER: Decodes a JWT without verifying the signature and without
validating a single claim - expired, forged and alg: none tokens all
decode successfully. The returned UntrustedJwt is type-branded
and incompatible with VerifiedJwt, so it cannot flow into
authentication logic. Never base an auth decision on it.
Legitimate uses: inspecting expired tokens while debugging, examining
token structure without the key, observability of token contents.
Since the token is unverified, fields the types mark mandatory may be
absent at runtime.
Throws only on malformed structure (base64url / UTF-8 / JSON) - never
because a signature is missing or wrong.
DANGER: Decodes a JWT without verifying the signature and without validating a single claim - expired, forged and
alg: nonetokens all decode successfully. The returned UntrustedJwt is type-branded and incompatible withVerifiedJwt, so it cannot flow into authentication logic. Never base an auth decision on it.Legitimate uses: inspecting expired tokens while debugging, examining token structure without the key, observability of token contents. Since the token is unverified, fields the types mark mandatory may be absent at runtime.
Throws only on malformed structure (base64url / UTF-8 / JSON) - never because a signature is missing or wrong.