Each publisher in Sentinel Network has a configurable policy that controls which ban types and scopes are enforced, and which contribute to reputation scores.

Policy Fields

Enforcement Flags

These flags control whether bans at each scope level are enforced during device checks. When a scope is not enforced, bans at that scope still exist but won’t cause "banned": true in the device check response.
FlagDefaultDescription
enforce_gametrueEnforce game-scoped bans
enforce_publishertrueEnforce publisher-scoped bans
enforce_globaltrueEnforce global-scoped bans
enforce_cheat_globaltrueEnforce global cheat bans specifically
enforce_social_globaltrueEnforce global social bans specifically
The enforce_cheat_global and enforce_social_global flags provide fine-grained control over global enforcement by ban type, allowing a publisher to enforce global cheat bans while ignoring global social bans, or vice versa.

Reputation Inclusion Flags

These flags control which ban scopes contribute to the reputation scores returned in device check responses.
FlagDefaultDescription
rep_include_gametrueInclude game-level bans in reputation scores
rep_include_publishertrueInclude publisher-level bans in reputation scores
rep_include_globaltrueInclude global-level bans in reputation scores

Reading the Policy

curl -s https://api.sentineltrustplay.io/v1/policy \
  -H "Authorization: Bearer $API_KEY" \
  -H "X-Game-Id: $GAME"
Response
{
  "publisher_id": "pub_acme",
  "enforce_game": true,
  "enforce_publisher": true,
  "enforce_global": true,
  "enforce_cheat_global": true,
  "enforce_social_global": true,
  "rep_include_game": true,
  "rep_include_publisher": true,
  "rep_include_global": true,
  "updated_at": "2025-01-01T00:00:00Z"
}

Updating the Policy

Send only the fields you want to change — omitted fields remain unchanged:
curl -s -X PUT https://api.sentineltrustplay.io/v1/policy \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -H "X-Game-Id: $GAME" \
  -d '{
    "rep_include_global": true,
    "enforce_cheat_global": false,
    "enforce_social_global": false
  }'
This example configuration means:
  • Global bans contribute to reputation scores (visible as risk indicators)
  • But global bans are not enforced (won’t block the device)
This is useful for publishers who want visibility into a device’s network-wide history without automatically blocking devices banned elsewhere.

Common Configurations

Full Network Participation (Default)

All scopes enforced and included in reputation. The device check reflects the device’s complete history across the network.
{
  "enforce_game": true,
  "enforce_publisher": true,
  "enforce_global": true,
  "enforce_cheat_global": true,
  "enforce_social_global": true,
  "rep_include_game": true,
  "rep_include_publisher": true,
  "rep_include_global": true
}

Isolated Publisher

Only enforce and score based on this publisher’s own bans. Useful for publishers who want to manage their own trust without external influence.
{
  "enforce_game": true,
  "enforce_publisher": true,
  "enforce_global": false,
  "enforce_cheat_global": false,
  "enforce_social_global": false,
  "rep_include_game": true,
  "rep_include_publisher": true,
  "rep_include_global": false
}

Cheat-Only Global Enforcement

Trust the network for cheat bans but handle social moderation independently.
{
  "enforce_game": true,
  "enforce_publisher": true,
  "enforce_global": true,
  "enforce_cheat_global": true,
  "enforce_social_global": false,
  "rep_include_game": true,
  "rep_include_publisher": true,
  "rep_include_global": true
}

Propagation Delay

Policy changes may take up to 10 minutes to take effect in device check responses.