Verifiable IP purity checks

Scoring method

Weights, thresholds, sources and changelog are public. Every report carries a model version so the exact weights used can be looked up later.

Current model v1.0.0 · 2026-11-14

Signal weights

Signal Dimension Points
Datacenter / hosting connectionConnection type+45
Residential proxy / relayConnection type+35
Generic proxy / VPN egressConnection type+30
Mobile network (mitigating)Connection type-5
Tor exitAnonymity network+50
VPN flagAnonymity network+25
Open proxy flagAnonymity network+22
Widespread abuseAbuse reputation+30
Moderate abuseAbuse reputation+15
Minor abuseAbuse reputation+5
Fraud score 90+Composite intel+40
Fraud score 75 to 89Composite intel+25
Fraud score 50 to 74Composite intel+12
Recent / frequent abuseComposite intel+20
Shared connectionComposite intel+10

Within a dimension, multiple source hits count once at the highest tier. Different dimensions add up. Total is capped at 100.

Dimensions & coverage

Dimension Coverage weight
Connection type40%
Anonymity network25%
Abuse reputation20%
Composite intel15%

Coverage & confidence

Coverage is the sum of weights for dimensions with valid evidence (absolute, not normalised). Unconfigured premium dimensions are excluded from the denominator, but the ceiling and an accuracy warning are shown. Confidence starts from coverage and is reduced by source disagreement, staleness and single-source dimensions. If coverage is below 0.60, confidence below 0.50, or a high-risk dimension has an unresolved conflict, no score is returned — only 'cannot decide'.

Evidence tiers

First-party (T0) = Cloudflare edge metadata and a build-time baked ASN list, always available and unspoofable. Public sources (T1) = keyless third-party intelligence for cross-checking. Bring-your-own (T2) = commercial or registered sources wired in through server-side environment variables.

Sources & terms

Source Tier Used for Terms / limits
Cloudflare edge request metadataFirst-partyIP / ASN / owner / edge coloCloudflare first-party, client-unspoofable, zero outbound requests
Local ASN list (build-time baked)First-partyDatacenter ASN / organisation matchingBuild-time baked public list with a generatedAt stamp
IPQueryPublic sourceRaw connection / anonymity boolean signalsKeyless HTTPS; raw signals only, its bundled score is discarded
ip-api (free HTTP tier)Public sourceproxy / hosting / mobile flagsFree tier is HTTP-only and non-commercial; cloud egress may be rejected
ipwho.isPublic sourceGeolocation / ASN fallbackKeyless HTTPS; no risk flags
RIPE StatPublic sourceASN holder / registry evidenceOpen API; failure does not affect scoring
StopForumSpamPublic sourceReport frequency (abuse layer)Forum spam reports; not equivalent to AI vendor reputation
IPQualityScoreBring-your-ownFraud score / connection type / recent abuseBring-your-own key via server env; quota per vendor
AbuseIPDBBring-your-ownAbuse confidence and report countBring-your-own key; missing key is explicit, never treated as clean
ipapi.isBring-your-ownDatacenter / VPN / Tor / abuse flagsFull flags require a registered free key; unregistered source is skipped
IPHubBring-your-ownConnection class (reserved)Unreachable from this environment; disabled in V1

Model changelog

Scope & disclaimer

This tool provides an IP-dimension risk assessment and is not a guarantee. Vendor risk systems include behavioural signals; the actual outcome is determined by the vendor. Accuracy of external data is the responsibility of each provider.