The algorithm is PINNED: only alg: "HS256" verifies — none and every
negotiated value are rejected before any cryptography runs, so a token
cannot choose its own verification scheme. JOSE owns key import and
signature verification; no hand-rolled comparison remains. The protected
typ is pinned to JWT. Claims checked: exp (required),
nbf (when present), iss, aud (string or array), then sub/role through
toApprovalActor.
HS256 JWT verifier over Worker-secret keys.
The algorithm is PINNED: only
alg: "HS256"verifies —noneand every negotiated value are rejected before any cryptography runs, so a token cannot choose its own verification scheme. JOSE owns key import and signature verification; no hand-rolled comparison remains. The protected typ is pinned to JWT. Claims checked: exp (required), nbf (when present), iss, aud (string or array), then sub/role through toApprovalActor.