What a JWT actually contains
A JWT has three Base64URL-encoded parts separated by dots: a header naming the signing algorithm, a payload of claims, and a signature. The first two are encoded, not encrypted — anyone holding the token can read them.
That is the single most misunderstood thing about JWTs. Putting anything sensitive in a payload is equivalent to publishing it, because the holder of the token can decode it without any key.