You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 16, 2026. It is now read-only.
Summary
Session JWTs use only
expfor expiry. Missing standard claims make tokens weaker against replay and misuse.Current state
internal/crypto/sessionjwt/manager.go— tokens havesession_id,tenant_id,agent_id,run_id,tool_context,workload_hash,expjti(JWT ID) — same token can't be individually revoked or trackednbf(not before) — no clock skew toleranceiss(issuer) — can't distinguish tokens from different broker instancesRequired work
jticlaim with a unique ID per tokennbfclaim (issued-at minus clock skew tolerance)issclaim with the broker's identityjtito the revocation setexpwould have passed (no unbounded growth)Files
internal/crypto/sessionjwt/manager.go— add claims, check revocationinternal/store/redis/runtime.go— add revocation set operationsinternal/app/service.go— on RevokeSession, add token jti to revocation listPriority
Medium — important for security hardening, not blocking for initial deployment.
🤖 Generated with Claude Code