TDS Risk
Products
Trust Score — £0.35/check Mobile KYC — £0.45/check
Use cases
Consumer Lending Lead buying Insurance Lead Generation Account Creation Online Gambling Betting Affiliate Networks Payments Fintech
Developers
Getting Started Reason Codes Rule Studio Postman Collection Changelog System Status
Company
Pricing About Us Enterprise Contact Case Studies ROI Calculator Security & Compliance FAQ Trust Centre Sign up free →
Developer Reference

Reason Code Reference

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.

Risk signal Positive indicator Informational
Trust Score 24
Mobile KYC 64
D1Web-scraped number showing as active — strong fraud signal.
D2Phone number recently deactivated.
DVHigh device change velocity — account takeover indicator.
HVHigh velocity of change events on this number.
LPDevice or SIM or number change within 90 days.
LSDevice change <90 days OR SIM change <90 days.
LTDevice change less than 90 days old.
PNPhone number was not active.
RLHigh-risk line type — Non-Fixed VoIP or Prepaid.
RRHigher risk — listed as non-mobile on Override Services Registry.
BLNumber is associated with a business line.
CUCarrier call was unsuccessful.
DRDevice date not real-time — more recent change possible.
DST-Mobile "Do Not Sell" — live data not used.
FFCall forwarding not enabled.
FOCall forwarding enabled.
NDNetwork status not available from carrier.
NMLine type was not mobile.
NPLine classified as non-personal.
PTPorted number — not indicative of a recent port.
SASub-account line.
SRSIM date not real-time — more recent SIM change possible.
UCInsufficient data to calculate Trust Score.
RNLower risk — mobile line on Override Services Registry.
No codes match your search.
S1Synthetic identity — multiple unique SSNs. Higher fraud risk.
S2Synthetic identity — multiple DOB records. Higher fraud risk.
S3Synthetic identity — high number of relatives with same name.
S4Synthetic identity — SSN issued before DOB. Higher fraud risk.
R1Too many identities on this number — higher fraud risk.
CACommon addresses across unrelated identities — fraud ring indicator.
C22 identities with OS or OV codes on this number.
C33 identities with OS or OV codes on this number.
C44 identities with OS or OV codes on this number.
C55+ identities with OS or OV codes — high risk.
OVOwnership tenure <7 days — very short, high risk.
OSShort ownership — 8 to 45 days.
DIDeath indicator returned for associated identity.
RLHigh-risk line type — Non-Fixed VoIP or Prepaid.
VAAddress vacant — unoccupied in past 90 days.
AUAddress classified as undeliverable.
CFAddress matches a correctional facility.
OOIdentity verified — ownership 5+ years, no newer ownership.
OLOwnership tenure >45 days — stable.
PVSuccessful person search verification run.
RNListed as mobile line on Override Services Registry.
NOVerified — newer ownership recently associated with number.
KAOwnership tenure 8–14 days.
KBOwnership tenure 15–21 days.
KCOwnership tenure 22–30 days.
KDOwnership tenure 31–45 days.
KEOwnership tenure 46–60 days.
KFOwnership tenure 61–90 days.
KGOwnership tenure 91–120 days.
KHOwnership tenure 121–150 days.
KIOwnership tenure 151–180 days.
KJOwnership tenure 181–365 days.
KKOwnership tenure 366–730 days.
KLOwnership tenure 731–1095 days.
KMOwnership tenure 1096–1460 days.
KNOwnership tenure 1461–1825 days.
KOOwnership tenure 1826+ days.
ACNormalised address used to complete missing fields.
NAAddress normalised before matching.
NNNickname matching used — e.g. Bill matched William.
NSFirst and last names swapped and matched.
NUPhone number was updated.
ODOwnership data returned.
OUOwnership data not returned.
BABusiness address.
BLBusiness line.
CNNames combined in one field.
DADual address found.
FNFamily name used in matching.
HRHigh-rise address.
IAInactive address.
LALow-tenure address.
MAMultiple active addresses.
MIMilitary address.
PMPrivate mailbox operator (e.g. UPS Store).
POPO Box address.
PTPorted number — not indicative of a recent port.
RARaw address matched better than normalised.
RMMatching used only raw data.
UVAddress could not be verified.
XDNo driver's licence data available.
P3Address match at postcode sector level.
P5Address match at postcode unit level.
P9Address match at full delivery point level.
No codes match your search.
How reason codes work

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.

🎯
Explainability

Know exactly why a number scored the way it did — not just what score it received.

⚙️
Decision logic

Use codes to build conditional rules in your own risk engine — e.g. block on DV, flag on PT.

📋
Audit evidence

Every code is preserved in your immutable audit record — timestamped and signed.

Example response with indicators
"indicators": [ “OL”, // Ownership >45 days ✓ “DV”, // High device velocity ⚠ “PT” // Ported number ℹ ]
Positive indicator Risk signal Informational
Build decision logic

What to do with each signal

Use the colour-coded tiers below to wire reason codes directly into your risk engine. Each tier maps to a concrete action.

Block immediately
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.

Escalate to review
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.

Filter or deprioritise
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.

Positive — increase confidence
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.