The check
checkEnvironmentIntegrity) surface the same
levels.
Risk classification
On any detected risk the SDK:
- reports an
ENV_COMPROMISEDsecurity event (best-effort, backend202), - returns
PurchasePreflight::Blocked { level, risks }.
What to do when a purchase is blocked
- Read
level+risksfrom the pre-flight result and surface a generic, player-safe message (“purchase is unavailable on this device”). - Do not retry automatically — the environment will not change mid-session.
- Treat repeat blocks on the same device as a signal for your operations team.
Beyond purchase-gating: host hardening
Integrity checking exists to protect the purchase path. It is not a complete anti-cheat. For gameplay integrity:- run your own authoritative server (the platform only agrees on who, which match, and what result),
- use the mutual-claim protocol (both participants must agree),
- keep
boardHashproof game-defined and opaque.
Reporting
If you believe a device is compromised or your game was targeted:- report through the SDK security-event channel,
- then follow Report a security incident.

