Operator guideEN

Reporting / Identity Graph Control

Operator guide for the restricted Identity Graph control page used to configure sync settings, preview tag matches, inspect suspicious users, and monitor backfill status.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this screen is for

Use Identity Graph Control to check whether the Identity Graph integration is ready, update the system settings that control sync, preview possible tag matches, run a bounded suspicious-user lookup, and watch the latest Identity Graph backfill status.

This page is a control surface, not the main backfill runner. Starting and stopping historical backfill jobs remains on Identity Graph Backfill.

Who can open it

Access is limited to a named administrator allow-list. If the current admin is not allowed, the page shows a warning and does not load the control data. The backend enforces the same restriction, so a hidden link alone is not enough to read or update the configuration.

How to read the Overview tab

The top cards answer four operational questions:

  • Config: whether the required settings are present.
  • Health: whether the configured Identity Graph endpoint responds to a backend health check.
  • Merchant: which merchant code/name will be used for sync.
  • Tags: how many tag codes are allowed to sync and which match signals are enabled.

The Sync capabilities chips show what the current configuration enables:

  • Users is on when URL, API key, and merchant code are present.
  • Customers is on only when the integration is configured and merchant id is set.
  • Tags is on only when the integration is configured and the tags-to-sync allow-list is not empty.
  • Payment evidence is on only when the integration is configured and the payment-evidence toggle is enabled.
  • SuspiciousPattern is on only when the integration is configured and Enable SuspiciousPattern is on. This chip reports configuration readiness, not whether any player currently matches the policy.

Sync Config tab

This tab updates Identity Graph system settings. The API key is write-only from the page: leaving it blank keeps the existing encrypted key, while entering a new value replaces it.

Important configuration fields:

  • Identity Graph URL: base URL used by backend calls.
  • API Key: secret key used by backend calls to Identity Graph.
  • Merchant Code: merchant code used in Identity Graph payloads and match requests.
  • Merchant ID: required for customer sync readiness.
  • Merchant Name: readable merchant label shown in results.
  • Tags to sync: comma-separated allow-list of tags that may be sent to Identity Graph.
  • Tag match signals: comma-separated signals used for tag dispatch matching. Supported dispatch values are email, phone, global_id, payment, and payout; invalid or empty values fall back to email.
  • HTTP timeout, ms: backend request timeout. The control service clamps it to a safe range.
  • Collect payment evidence into Identity Graph: enables payment evidence sync only when the base integration is ready.
  • Enable SuspiciousPattern: master switch for the SuspiciousPattern capability. Default: on.
  • Honeypot card deposits: allows an eligible cross-brand card deposit to be stopped before it reaches the payment provider. Default: on.
  • Same-day cross-brand only: requires the source-brand and target-brand activity to match the selected same-day rule. Default: on.
  • Same-day reference: chooses Registration date or First seen date. Registration date is the default; first-seen date can be useful for accounts imported or backfilled after registration.
  • Failed card threshold: number of failed card deposits, after the most recent successful card deposit, used for source-brand activation. Default: 2; the effective value is constrained to 1..20.
  • SuspiciousPattern match signals: accepts email, uid, and ip. Empty or invalid input falls back to email,uid. IP is evidence-only and cannot trigger the automatic honeypot by itself.

Unsaved changes are local to the browser. While the form is dirty, automatic config refresh is paused so the page does not overwrite the operator's edits.

SuspiciousPattern behavior

The behavior matrix separates three different stages:

  • On the source brand, the configured failed-card threshold can create SuspiciousPattern evidence and tag state. The source-brand card attempt still proceeds to its payment provider.
  • On another brand, a strong match can activate the card-deposit honeypot. The card form can still open, but the payment initialization is stopped before provider dispatch and the player receives a generic payment-failed response.
  • Email and UID/device identity are strong automatic match signals. IP can be retained as supporting evidence, but IP-only, browser-only, user-agent-only, or timing-only similarity must not activate the automatic honeypot.

The payment guard applies only to recognized card deposits. Non-card methods continue normally. If the Identity Graph check itself fails, the guard fails open and allows the payment flow to continue rather than blocking the player on an integration error.

Current save limitation

The page currently sends Same-day reference on every Save configuration attempt, but Core does not yet register that setting. Core rejects the unknown setting and rolls back the complete update, so none of the submitted fields should be treated as saved even if only another field was changed. Until the product contract is aligned, use the generic System Settings page for the five registered SuspiciousPattern settings and verify each effective value after the change.

Tag Preview tab

Use Tag Preview to check which Identity Graph users would match a set of strong signals before relying on tag sync behavior.

Preview fields:

  • Email
  • Global ID / identity UUID
  • Device ID
  • IP address
  • Account ID
  • Customer key
  • DOB:last name

At least one filter is required. The backend sends a bounded match request and limits the result size, so this is not a global graph scan.

Suspicious Users tab

Use Suspicious Users for the same bounded lookup model when an operator needs a diagnostic grid of possible graph matches. The visible table shows user identity, email, merchant, match signals, creation time, and update time.

This tab does not automatically classify a player as fraudulent. It only displays Identity Graph match rows for the supplied filters.

Backfill Status tab

This tab shows the latest Identity Graph backfill jobs so an operator can see status without leaving the control page. It is read-only for job control:

  • start and stop controls remain on Identity Graph Backfill
  • this tab can refresh status
  • the table shows job key, status, processed count, failed count, skipped count, heartbeat, and last error

Common confusion

  • Saving configuration changes system settings; it does not immediately start a historical backfill.
  • Tags readiness requires both a complete connection config and at least one allowed tag code.
  • Phone, payment, and payout are supported for dispatch matching, but the current preview/search read model supports only the listed preview fields.
  • A healthy config does not guarantee every downstream sync has run; check Backfill Status and the dedicated backfill page for job progress.
  • The suspicious-user grid is diagnostic. It is not a decision engine and does not change player status by itself.
  • Tag match signals and SuspiciousPattern match signals control different workflows. Changing one does not change the other.
  • Turning off the honeypot switch does not remove existing tags or evidence; it changes whether eligible cross-brand card attempts may be stopped.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Screen actions5 topicsOpen details

Refresh

Location
Overview tab / Sync capabilities card
Preconditions
Current admin is in the Identity Graph Control allow-list.
Side Effects
Re-fetches masked settings, readiness, health, and defaults., Does not change stored settings or start sync.
Success State
Overview cards and sync capability chips reflect the latest response.
Failure State
Error alert is shown from the failed request.

Save configuration

Location
Sync Config tab
Current Contract Status
blocked-by-unregistered-setting
Preconditions
Current admin is in the Identity Graph Control allow-list., At least one supported Identity Graph setting is provided., Backend has CORE_URL and CORE_ACCESS_TOKEN when writing system settings., Core must register every submitted setting name before this complete form can save successfully.
Side Effects
The page always submits all visible configuration fields, including identityGraphSuspiciousPatternSameDayReference., On a contract-compatible request, writes supported Identity Graph settings through the Core system-settings transaction and refreshes the admin service's cached settings., Leaves the current API key unchanged when the API key field is blank or masked., In the current contract, Core rejects the unregistered same-day-reference setting and rolls back every submitted setting in the transaction.
Success State
After the product contract is aligned, the form rehydrates from saved masked settings and shows "Identity Graph settings saved."
Failure State
Currently, Save returns an unknown-setting error, no submitted setting is committed, and unsaved local form values remain in the browser.
Operator Recovery
Use generic System Settings for registered fields, coordinate the same-day-reference contract fix, and verify effective values after any change.

Preview matches

Location
Tag Preview tab
Preconditions
Current admin is in the Identity Graph Control allow-list., At least one preview filter is provided., Identity Graph client configuration is complete for real match lookup.
Side Effects
Sends a bounded match request to Identity Graph., Updates only the local preview result table., Does not sync tags or mutate users.
Success State
Preview table shows returned match rows, or an empty state/message.
Failure State
Error alert is shown; previous preview rows may remain until the next successful request.

Search users

Location
Suspicious Users tab
Preconditions
Current admin is in the Identity Graph Control allow-list., At least one strong lookup filter is provided.
Side Effects
Sends a bounded match request to Identity Graph., Updates only the local suspicious-user result table., Does not flag, block, tag, or otherwise mutate players.
Success State
Suspicious Users table shows returned match rows, total count, or guidance message.
Failure State
Error alert is shown.

Refresh

Location
Backfill Status tab
Preconditions
Current admin is in the Identity Graph Control allow-list.
Side Effects
Re-fetches settings, health, and the latest backfill jobs., Does not start or stop backfill jobs.
Success State
Backfill Status table reflects the latest status response.
Failure State
Existing table remains and the request error is exposed through the hook.
Calculations9 topicsOpen details

Config readiness

Determines whether the base Identity Graph connection is ready.

Formula
configured = all required fields are non-empty; missing contains the absent setting names.

Sync capabilities

Drives the Users, Customers, Tags, Payment evidence, and SuspiciousPattern chips on the Overview tab.

Formula
users requires configured; customers also requires merchant id; tags also requires at least one allowed tag; paymentEvidence also requires its toggle; suspiciousPattern also requires its master toggle and defaults that toggle to true when unset.

Tag match signal normalization

Keeps only supported dispatch match signals and falls back to email when the input is empty or invalid.

Formula
Normalize comma-separated values, map aliases such as identity/global to global_id and payments to payment, keep only email/phone/global_id/payment/payout, default to email.

SuspiciousPattern setting normalization

Defines the effective fallback and allowed values shown by the control page and consumed by the casino payment guard.

Formula
Master, honeypot, and same-day switches default to true; threshold defaults to 2 and is constrained to 1..20; same-day reference accepts registration_date or first_seen_date and otherwise defaults to registration_date; signals keep email, uid, or ip, map global/identity/device aliases to uid and ip_address to ip, remove duplicates, and otherwise default to email,uid.

SuspiciousPattern card-deposit guard

Explains when the payment flow is stopped and which cases continue normally.

Formula
A non-card attempt returns without blocking. A card attempt is blocked only when Identity Graph returns the honeypot_card_deposits decision; the player receives a generic payment failure before provider dispatch, the SuspiciousPattern tag/activity is recorded, and the attempt is sent as evidence. Evaluation errors return blocked=false so the payment flow fails open.

Settings save sanitization

Explains why blank API key input does not erase the existing key and why list/toggle fields are normalized before saving.

Formula
Only editable keys are submitted; blank or masked API key is skipped; tag and SuspiciousPattern signal lists are normalized CSV; booleans are parsed; same-day reference is normalized; numeric settings become null when empty or invalid.

Current settings-save contract

Explains why Save configuration currently cannot persist even an otherwise valid field change.

Formula
The page always includes identityGraphSuspiciousPatternSameDayReference. The admin service preserves it in the sanitized payload. Core requires every submitted name to have a registered definition, does not define this name, throws an invalid-setting error, and rolls back the complete transaction.

Match request payload

Converts preview/suspicious filters into the bounded Identity Graph match request.

Formula
Normalize filter lists, lowercase DOB:last name values, add merchant_code from config, clamp limit to 1..200, and require at least one non-empty criteria list.

Health status

Indicates whether the configured Identity Graph endpoint is reachable from the backend.

Formula
Build the Identity Graph client from system settings and call /health with timeout min(configured timeout, 5000 ms); failures return status unreachable.
Summary cards4 topicsOpen details

Config

Shows `Ready` when required Identity Graph settings are present; otherwise shows `Missing` plus missing setting names.

Data Type
status
Editable
false

Health

Shows whether the backend health check against the configured Identity Graph URL currently succeeds.

Data Type
status
Editable
false

Merchant

Displays the merchant identity that will be sent with Identity Graph requests.

Data Type
text
Editable
false

Tags

Shows how many tag codes are allowed to sync and which match signals are enabled.

Data Type
count-with-list
Editable
false
Metrics6 topicsOpen details

Config

Shows whether the required Identity Graph connection settings are present.

Aliases
identity graph config ready, identity graph missing settings
Formula
Ready when identityGraphURL, identityGraphAPIKey, and identityGraphMerchantCode are present; otherwise Missing with the missing setting names.

Health

Shows whether the backend can reach the configured Identity Graph health endpoint.

Aliases
identity graph online, identity graph health
Formula
Calls the configured Identity Graph /health endpoint and maps the response to ok/status; incomplete config returns not_configured, request failure returns unreachable.

Merchant

Displays the merchant code and name used for Identity Graph match and sync requests.

Aliases
identity graph merchant, merchant code
Formula
identityGraphMerchantCode falls back to productPrefix; identityGraphMerchantName falls back to brandName or merchant code.

Tags

Shows how many tag codes are allowed to sync and which match signals are enabled.

Aliases
identity graph tags to sync, identity graph match signals
Formula
Count normalized identityGraphTagsToSync values and display normalized identityGraphTagMatchSignals.

SuspiciousPattern

Shows whether the base Identity Graph connection is ready and the SuspiciousPattern master switch is enabled. It does not count matched users or blocked deposits.

Aliases
suspicious pattern on, suspicious pattern readiness, honeypot capability
Formula
readiness.sync.suspiciousPattern = readiness.configured AND normalized identityGraphSuspiciousPatternEnabled; the switch defaults to true when unset.

Backfill jobs

Number of backfill jobs returned on the Backfill Status tab.

Aliases
identity graph backfill status jobs, backfill status table
Formula
Read the first page of Identity Graph backfill jobs with limit 10 and render the returned jobs array.
More help

Related pages

Affiliate Deals / Dashboard

Affiliate deal cohort report that period-bounds registrations, then combines the selected players with cumulative deposit and linked-event values.

Affiliates / Affiliate Deals

Operator guide for affiliate-deal records, their create/edit flow, and the performance dashboard that compares contract settings with delivered traffic and revenue metrics.

Bonus Triggers / List

Single-page trigger configuration workspace with one editable card per trigger, coupon-code chip management, expiration time editing, comments, and a full-form submit action.

CMS / Configuration

Operator guide for shared CMS configuration variables, version publishing, country scope, import/export, and variable comparison.

CMS / Configuration / Detail

Modal-based editor for configuration identity, type, country scope, content value, version publishing, active state, and deletion.

CMS / Configuration / Global Variables

Comparison view for theme CSS variables, admin-configured values, theme defaults, related metadata, refresh, hide-configured filtering, and CSV export.