Every TDS Risk response includes an indicators array containing reason codes that explain exactly why a number scored the way it did. Not just a score — a full picture.
Unlike a simple pass/fail, TDS Risk returns the full set of carrier signals that drove the result. Each code is returned in the indicators array alongside your trustScore or KYC match fields.
Know exactly why a number scored the way it did — not just what score it received.
Use codes to build conditional rules in your own risk engine — e.g. block on DV, flag on PT.
Every code is preserved in your immutable audit record — timestamped and signed.
Use the colour-coded tiers below to wire reason codes directly into your risk engine. Each tier maps to a concrete action.
riskLevel: 1phoneRisk: trueisLostStolen: trueDVS1S2S3S4OVDIVAAUCF
High-confidence fraud or account takeover signals. Reject the submission before any downstream process runs — do not trigger a credit check, KYC flow, or account creation.
riskLevel: 2LPLSLTR1CAOSC2C3C4HV
Elevated risk — not an automatic block, but worth a second look. Route to manual review, add step-up verification, or apply a lower credit limit before proceeding.
lineType: fixedvoiplineType: nonfixedvoipRLNMNPBLD1D2PN
Non-personal or non-mobile lines, deactivated numbers, web-scraped actives. These submissions are unlikely to represent genuine customers — deprioritise or discard before further processing.
riskLevel: 4OOOLRNKJKKKLKMKNKOPV
Stable ownership, long tenure, no recent SIM swap, verified mobile line. Use these signals to reduce friction for genuine customers — fewer step-up checks, faster journeys.