namespace VanadiumGuard.Protocol
{
/// Wire-level constants shared by the guard client and the anti-cheat service.
public static class ProtocolConstants
{
/// Bumped whenever request/response shapes change incompatibly.
public const int Version = 1;
public const string HeaderSession = "X-VG-Session";
public const string HeaderTimestamp = "X-VG-Timestamp";
public const string HeaderNonce = "X-VG-Nonce";
public const string HeaderSignature = "X-VG-Signature";
public const string HeaderSequence = "X-VG-Seq";
public const string HeaderProtocol = "X-VG-Protocol";
///
/// Per-request signature from the device attestation key, alongside the HMAC. Present
/// only when the session bound a key at open; absent means HMAC-only, which is a
/// state the server records rather than refuses.
///
public const string HeaderAttestation = "X-VG-Attest";
/// How far a client clock may drift before signed requests are rejected.
public const int MaxClockSkewSeconds = 120;
/// Upper bound on a single memory challenge read, enforced on both ends.
public const int MaxChallengeReadLength = 4096;
/// Detections are dropped rather than queued once the backlog hits this size.
public const int MaxQueuedDetections = 256;
}
}