Skip to main content

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 as components, 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.
Identity resolution (validity, operator, line type) appears as the 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:
It answers a different question from the rest of the response. The score asks how risky this call is right now. The outlook asks whether the consortium is about to start reporting this range: how strongly FIL’s model expects two or more members that have never reported the range to report it within the next 90 days. Use it to decide where to look next, for example triage queues, watchlists, or early warning on ranges in your traffic.
  • elevated means the range is in the top 10% of the ranges the model scores. neutral means it is below that. no_match means the range has too little reporting history to score.
  • The outlook never changes score, band or recommended_action, and its contribution is always 0. A quiet range can be elevated while the call scores minimal. 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_release is the month the model behind a verdict was released, for example 2026-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 a score_version change.
To join the beta, ask your FIL contact. Nothing changes for organisations that are not enrolled: the row is simply absent.

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.