- DeviceID is server-derived and not stored in the browser. It is what lets a returning person keep the same identity after clearing cookies or using incognito.
- Anonymity signals tell you whether a visit looks relayed, tunneled, spoofed, or coming from infrastructure. Each fired signal is named in the webhook
signalsarray with its weight.
Identification accuracy
Identification accuracy is the ability to recognize a returning browser as the same one across visits. The handle for this is the DeviceID, the most durable identifier ShieldLabs produces. The DeviceID is derived server-side, not stored, so it survives cleared cookies, incognito, and IP rotation (see Identification). Because nothing about it lives in the cookie, it holds when cookie-based tracking breaks. This is the difference from cookie analytics. Tools that count by a first-party cookie or client id count a brand-new visitor every time someone clears cookies, opens incognito, or rotates IP. Recognizing by a derived identity keeps that returning person on the same DeviceID instead. A returning visitor is anchored to a stable DeviceID even when the cookie-scopedVisitorID resets:
device_id is the durable handle here. The visitor_id is the cookie-scoped view, so it changes when cookies are cleared while the device_id stays put. The full identifier model walks through how each one is made.
Anonymity-detection accuracy
Anonymity-detection accuracy is the ability to tell that a visit is masked: relayed, tunneled, spoofed, or coming from infrastructure rather than an ordinary network. You never have to take the result on faith. Every verdict is explainable: each signal that fires lands in thesignals array with its weight (the points it added), and the score is the sum of those weights, so you can see which signals produced the number.
The anonymity signals page lists every one; the Risk Scoring table carries the weights.
This is where the up to 99% product figure comes from. Up to 99%, never higher. No detection is perfect.
A worked example
A visit scored70, with the signals that produced it:
70, which lands in the High band (60-100). The Risk Scoring table lists every signal and its weight; branch on detection_flags and signals[].name, not on display labels.
Up to 99%, never higher. No detection is perfect, so decide on the score plus its
signals plus your own context, never on a guarantee of certainty.Honest limits
Every accuracy claim has boundaries. Here is where each one stops.- Counts are estimated, not exact. The dashboard labels visitor counts as estimates. Treat them as a precise-enough signal for decisions, not as a ledger.
- A verdict is a probability, not proof. A high Risk Score means a visit looks anonymous or abusive, not that fraud is confirmed.
- A legitimate user can look anonymous. A corporate proxy, a VPN, or a privacy browser all raise the Risk Score without any wrongdoing.
- You own the action. ShieldLabs surfaces the score and the reasons. Your own code decides allow, challenge, review, or block.
Next steps
Identification
The six identifiers, why the DeviceID is durable, and when the VisitorID resets.
Anonymity Signals
Every signal that can fire and the connection-type label behind it.
Risk Scoring
The explainable 0 to 100 score and its bands: Clean, Low, Medium, High.