Device Fingerprint gives every device a stable identifier and a risk score — without relying on cookies, advertising IDs, or any user-visible prompt. The SDK runs passively in the background, collecting device signals and returning aDocumentation Index
Fetch the complete documentation index at: https://otpless.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
deviceId, a riskScore, and the specific signals that contributed to the score.
Persistent device ID
Unlike advertising IDs or cookie-based identifiers, the OTPless device ID is engineered to survive events that normally reset tracking:- App reinstalls
- Factory resets
- OS updates
- Advertising ID resets
Risk score
Every call togetDeviceIntelligence() returns a risk score from 0 to 100.
| Score range | Interpretation |
|---|---|
| 0–30 | Low risk — proceed normally |
| 31–70 | Elevated risk — consider step-up verification |
| 71–100 | High risk — block or require additional verification |
Risk signals
The risk score is derived from a set of device signals. Signals are returned server-side only — they are not included in the client response.| Signal | What it indicates |
|---|---|
| VPN active | Traffic is routed through a VPN |
| Proxy detected | Device is behind a proxy |
| Emulator | Running on an emulated device, not physical hardware |
| Rooted / jailbroken | OS security model has been compromised |
| SIM absent | No SIM card present in the device |
| Cloned device | Device identity has been duplicated |
| Remote access tool | AnyDesk, TeamViewer, or similar tool is active |
| Tampered | App binary has been modified |
How to act on the score
Allow
Low score — no unusual signals. Continue the user’s session without interruption.
Step-up
Elevated score — require an additional verification factor before allowing a sensitive action.
Block
High score or critical signal (e.g. emulator, tampered) — deny the request and surface an appropriate error.
When to use it
- Account creation — flag devices with high risk scores before an account is created
- Login — identify repeat offenders across account resets
- Transactions — add a device-level check before fund transfers or profile changes
- Abuse prevention — detect emulators used in bulk account creation or credential stuffing
Platform support
| Platform | Status |
|---|---|
| Android | Available |
| iOS | Coming soon |
| Web | Coming soon |
| React Native | Coming soon |
| Flutter | Coming soon |
| Ionic | Coming soon |
Risk signals are served server-side only. Your backend receives the full signal set; the client response includes only
deviceId and riskScore.Integration
Native SDK for Android and iOS — passive, no login widget, no Pre-Built UI or Headless split.Android SDK
Add Device Fingerprint to your Android app.