The device simulator is a Python package that generates cryptographically valid signed payloads indistinguishable from those produced by a real SentinelID USB dongle — without requiring physical hardware. It is sandbox-only; simulated device registrations are rejected by the live environment.
Install
Subcommands
register
Provision the simulated device with the sandbox API. Run this once per sandbox API key. The simulator generates a P-256 key pair and device identity on first run and persists them to ~/.sentinel_sim/identity.json.
payload
Generate a signed DeviceCheckRequest payload. Pass the JSON output to your game server instead of calling the hardware client SDK.
Output:
device-id
Print the persisted device ID for use in test assertions or ban calls.
CI/CD Usage
The simulator’s identity persists at ~/.sentinel_sim/identity.json (Windows: %APPDATA%\sentinel_sim\identity.json). To avoid re-registering on every CI run:
- Run
sentinelid-sim register locally once and capture identity.json.
- Store it as a CI secret or commit it to your test fixtures.
- Place it at the expected path before running tests:
Delete identity.json to generate a fresh device identity. The old device ID will remain registered in the sandbox — create a new sandbox API key if you need a clean slate.