The score is a ranking
score is a percentile against the scored population of numbering ranges. 78 means riskier than 78% of scored ranges. It is not a probability that this call is fraud, and the non-suppressible disclosure field says so in every response.
Bands and actions
Two rules are fixed outside the scoring model and cannot be overridden by any configuration: only confirmed consortium reports reach
block, and proximity to reported numbers is capped — it never blocks and never counts as corroboration.
The evidence
From the Assess tier, each response lists its evidence ascomponents, each with a verdict (clean, neutral, no_match, elevated, adverse, unavailable) and its contribution to the ranking.
Your tier decides which components are computed. Verify scores on identity resolution, the consortium ledger and caller-ID integrity (whether the number’s range is allocated at all), and returns no component rows. Assess computes and returns the rest. A component outside your tier isn’t computed at all, so it never affects your score; suppressed lists what a higher tier would add.
Components that don’t apply to the subject read
neutral: for example, the IP components on a request with only a phone number.
origin_network and origin_geography aren’t available yet. A request with an ip_address reports them as unavailable and lists them in degraded_sources, and the score is computed from the remaining evidence.subject block rather than a component row.
The same names appear in /v1/health — if a capability is degraded, responses that relied on it say so in degraded_sources, and scoring continues on the remaining evidence. HTTP 200, never an outage.
Beta: range outlook
If your organisation is enrolled in the range outlook beta,components also carries a range_outlook row at the assess tier and above:
elevatedmeans the range is in the top 10% of the ranges the model scores.neutralmeans it is below that.no_matchmeans the range has too little reporting history to score.- The outlook never changes
score,bandorrecommended_action, and itscontributionis always 0. A quiet range can beelevatedwhile the call scoresminimal. That is the point: it gives you lead time, not a verdict on the call. - Like the score, it is a ranking, never a probability.
- FIL retrains the model quarterly.
model_releaseis the month the model behind a verdict was released, for example2026-10. When it changes, the model has been updated, and a range’s verdict can change with it. A beta component can change between releases without ascore_versionchange.
Coverage
coverage (strong / partial / thin, Assess and above) reports how much consortium reporting stands behind the destination country. It contextualises the score and never modifies it. The rule worth wiring into your workflow: a low score with thin coverage means unwatched, not clean.