Cerberus SDK Documentation
Integrate Cerberus anti-cheat into your game in under 2 hours.
Quick Start
Cerberus ships as a single static library (cerberus_sdk.lib) and a header file. The SDK handles all communication with the Cerberus kernel driver — your game code only needs to initialize, start a session, and listen for callbacks.
System Requirements
Developer / Studio Requirements
- Visual Studio 2019+ or compatible C++ compiler (MSVC v142+)
- .NET 6.0+ for C# bindings (Unity integration)
- Unreal Engine 5.1+ for UE plugin
- Partner dashboard account + API key
Player / End-User Requirements
Players running games protected by Cerberus need:
- OS: Windows 10 20H2+ or Windows 11 (x64 only)
- BIOS — Secure Boot: Must be enabled. Required for hardware verification (Layer 3). Check:
msinfo32→ "Secure Boot State" should show "On" - BIOS — TPM 2.0: Recommended (enables firmware attestation in v0.6+). Most modern systems have this enabled by default
- Windows Update: System must be on a supported Windows build. Outdated builds may fail driver signature verification
- GPU Drivers: Up to date. Outdated GPU drivers can trigger false positives on overlay detection
- No unsigned drivers: Systems with test-signing mode enabled (
bcdedit /set testsigning on) will be flagged - Virtualization: Running inside a VM (VirtualBox, VMware, Hyper-V) is not supported for competitive multiplayer. Cerberus will detect and flag virtualized environments
Installation
Add the SDK to your project:
Initialization
CerberusConfig
| Parameter | Type | Description |
|---|---|---|
| apiKey | const char* | Your API key from the partner dashboard. Required. |
| gameId | const char* | Unique game identifier. Required. |
| enableAI | bool | Enable Layer 2 (behavioral AI). Default: true. Aegis+ tier required. |
| enableHW | bool | Enable Layer 3 (hardware fingerprinting). Default: true. Cerberus+ tier required. |
| scanInterval | uint32_t | Kernel scan interval in ms. Default: 2000. Min: 500. |
| aiSampleRate | uint32_t | Input sampling rate in Hz. Default: 1000. Range: 250-2000. |
| banCallback | CerberusBanFn | Called when a player is banned mid-session. |
| flagCallback | CerberusFlagFn | Called when a player is flagged for review (optional). |
| logLevel | CerberusLogLevel | LOG_NONE, LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DEBUG. |
Configuration
Cerberus can be configured at runtime. Common patterns:
Callbacks
Session Lifecycle
Cerberus_EndSession() when a match ends. Orphaned sessions consume monitoring resources and may trigger false stale-session alerts.Typical flow:
Ban API
Query and manage bans via the REST API. All endpoints require your API key in the Authorization header.
List recent bans for your game.
Submit a ban appeal for manual review. Returns the review ticket ID.
Webhooks
Cerberus sends real-time webhook events to your configured endpoint. Configure webhooks in your partner dashboard.
Detection Evidence
When Cerberus detects a cheat, it captures a structured evidence package for review. This data is stored on the Cerberus backend and accessible through your partner dashboard.
What is collected on detection
| Data | Scope | Description |
|---|---|---|
| Detection type | Always | Which head triggered (KERNEL, AI, HW, NET) and the specific detection category (e.g., AIMBOT, INJECTION, DMA_READ) |
| Confidence score | Always | 0.0-1.0 float representing detection certainty. Auto-ban threshold: 0.95+ |
| Session snapshot | Always | Anonymized session metadata: game ID, session duration, region, SDK version |
| Hardware fingerprint | Layer 3 | Hashed device identifiers for ban evasion tracking. No PII — hardware IDs are one-way hashed |
| Memory region info | Kernel | Address range, permissions (RWX), and module association of suspicious memory regions. Game memory content is NOT captured |
| Behavioral profile | AI | Statistical summary: aim correction speed, reaction time distribution, headshot rate deviation from player baseline |
| Device audit log | Layer 3 | List of enumerated PCIe devices and firmware verification results. Used to identify DMA boards |
| Network anomaly report | Layer 4 (NET) | Server-side traffic analysis summary: packet timing anomalies, impossible state transitions, and position desync indicators |
Where evidence is stored
Detection evidence is processed locally on the player's machine and only the structured metadata is sent to the Cerberus API over TLS 1.3. Raw memory dumps or input recordings are never transmitted. Partners can access evidence through:
- Partner Dashboard — visual timeline of detection events with evidence viewer
- Ban API —
GET /api/v2/bans/{id}/evidencereturns the full evidence package as JSON - Webhooks —
ban.createdevents include a summary; full evidence available via API
Event Types
| Event | Trigger | Description |
|---|---|---|
| ban.created | Auto-ban | Player banned with >95% confidence |
| ban.appealed | Player action | Ban appeal submitted |
| flag.created | Threshold | Player flagged (30-95% confidence), under enhanced monitoring |
| flag.escalated | Auto | Flag escalated to manual review after re-analysis |
| flag.cleared | Auto/Manual | Flag cleared — player confirmed clean |
| session.start | SDK call | Cerberus session started for a player |
| session.end | SDK call | Session ended cleanly |
| hw.anomaly | Layer 3 | Unrecognized or suspicious hardware detected |
Unreal Engine Integration
For Unreal Engine projects, use the Cerberus plugin instead of the raw SDK:
Unity Integration
FAQ
Does Cerberus run at boot?
No. The kernel driver loads only when your game launches and unloads when it exits. Cerberus has zero presence on the system outside of active game sessions.
What happens if a player is falsely banned?
Detections below the 95% confidence threshold are never auto-banned — they go to manual review. If a ban is appealed, our threat analyst team reviews the full session replay within 4 hours (Cerberus tier SLA). False positive rate in our current beta cohort is 0.14%.
Does Cerberus collect player data?
No PII is ever collected. Cerberus processes hardware IDs, input patterns, and memory state locally. Only detection events (ban/flag) with anonymized session metadata are sent to the API. Zero telemetry — we don't know what games your players play, how long they play, or anything else.
What kernel access does Cerberus need?
The driver requires kernel-mode access (ring-0) to monitor memory permissions, detect mapped drivers, and enumerate PCIe devices. The driver is EV code-signed and submitted for WHQL certification (pending). We plan to complete third-party security audits before public release.
Can I use Cerberus for singleplayer games?
Yes, but it's designed for competitive multiplayer. For singleplayer, you can use Layer 1 only (kernel integrity) at the free Argus tier to prevent save file tampering or achievement exploits.
What engines are supported?
Cerberus works with any Windows game that can link a C++ or C# library. We have first-class plugins for Unreal Engine 5.x and Unity 2022+. Custom engine integration takes 1-2 hours with the raw SDK.