Scores
overall, bot, abuse, and ato scores on every evaluate.
Every evaluate() response includes a primary decision and a scores object. Branch your product on decision; use the scores for dashboards, alerts, and triage.
{
"decision": "BLOCK",
"scores": {
"overall": 94,
"bot": 12,
"abuse": 91,
"ato": 40
}
}| Score | Range | What it reflects |
|---|---|---|
overall | 0–100 | Combined risk used with policy and rules |
bot | 0–100 | Automation / behavioral / fingerprint anomalies |
abuse | 0–100 | Disposable email, velocity, cluster, phone risk |
ato | 0–100 | Device reuse mismatch, impossible travel, new device + known identity |
Scores are weighted subsets of the existing signal registry — not separate ML models. The overall score remains the primary input for ALLOW / BLOCK / CHALLENGE / LIMIT.
In the dashboard
Decision detail shows three meters (bot, abuse, ATO) next to the overall score. List filters can use minimum bot / abuse / ATO scores when querying decisions.
See Decisions for how to map decision to UX.

