decision_approved_cnh.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. {
  2. "session_id": "00000000-0000-4000-8000-000000000002",
  3. "session_kind": "user",
  4. "shared_from_session": null,
  5. "session_number": 3,
  6. "session_url": "https://example.test/session",
  7. "status": "Approved",
  8. "status_override": null,
  9. "workflow_id": "a3a29685-6e02-47e4-bebe-6bcb2b5dc009",
  10. "features": [
  11. "ID_VERIFICATION",
  12. "LIVENESS",
  13. "FACE_MATCH",
  14. "IP_ANALYSIS"
  15. ],
  16. "vendor_data": "1",
  17. "metadata": null,
  18. "callback": null,
  19. "id_verifications": [
  20. {
  21. "status": "Approved",
  22. "document_type": "Driver's License",
  23. "document_subtype": "DRIVER_LICENSE_GENERIC",
  24. "document_number": "11122233396",
  25. "personal_number": "11122233396",
  26. "portrait_image": "https://example.test/didit/portrait_image.jpg",
  27. "front_image": "https://example.test/didit/front_image.jpg",
  28. "front_video": null,
  29. "back_image": "https://example.test/didit/back_image.jpg",
  30. "back_video": null,
  31. "full_front_image": "https://example.test/didit/front_image.jpg",
  32. "full_back_image": "https://example.test/didit/back_image.jpg",
  33. "front_image_camera_front": null,
  34. "back_image_camera_front": null,
  35. "front_image_camera_front_face_match_score": null,
  36. "back_image_camera_front_face_match_score": null,
  37. "front_image_quality_score": {
  38. "focus_score": 100.0,
  39. "model_quality": {
  40. "time_ms": 650.1,
  41. "yolo_prob": 0.9635,
  42. "convnext_prob": 0.9999,
  43. "ensemble_prob": 0.9835,
  44. "document_occlusion": {
  45. "detected": false,
  46. "covered_fields": []
  47. }
  48. },
  49. "overall_score": 86.7,
  50. "brightness_issue": "ok",
  51. "brightness_score": 84.3,
  52. "resolution_score": 65.6,
  53. "is_document_fully_visible": true
  54. },
  55. "back_image_quality_score": {
  56. "focus_score": 74.9,
  57. "model_quality": {
  58. "time_ms": 625.6,
  59. "yolo_prob": 0.9692,
  60. "convnext_prob": 1.0,
  61. "ensemble_prob": 0.9861,
  62. "document_occlusion": {
  63. "detected": false,
  64. "covered_fields": []
  65. }
  66. },
  67. "overall_score": 83.5,
  68. "brightness_issue": "ok",
  69. "brightness_score": 94.8,
  70. "resolution_score": 85.6,
  71. "is_document_fully_visible": null
  72. },
  73. "date_of_birth": "1990-01-15",
  74. "age": 26,
  75. "expiration_date": "2034-11-19",
  76. "date_of_issue": "2024-12-26",
  77. "issuing_state": "BRA",
  78. "issuing_state_name": "Brazil",
  79. "region": null,
  80. "first_name": "Maria",
  81. "last_name": "Aparecida Souza",
  82. "full_name": "Maria Aparecida Souza",
  83. "gender": "U",
  84. "address": null,
  85. "formatted_address": null,
  86. "place_of_birth": "Cidade Exemplo/PR",
  87. "marital_status": "UNKNOWN",
  88. "nationality": "BRA",
  89. "extra_fields": {
  90. "tax_number": "11122233396",
  91. "first_surname": "Aparecida",
  92. "place_of_issue": "CURITIBA, PR",
  93. "second_surname": "Souza",
  94. "first_issue_date": "2018-09-14",
  95. "reference_number": "C00000000000",
  96. "dl_class_code_a_to": "2034-11-19",
  97. "dl_class_code_b_to": "2034-11-19"
  98. },
  99. "mrz": null,
  100. "extracted_data": null,
  101. "barcodes": [],
  102. "parsed_address": null,
  103. "extra_files": [],
  104. "warnings": [
  105. {
  106. "feature": "ID_VERIFICATION",
  107. "risk": "POSSIBLE_DUPLICATED_USER",
  108. "additional_data": {
  109. "api_service": null,
  110. "duplicated_session_id": "00000000-0000-4000-8000-000000000001",
  111. "duplicated_session_number": 2
  112. },
  113. "log_type": "information",
  114. "short_description": "Possible duplicated user from other session",
  115. "long_description": "The system identified a potential duplicate user with documents from another session, requiring further investigation.",
  116. "node_id": "feature_ocr"
  117. }
  118. ],
  119. "node_id": "feature_ocr",
  120. "matches": [
  121. {
  122. "status": "Approved",
  123. "session_id": "00000000-0000-4000-8000-000000000001",
  124. "api_service": null,
  125. "vendor_data": "1",
  126. "user_details": {
  127. "name": "Maria Aparecida Souza",
  128. "document_type": "ID",
  129. "document_number": "11122233396"
  130. },
  131. "is_blocklisted": false,
  132. "session_number": 2,
  133. "front_image_url": "https://example.test/didit/front_image_url.jpg",
  134. "verification_date": "2026-09-08T18:04:39Z"
  135. }
  136. ],
  137. "verification_method": "document",
  138. "assurance": "documentary",
  139. "wallet_provider": null,
  140. "fallback_from": null,
  141. "id_lookup": null,
  142. "wallet_verification": null
  143. }
  144. ],
  145. "nfc_verifications": null,
  146. "nfc_skip_reason": null,
  147. "liveness_checks": [
  148. {
  149. "status": "Approved",
  150. "method": "PASSIVE",
  151. "score": 100.0,
  152. "reference_image": "https://example.test/didit/reference_image.jpg",
  153. "video_url": "https://example.test/didit/video_url.jpg",
  154. "age_estimation": 29.05,
  155. "matches": [
  156. {
  157. "source": "session",
  158. "status": "Approved",
  159. "session_id": "00000000-0000-4000-8000-000000000001",
  160. "api_service": null,
  161. "vendor_data": "1",
  162. "user_details": {
  163. "full_name": "Maria Aparecida Souza",
  164. "document_type": "ID",
  165. "document_number": "11122233396"
  166. },
  167. "is_allowlisted": false,
  168. "is_blocklisted": false,
  169. "session_number": 2,
  170. "vendor_user_id": "9954d867-632b-42d7-9d84-e237b950b22a",
  171. "match_image_url": "https://example.test/didit/match_image_url.jpg",
  172. "verification_date": "2026-09-08T18:04:39Z",
  173. "biometric_template_id": null,
  174. "similarity_percentage": 77.93108224868774
  175. }
  176. ],
  177. "warnings": [
  178. {
  179. "feature": "LIVENESS",
  180. "risk": "DUPLICATED_FACE",
  181. "additional_data": {
  182. "api_service": null,
  183. "duplicated_session_id": "00000000-0000-4000-8000-000000000001",
  184. "duplicated_session_number": 2
  185. },
  186. "log_type": "information",
  187. "short_description": "Duplicated face from other approved session",
  188. "long_description": "The system identified a duplicated face from another approved session, requiring further investigation.",
  189. "node_id": "feature_liveness"
  190. }
  191. ],
  192. "face_quality": 100.0,
  193. "face_luminance": 53.3,
  194. "node_id": "feature_liveness"
  195. }
  196. ],
  197. "face_matches": [
  198. {
  199. "status": "Approved",
  200. "score": 95.83,
  201. "source_image_session_id": null,
  202. "source_image": "https://example.test/didit/source_image.jpg",
  203. "target_image": "https://example.test/didit/target_image.jpg",
  204. "warnings": [],
  205. "node_id": "feature_face_match",
  206. "face_coverage": {
  207. "eyes": {
  208. "covered": null,
  209. "calibrated": false,
  210. "visibility_score": 100.0
  211. },
  212. "mouth": {
  213. "covered": null,
  214. "calibrated": false,
  215. "visibility_score": 100.0
  216. },
  217. "face": {
  218. "covered": null,
  219. "calibrated": false,
  220. "visibility_score": 100.0
  221. }
  222. }
  223. }
  224. ],
  225. "poa_verifications": null,
  226. "phone_verifications": null,
  227. "email_verifications": null,
  228. "aml_screenings": null,
  229. "ip_analyses": [
  230. {
  231. "status": "Approved",
  232. "node_id": "feature_ip_analysis",
  233. "device_brand": "Generic_Android",
  234. "device_model": "K",
  235. "browser_family": "Chrome Mobile",
  236. "browser_version": "152.0.0",
  237. "os_family": "Android",
  238. "os_version": "10",
  239. "platform": "Linux armv81",
  240. "device_fingerprint": "fingerprint-ficticio",
  241. "user_agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36",
  242. "accept_language": "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7",
  243. "session_identifier": null,
  244. "session_age_ms": null,
  245. "coords_accuracy": null,
  246. "raw_device_data": {
  247. "screen": {
  248. "width": 444,
  249. "height": 985,
  250. "availWidth": 444,
  251. "colorDepth": 24,
  252. "pixelDepth": 24,
  253. "availHeight": 985
  254. },
  255. "uaData": {
  256. "model": "moto g56 5G",
  257. "brands": [
  258. {
  259. "brand": "Chromium",
  260. "version": "152"
  261. },
  262. {
  263. "brand": "Not?A_Brand",
  264. "version": "24"
  265. },
  266. {
  267. "brand": "Google Chrome",
  268. "version": "152"
  269. }
  270. ],
  271. "mobile": true,
  272. "platform": "Android",
  273. "architecture": "",
  274. "uaFullVersion": "152.0.7977.76",
  275. "platformVersion": "16.0.0"
  276. },
  277. "battery": {
  278. "level": 1,
  279. "charging": false,
  280. "chargingTime": null,
  281. "dischargingTime": 32577
  282. },
  283. "language": "pt-BR",
  284. "platform": "Linux armv81",
  285. "integrity": {
  286. "capture": {
  287. "externalDevice": null,
  288. "matchedPatterns": [],
  289. "videoInputCount": 1,
  290. "virtualCameraSuspected": null
  291. },
  292. "platform": "web",
  293. "security": {},
  294. "environment": {
  295. "automationDetected": false,
  296. "screenCaptureActive": null
  297. },
  298. "collected_at": "2026-09-08T18:13:36.162Z",
  299. "schema_version": 1
  300. },
  301. "languages": [
  302. "pt-BR",
  303. "pt",
  304. "en-US",
  305. "en"
  306. ],
  307. "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36",
  308. "deviceMemory": 8,
  309. "touchSupport": true,
  310. "maxTouchPoints": 5,
  311. "devicePixelRatio": 2.4375,
  312. "hardwareConcurrency": 8
  313. },
  314. "ip_country": "Brazil",
  315. "ip_country_code": "BR",
  316. "ip_state": "Parana",
  317. "ip_city": "Marechal Cândido Rondon",
  318. "latitude": 0,
  319. "longitude": 0,
  320. "ip_address": "203.0.113.10",
  321. "isp": "Opcao Telecom",
  322. "organization": "Opcao Telecom",
  323. "is_vpn_or_tor": false,
  324. "is_data_center": false,
  325. "time_zone": "America/Sao_Paulo",
  326. "time_zone_offset": "-0300",
  327. "ip": {
  328. "location": {
  329. "latitude": 0,
  330. "longitude": 0
  331. },
  332. "distance_from_id_document": null,
  333. "distance_from_poa_document": null
  334. },
  335. "id_document": {
  336. "location": null,
  337. "distance_from_ip": null,
  338. "distance_from_poa_document": null
  339. },
  340. "poa_document": {
  341. "location": null,
  342. "distance_from_ip": null,
  343. "distance_from_id_document": null
  344. },
  345. "warnings": [
  346. {
  347. "feature": "LOCATION",
  348. "risk": "DUPLICATED_DEVICE_FINGERPRINT",
  349. "additional_data": {
  350. "api_service": null,
  351. "match_source": "persistent_id",
  352. "duplicated_session_id": "00000000-0000-4000-8000-000000000001",
  353. "duplicated_session_number": 2
  354. },
  355. "log_type": "information",
  356. "short_description": "Duplicated device fingerprint from another session",
  357. "long_description": "The same device fingerprint was detected in another session with a different vendor_data, which may indicate multiple identities verified from the same device.",
  358. "node_id": "feature_ip_analysis"
  359. },
  360. {
  361. "feature": "LOCATION",
  362. "risk": "DUPLICATED_IP_ADDRESS",
  363. "additional_data": {
  364. "api_service": null,
  365. "duplicated_session_id": "00000000-0000-4000-8000-000000000001",
  366. "duplicated_session_number": 2
  367. },
  368. "log_type": "information",
  369. "short_description": "Duplicated IP address from another session",
  370. "long_description": "The same IP address was used in another session with a different vendor_data, which may indicate multiple users sharing the same network or a potential fraud pattern.",
  371. "node_id": "feature_ip_analysis"
  372. }
  373. ],
  374. "matches": [
  375. {
  376. "source": "session",
  377. "status": "Approved",
  378. "confidence": 0.0,
  379. "match_mode": "co_occurrence",
  380. "match_type": "ip_address",
  381. "session_id": "00000000-0000-4000-8000-000000000001",
  382. "api_service": null,
  383. "device_info": {
  384. "platform": "Linux armv81",
  385. "os_family": "Android",
  386. "device_brand": "Generic_Android",
  387. "device_model": "K",
  388. "browser_family": "Chrome Mobile",
  389. "device_fingerprint": "fingerprint-ficticio"
  390. },
  391. "vendor_data": "1",
  392. "match_source": "ip_address",
  393. "location_info": {
  394. "ip_city": "Marechal Cândido Rondon",
  395. "ip_state": "Parana",
  396. "ip_address": "203.0.113.10",
  397. "ip_country": "Brazil",
  398. "is_vpn_or_tor": false,
  399. "is_data_center": false,
  400. "ip_country_code": "BR"
  401. },
  402. "matched_value": "203.0.113.10",
  403. "is_blocklisted": false,
  404. "session_number": 2,
  405. "verification_date": "2026-09-08T18:04:39Z"
  406. },
  407. {
  408. "source": "session",
  409. "status": "Approved",
  410. "confidence": 1.0,
  411. "match_mode": "deterministic",
  412. "match_type": "device_fingerprint",
  413. "session_id": "00000000-0000-4000-8000-000000000001",
  414. "api_service": null,
  415. "device_info": {
  416. "platform": "Linux armv81",
  417. "os_family": "Android",
  418. "device_brand": "Generic_Android",
  419. "device_model": "K",
  420. "browser_family": "Chrome Mobile",
  421. "device_fingerprint": "fingerprint-ficticio"
  422. },
  423. "vendor_data": "1",
  424. "match_source": "persistent_id",
  425. "location_info": {
  426. "ip_city": "Marechal Cândido Rondon",
  427. "ip_state": "Parana",
  428. "ip_address": "203.0.113.10",
  429. "ip_country": "Brazil",
  430. "is_vpn_or_tor": false,
  431. "is_data_center": false,
  432. "ip_country_code": "BR"
  433. },
  434. "matched_value": "valor-ficticio",
  435. "is_blocklisted": false,
  436. "session_number": 2,
  437. "verification_date": "2026-09-08T18:04:39Z"
  438. }
  439. ]
  440. }
  441. ],
  442. "database_validations": null,
  443. "database_validation_not_performed_reason": {
  444. "code": "feature_not_unlocked",
  445. "issuing_state": "BRA",
  446. "configured_services": [
  447. "Brazil - CNH QR code + face match (Datavalid)",
  448. "Brazil - CPF status check",
  449. "Brazil - CPF + face match (Datavalid)",
  450. "Brazil Residential",
  451. "Brazil Tax Registration (CPF/CNPJ)",
  452. "BRA - Unico IDCloud (CPF + selfie)"
  453. ],
  454. "message": "Database validation did not run: it is locked until the organization's first paid top-up. No database was queried and nothing was billed for it."
  455. },
  456. "questionnaire_responses": null,
  457. "document_ai_documents": null,
  458. "reviews": [],
  459. "contact_details": null,
  460. "expected_details": {
  461. "last_name": "Aparecida Souza",
  462. "first_name": "Maria",
  463. "id_country": "BRA",
  464. "date_of_birth": "1990-01-15",
  465. "identification_number": "11122233396"
  466. },
  467. "environment": "live",
  468. "sandbox_scenario": null,
  469. "created_at": "2026-09-08T18:12:20.402916Z",
  470. "expires_at": "2026-09-15T18:12:20.389320Z"
  471. }