Score ranges
| Range | Level | Description |
|---|---|---|
| 0–20 | Low | Trusted device. Stock OS, legitimate app, normal behavior. |
| 21–50 | Medium | Some risk indicators. May warrant additional verification. |
| 51–75 | High | Significant risk. Consider blocking sensitive operations. |
| 76–100 | Critical | Likely compromised. Block access or require re-verification. |
Risk factors
The score considers multiple signals:- Jailbreak detection — Is the device jailbroken or rooted?
- Device integrity — Does the attestation pass Apple’s checks?
- Attestation history — Is this device’s behavior consistent?
- Anomaly detection — Unusual patterns (rapid attestations, geographic jumps, etc.)
- Device age — First-time vs. returning devices
- OS version — Known vulnerable OS versions
Using risk scores
In your app
On your backend
Decode the JWT to read the risk score:Webhooks
On Business and Enterprise plans, webhooks fire for risk-related events:device.high_risk— A device exceeds your risk thresholddevice.new— First attestation from a new devicedevice.attestation_failed— A device fails attestationattestation.anomaly— Unusual attestation pattern detected