Proprietary browser and device fingerprints, returned on every call.
1{
2 "_id": "evl_3yJk7K9xQ2mR4nT8",
3 "action": "login",
4 "verdict": "challenge",
5 "reasons": [ "new_fingerprint", "new_ip", "vpn_detected"],
6 "projectUser": {
7 "external_id": "usr_4f2c8a1b",
8 "email": "user@example.com",
9 "phone": "+12125550100"
10 },
11 "metadata": { "plan": "pro" },
12 "fingerprint": {
13 "_id": "fp_a8b9c7d6e5f4",
14 "hash": "5d41402abc4b2a76b9719d911017c592",
15 "stableHash": "8e2a6c1f9b3d4a7e",
16 "confidence": 0.94,
17 "projectUserCount": 1,
18 "deviceCount": 2,
19 "ipCount": 3
20 },
21 "risks": [
22 {
23 "category": "fake_account",
24 "severity": "high",
25 "score": 7,
26 "indicators": [ "disposable_email", "datacenter_ip"]
27 },
28 {
29 "category": "bot",
30 "severity": "medium",
31 "score": 4,
32 "indicators": [ "headless_browser", "automated_behavior"]
33 },
34 {
35 "category": "account_sharing",
36 "severity": "high",
37 "score": 5,
38 "indicators": [ "concurrent_sessions", "high_computer_count"]
39 },
40 {
41 "category": "ato",
42 "severity": "high",
43 "score": 6,
44 "indicators": [ "new_fingerprint", "new_ip", "ip_is_vpn"]
45 }
46 ],
47 "risk_summary": [
48 { "category": "fake_account", "severity": "high" },
49 { "category": "bot", "severity": "medium" },
50 { "category": "account_sharing", "severity": "high" },
51 { "category": "ato", "severity": "high" }
52 ],
53 "geolocation": {
54 "ip": "203.0.113.42",
55 "latitude": 40.7128,
56 "longitude": -74.0060,
57 "city": "New York",
58 "region": "NY",
59 "country": "United States",
60 "country_code": "US",
61 "security": {
62 "anonymous": false,
63 "proxy": false,
64 "tor": false,
65 "vpn": true,
66 "hosting": false
67 }
68 },
69 "ip": {
70 "address": "203.0.113.42",
71 "asn": "AS15169",
72 "asn_name": "Google LLC",
73 "datacenter": false,
74 "reputation": "suspicious",
75 "blocklists": [ "spamhaus_xbl", "abuseipdb"]
76 },
77 "email": {
78 "address": "user@example.com",
79 "is_disposable": false,
80 "is_webmail": true,
81 "is_valid": true,
82 "is_accept_all": false,
83 "is_verified": true
84 },
85 "phone": {
86 "number": "+12125550100",
87 "carrier": "Verizon",
88 "line_type": "non_fixed_voip",
89 "is_valid": true,
90 "is_verified": false
91 },
92 "policy": {
93 "_id": "pol_z9y8x7w6",
94 "name": "Block multi-accounting",
95 "action": { "type": "challenge" }
96 },
97 "challenge": {
98 "_id": "chl_8d7c6b5a4",
99 "mode": "rupt_managed",
100 "type": "biometric",
101 "redirect_url": "https://challenge.rupt.dev/?challenge=chl_8d7c6b5a4"
102 },
103 "lists": {
104 "matched": [ "trusted_devices"],
105 "allowlisted": true,
106 "blocklisted": false
107 },
108 "createdAt": "2026-05-18T14:32:01.842Z"
109}