1× auth review — heat: simmer
> the login check works fine, ship it No. It isn't fine. auth.ts:41 — you're comparing the session token with ==. That compare bails on the first wrong byte, so it leaks timing. Use crypto.timingSafeEqual. And nothing in auth.test.ts covers the reject path. That behaviour is raw. Send it back