Some time ago, we were struck by a real-world case: a Kick (Twitch alternative) user got hacked, and the attacker started streaming from their account. The issue? Kick was using JWTs stored on the client side to manage sessions, and they couldn’t invalidate a single compromised session without rotating the secret — which would log out everyone. All of this was done to avoid database queries. That situation taught us a powerful lesson:

Some time ago, we were struck by a real-world case: a Kick (Twitch alternative) user got hacked, and the attacker started streaming from their account.
The issue? Kick was using JWTs stored on the client side to manage sessions, and they couldn’t invalidate a single compromised session without rotating the secret — which would log out everyone. All of this was done to avoid database queries.
That situation taught us a powerful lesson: