The AbuseZero API is in public beta. Breaking changes are announced two weeks in advance.
AbuseZero

Risk checks

How AbuseZero turns signals into a risk score.

A risk check takes an identity and an event, gathers signals about them, and produces a score from 0 to 100.

The check pipeline

POST /v1/checksallowreviewdenyYour backendSignal collectionScoringRulesGrant benefitAsk for verificationBlock
POST /v1/checksallowreviewdenyYour backendSignal collectionScoringRulesGrant benefitAsk for verificationBlock

How the score is calculated

Each signal sis_i has a weight wiw_i and a confidence ci∈[0,1]c_i \in [0, 1]. The raw score is their weighted sum, squashed into the 0 to 100 range:

score=100⋅(1−e−∑iwici)\text{score} = 100 \cdot \left(1 - e^{-\sum_{i} w_i c_i}\right)

This means a single strong signal can push the score high, but many weak signals add up too. A score of 50 corresponds to a combined signal strength of ln⁡2≈0.69\ln 2 \approx 0.69.

Signals

Decisions

DecisionDefault score rangeWhat you should do
allow0 to 39Grant the benefit.
review40 to 74Ask for a card, phone number or SSO login.
deny75 to 100Don't grant the benefit.

You can change these ranges, or ignore them entirely, with rules.

How is this guide?

Edit on GitHub

Last updated on

On this page