← Back to Docs

Key Rotation

Compuon rotates encryption keys approximately every hour. This is fully automatic — you don't need to do anything.

Why Rotate Keys?

+Limits exposure — even if an attacker extracts key material from memory, it expires within an hour.
+Prevents replay attacks — captured verification data becomes invalid after rotation.
+Forces cheat tools to continuously re-adapt, increasing maintenance cost for cheat developers.

How It Works

Keys are derived on both client and server from a shared secret established during initialization. Only a small rotation identifier is sent over the wire — the actual key never travels over the network.

// Timeline
T+0:00 Key A active
T+1:00 Server signals rotation
T+1:00 Client switches to Key B (automatic)
T+1:00 Grace period: both Key A and Key B accepted
T+1:30 Grace period ends, only Key B accepted
T+2:00 Server signals next rotation

Grace Period

After each rotation, the server accepts both the old and new key for about 30 seconds. This handles in-flight verification requests that were prepared under the previous key. No special handling is needed on your part.

For Developers

Key rotation is fully automatic. You don't need to write any rotation logic.

+Unreal Engine — UCompuonSubsystem handles rotation in its per-frame tick.
+Custom engines — Call compuon_frame_tick() each frame. Rotation is handled internally.