> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# डिवाइस फ़िंगरप्रिंटिंग और IP जोखिम चेतावनी कोड

> Didit के डिवाइस और IP विश्लेषण के सभी चेतावनी कोड: VPN/Tor, देश बेमेल, ब्लॉकलिस्ट, डुप्लिकेट IP/डिवाइस, रिकवर किए गए डिवाइस और अपेक्षित IP बेमेल।

## अवलोकन

जब भी डिवाइस और IP विश्लेषण को संदिग्ध डिवाइस, नेटवर्क, या स्थान व्यवहार का पता चलता है, तो यह `ip_analyses[].warnings[]` पर चेतावनी टैग जारी करता है। नौ टैग के लिए प्रति वर्कफ़्लो नोड कॉन्फ़िगर करने योग्य कार्रवाई (Decline / Review / No action) होती है; दो ब्लॉकलिस्ट टैग हमेशा स्थिति `Declined` लागू करते हैं, और दो allowlist टैग हमेशा केवल सूचनात्मक होते हैं। प्रत्येक चेतावनी का `log_type` लागू की गई कार्रवाई को दर्शाता है: `error` (Decline), `warning` (Review), या `information` (No action)। प्रत्येक जोखिम प्रति सत्र अधिकतम एक बार सक्रिय होता है।

नीचे दिया गया प्रत्येक जोखिम लाइव निर्णय पाइपलाइन के विरुद्ध सत्यापित किया जाता है; चेतावनियों में सुविधा टैग `LOCATION` और मानक [चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) प्रारूप शामिल होता है।

डिवाइस फ़िंगरप्रिंट चेतावनियों को जानबूझकर सटीक और पुनर्प्राप्त सिग्नलों में विभाजित किया गया है:

* `DUPLICATED_DEVICE_FINGERPRINT` का अर्थ है कि अलग-अलग `vendor_data` मानों वाले सत्रों में समान डिटरमिनिस्टिक डिवाइस पहचान (`match_source` `persistent_id` या `legacy_fp`) का पुन: उपयोग किया गया था।
* `DEVICE_RECOVERED_HIGH_CONFIDENCE` का अर्थ है कि परसिस्टेंट ID बदलने (स्टोरेज साफ़ होना, इनकॉग्निटो मोड, ऐप रीइंस्टॉल) के **बाद** v2 फ़िंगरप्रिंट रिकवरी ने सत्र का मिलान पहले देखे गए डिवाइस से किया। यह चेतावनी केवल तभी दिखाई देती है जब मिलान हाई-कॉन्फ़िडेंस सिमिलैरिटी थ्रेशोल्ड और हार्ड गेट्स को पार कर लेता है।

![डिवाइस, VPN, प्रॉक्सी और स्थान-बेमेल अलर्ट के साथ Didit डिवाइस और IP विश्लेषण चेतावनी उदाहरण](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/ip-analysis-warning-example.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=370f87af45a6138ebd7454abe9131665)

## उत्पन्न चेतावनियाँ

| जोखिम | कारण | `log_type` | स्थिति को प्रभावित करता है | अनुशंसित निवारण |
| - | - | - | - | - |
| `PRIVATE_NETWORK_DETECTED` | `is_vpn_or_tor` `true` था — सत्र VPN, प्रॉक्सी, या Tor एक्जिट नोड के माध्यम से खोला गया था। `additional_data` `null` है। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | तय करें कि क्या आपकी जोखिम सहनशीलता मास्क्ड ट्रैफ़िक की अनुमति देती है। यदि आप इसे स्वीकार करते हैं, तो इसे No action पर छोड़ दें। |
| `COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP` | पहचान दस्तावेज़ का ISO देश, IP पते से प्राप्त देश से भिन्न है। `additional_data` दोनों ISO-3 कोड वहन करता है: `document_country_code`, `ip_country_code`। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | जब उपयोगकर्ता वैध रूप से यात्रा करता है, तब समीक्षा करें। VPN या डुप्लिकेट-डिवाइस संकेतों के साथ जुड़े होने पर अस्वीकार करें। |
| `EXPECTED_IP_ADDRESS_MISMATCH` | सत्र एक अपेक्षित IP पते के साथ बनाया गया था, और लाइव IP भिन्न है। `additional_data` में `expected_ip_address` और `actual_ip_address` शामिल हैं। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | इसका उपयोग तब करें जब आप सत्र निर्माण के समय IP को पहले से पिन करते हैं। बेमेल होने पर सत्र को अस्वीकार करें या प्रमाणीकरण का स्तर बढ़ाएँ। |
| `IP_ADDRESS_IN_BLOCKLIST` | सत्र का IP पता एप्लिकेशन की IP ब्लॉकलिस्ट की किसी प्रविष्टि से मेल खाता है। `additional_data`: `ip_address`। | हमेशा `error` | `Declined` लागू करता है। | सत्र को अस्वीकार करें। यदि आवश्यक हो, तो फ़ॉल्स पॉज़िटिव के लिए ब्लॉकलिस्ट स्रोत का ऑडिट करें। |
| `DEVICE_FINGERPRINT_IN_BLOCKLIST` | सत्र का डिवाइस फ़िंगरप्रिंट डिवाइस ब्लॉकलिस्ट की किसी प्रविष्टि से मेल खाता है। `additional_data`: `device_fingerprint`। | हमेशा `error` | `Declined` लागू करता है। | सत्र को अस्वीकार करें। |
| `IP_ADDRESS_IN_ALLOWLIST` | सत्र के IP पते के डुप्लिकेट मिलान थे लेकिन यह एप्लिकेशन की IP allowlist में है, इसलिए डुप्लिकेट-IP चेतावनी को छोड़ दिया गया था। `additional_data`: `ip_address`। | हमेशा `information` | कोई नहीं। | विश्वसनीय कॉर्पोरेट NAT, QA नेटवर्क या ज्ञात साझा एक्सेस पॉइंट के लिए उपयोग करें। |
| `DEVICE_FINGERPRINT_IN_ALLOWLIST` | सत्र के डिवाइस फ़िंगरप्रिंट में नियतात्मक डुप्लिकेट मिलान थे लेकिन यह डिवाइस allowlist में है, इसलिए डुप्लिकेट-डिवाइस चेतावनी को छोड़ दिया गया था। `additional_data`: `device_fingerprint`। | हमेशा `information` | कोई नहीं। | केवल विश्वसनीय साझा डिवाइसों के लिए उपयोग करें। ब्लॉकलिस्ट को अभी भी प्राथमिकता मिलती है। |
| `DUPLICATED_IP_ADDRESS` | भिन्न `vendor_data` वाले किसी अन्य सत्र में वही IP उपयोग किया गया था। `additional_data`: `duplicated_session_id`, `duplicated_session_number`, `api_service`। IP allowlist में होने पर छोड़ दिया जाता है। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | कॉर्पोरेट या साझा NAT पर सामान्य है। अस्वीकार करने से पहले अन्य संकेतों (डुप्लिकेट डिवाइस, देश बेमेल) के साथ जोड़कर देखें। |
| `DUPLICATED_DEVICE_FINGERPRINT` | वही नियतात्मक डिवाइस पहचान विभिन्न `vendor_data` वाले सत्रों में पुनः उपयोग की गई थी। `additional_data`: `duplicated_session_id`, `duplicated_session_number`, `api_service`, `match_source` (`persistent_id` या `legacy_fp`)। फ़िंगरप्रिंट allowlist में होने पर छोड़ दिया जाता है। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | मल्टी-अकाउंट दुरुपयोग का पुख्ता प्रमाण। धोखाधड़ी सहनशीलता के आधार पर समीक्षा या अस्वीकार करें। |
| `DEVICE_RECOVERED_HIGH_CONFIDENCE` | v2 डिवाइस रिकवरी मॉडल ने स्थायी ID बदलने के बाद भी उच्च विश्वास के साथ सत्र को पहले देखे गए डिवाइस से मिलाया। `additional_data`: `duplicated_session_id`, `duplicated_session_number`, `api_service`, `match_source` (`recovered_high`), `recovery_similarity`, `recovery_match_device_uuid`। डिवाइस allowlist से इसे दबाया नहीं जाता है। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | Review से शुरुआत करें, अपनी फ़ॉल्स पॉज़िटिव दर मापें, फिर कार्रवाई को सख्त करें। स्टोरेज-रीसेट या इनकॉग्निटो प्रयासों के लिए मजबूत संकेत। |
| `DEVICE_LINKED_TO_LIVENESS_ATTACK` | वही डिवाइस (इसकी स्थायी डिवाइस ID पर मिलान किया गया) किसी अन्य उपयोगकर्ता के पिछले सत्र में उपयोग किया गया था जिसके लाइवनेस कैप्चर को एक अटैक माना गया था। लाइवनेस जांच पर हमला करने के लिए पहले से उपयोग किया गया डिवाइस एक मजबूत संकेतक है कि यह कैप्चर उसी हमलावर से आता है। `additional_data`: `liveness_attack_session_id`, `liveness_attack_session_number`, `liveness_attack_sessions_count`, `match_source` (`persistent_id`)। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | Decline तक सख्त करने से पहले Review से शुरुआत करें और अपनी फ़ॉल्स पॉज़िटिव दर को मापें। |
| `DEVICE_MODEL_INCONSISTENT` | वही डिवाइस (इसकी स्थायी डिवाइस ID पर मिलान किया गया) किसी पिछले सत्र में एक अलग डिवाइस मॉडल के रूप में रिपोर्ट किया गया था। एक भौतिक डिवाइस मॉडल नहीं बदलता है, इसलिए रिपोर्ट किया गया मॉडल संभवतः स्पूफ़ किया गया है, या डिवाइस पहचानकर्ता को किसी अन्य डिवाइस पर कॉपी किया गया था। जेनेरिक मॉडल स्ट्रिंग्स की कभी तुलना नहीं की जाती है। `additional_data`: `device_model`, `earlier_device_model`, `earlier_session_id`, `earlier_session_number`, `match_source`। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: No action)। | कार्रवाई करने से पहले रिपोर्ट किए गए दो मॉडलों की तुलना करें और पिछले सत्र की समीक्षा करें। |
| `IP_LOCATION_NOT_ALLOWED` | IP जियोफ़ेंसिंग सक्षम है और सत्र का IP उस देश या राज्य/क्षेत्र में स्थित है जिसे अननुमत चिह्नित किया गया है। `additional_data`: `ip_country_code` (ISO-3), `ip_country`, `ip_state`, `restricted_by` (`country` या `state`)। | कॉन्फ़िगर की गई कार्रवाई को दर्शाता है | कॉन्फ़िगर करने योग्य: Decline / Review / No action (डिफ़ॉल्ट: Decline)। | क्षेत्राधिकार संबंधी प्रतिबंधों को लागू करने के लिए उपयोग करें। `vpn_detection_action` के साथ जोड़ें ताकि मास्क्ड ट्रैफ़िक फ़ेंस को बायपास न कर सके। |

जब रिकवर किए गए डिवाइस में अभी तक कोई योग्य सिबलिंग सत्र नहीं होते हैं (इसलिए `matches[]` में कुछ भी नहीं आता है), तब भी `DEVICE_RECOVERED_HIGH_CONFIDENCE` एक फ़ॉलबैक `additional_data` संरचना के साथ ट्रिगर होता है: `recovery_match_device_uuid`, `recovery_match_similarity`, `recovery_match_band`, `recovery_gate_reason`।

`IP_LOCATION_NOT_ALLOWED` तब ट्रिगर होता है जब IP जियोफ़ेंसिंग सक्षम होती है (`is_ip_geofencing_enabled`) और सत्र का IP ऐसे देश या राज्य/क्षेत्र में स्थित होता है जिसे `ip_geofencing_by_country` में अननुमत चिह्नित किया गया है। `additional_data` में `ip_country_code` (ISO-3), `ip_country`, `ip_state`, और `restricted_by` (`country` या `state`) शामिल होते हैं। राज्य/क्षेत्र प्रविष्टियाँ देश के फ़्लैग को ओवरराइड करती हैं और IP प्रदाता के क्षेत्र नाम (जैसे `"California"`) से केस-असंवेदनशील मिलान किया जाता है; कॉन्फ़िगरेशन में सूचीबद्ध नहीं किए गए देशों को अनुमति दी जाती है।

## डिवाइस और रनटाइम इंटीग्रिटी

नेटिव SDKs और वेब क्लाइंट द्वारा रिपोर्ट किए गए सिग्नल, जो उस डिवाइस की स्थिति का वर्णन करते हैं जिस पर सत्यापन चलाया गया था। ये इंजेक्शन अटैक का पता लगाने के लिए मौजूद हैं: एक हमलावर जो डिवाइस को रूट कर सकता है या ऐप प्रोसेस को हुक कर सकता है, वह बायोमेट्रिक जांच तक पहुँचने से पहले ही कैमरा फ़ीड को बदल सकता है।

प्रत्येक को प्रति वर्कफ़्लो कॉन्फ़िगर किया जा सकता है और यह डिफ़ॉल्ट रूप से **कोई कार्रवाई नहीं** पर सेट होता है, इसलिए जब तक आप ऑप्ट इन नहीं करते, इस सुविधा को सक्षम करने से कोई भी निर्णय नहीं बदलता है।

| जोखिम | कारण | कॉन्फ़िगरेशन कुंजी | डिफ़ॉल्ट |
| - | - | - | - |
| `DEVICE_APP_TAMPERED` | प्लेटफ़ॉर्म अटेस्टेशन यह सत्यापित करने में विफल रहा कि अनुरोध किसी वास्तविक डिवाइस पर एप्लिकेशन के वास्तविक, असंशोधित बिल्ड से आया था। | `device_app_tampered_action` | `NO_ACTION` |
| `DEVICE_RUNTIME_HOOKING_DETECTED` | एप्लिकेशन प्रोसेस में एक रनटाइम इंस्ट्रूमेंटेशन या हुकिंग फ़्रेमवर्क (Frida, Xposed, LSPosed, Substrate) का पता चला था। | `device_hooking_action` | `NO_ACTION` |
| `DEVICE_ROOTED_OR_JAILBROKEN` | डिवाइस रूट या जेलब्रेक संकेतक दिखाता है, जो उन ऑपरेटिंग-सिस्टम सुरक्षा उपायों को हटा देते हैं जो कैमरा इंटरसेप्शन को रोकते हैं। | `device_rooted_action` | `NO_ACTION` |
| `DEVICE_EMULATOR_DETECTED` | सत्र किसी भौतिक डिवाइस के बजाय किसी एमुलेटर या सिम्युलेटर से उत्पन्न हुआ था। | `device_emulator_action` | `NO_ACTION` |
| `DEVICE_DEBUGGER_ATTACHED` | सत्यापन के दौरान एप्लिकेशन से एक डीबगर या प्रोसेस ट्रेसर जुड़ा हुआ था। | `device_debugger_action` | `NO_ACTION` |
| `AUTOMATION_FRAMEWORK_DETECTED` | सत्र किसी व्यक्ति के बजाय ब्राउज़र ऑटोमेशन फ़्रेमवर्क या हेडलेस ब्राउज़र द्वारा संचालित किया गया था। | `automation_detected_action` | `NO_ACTION` |
| `DEVICE_INTEGRITY_SIGNALS_MISSING` | क्लाइंट ने ऐसे SDK संस्करण की रिपोर्ट की जो इंटीग्रिटी रिपोर्टिंग का समर्थन करता है, लेकिन कोई इंटीग्रिटी सिग्नल नहीं मिले — जो यह संकेत दे सकता है कि ट्रांज़िट के दौरान सिग्नल हटा दिए गए थे। | `device_integrity_missing_action` | `NO_ACTION` |

> [!NOTE]
>
> प्रत्येक प्रोब सर्वोत्तम प्रयास है। जब कोई जांच नहीं चल पाती है, तो यह क्लीन परिणाम के बजाय **निर्धारित नहीं** रिपोर्ट करती है, ताकि विफल होने वाली प्रोब कभी भी किसी वैध उपयोगकर्ता के विरुद्ध फ़ॉल्स पॉज़िटिव उत्पन्न न करे। सिग्नल नेटिव SDK **4.4.0** और उसके बाद से रिपोर्ट किए जाते हैं; पुराने SDKs के सत्र अपेक्षित रूप से कोई सिग्नल नहीं भेजते हैं और कभी भी `DEVICE_INTEGRITY_SIGNALS_MISSING` उत्पन्न नहीं करते हैं।

> [!WARNING]
>
> रूट और एमुलेटर सिग्नल संशोधित लेकिन गैर-धोखाधड़ी वाले डिवाइस पर वैध उपयोगकर्ताओं के बीच सामान्य हैं। इन्हें अस्वीकृत करने के बजाय समीक्षा पर शुरू करें और नियमों को सख्त करने से पहले अपनी अस्वीकृति दर की निगरानी करें।

## कॉन्फ़िगर करने योग्य सेटिंग्स

प्रति-नोड वर्कफ़्लो नियंत्रण (एप्लिकेशन की सत्यापन सेटिंग्स पर वैश्विक स्तर पर भी कॉन्फ़िगर करने योग्य; जब तक कि उल्लेख न किया गया हो, हर कार्रवाई का डिफ़ॉल्ट **कोई कार्रवाई नहीं** होता है):

| सेटिंग | ट्रिगर करता है | डिफ़ॉल्ट |
| - | - | - |
| `vpn_detection_action` | `PRIVATE_NETWORK_DETECTED` | कोई कार्रवाई नहीं |
| `ip_mismatch_action` | `COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP` | कोई कार्रवाई नहीं |
| `expected_ip_mismatch_action` | `EXPECTED_IP_ADDRESS_MISMATCH` | कोई कार्रवाई नहीं |
| `duplicated_ip_action` | `DUPLICATED_IP_ADDRESS` | कोई कार्रवाई नहीं |
| `duplicated_device_action` | `DUPLICATED_DEVICE_FINGERPRINT` | कोई कार्रवाई नहीं |
| `recovered_device_action` | `DEVICE_RECOVERED_HIGH_CONFIDENCE` | कोई कार्रवाई नहीं |
| `device_liveness_attack_history_action` | `DEVICE_LINKED_TO_LIVENESS_ATTACK` | कोई कार्रवाई नहीं |
| `device_model_inconsistency_action` | `DEVICE_MODEL_INCONSISTENT` | कोई कार्रवाई नहीं |
| `ip_geofencing_action` | `IP_LOCATION_NOT_ALLOWED` | अस्वीकृति |

IP और डिवाइस अनुमति सूचियाँ केवल अनुमति सूची में शामिल मान के लिए सटीक डुप्लिकेट-IP या निर्धारक डुप्लिकेट-डिवाइस चेतावनी को दबाती हैं। वे VPN/प्रॉक्सी, देश बेमेल, अपेक्षित-IP बेमेल, पुनर्प्राप्त डिवाइस या ब्लॉकलिस्ट चेतावनियों को नहीं दबाती हैं।

पुनर्प्राप्त डिवाइस चेतावनियाँ उन धोखाधड़ी रिंगों का पता लगाने के लिए उपयोगी हैं जो एक ही हार्डवेयर से खातों और सत्रों को बदलते हैं, लेकिन Didit डिज़ाइन के अनुसार सतर्क दृष्टिकोण अपनाता है — जब साक्ष्य पर्याप्त रूप से मजबूत नहीं होते हैं, तो सिस्टम असंबंधित डिवाइसों को आपस में मिला देने की तुलना में कुछ डुप्लिकेट उपयोगकर्ताओं को छोड़ देना बेहतर समझता है। **अनुशंसित रोलआउट**: समीक्षा के साथ शुरुआत करें, दो सप्ताह तक वॉल्यूम पर नज़र रखें, और यदि आपकी फ़ॉल्स पॉज़िटिव दर कम है तो कार्रवाई को और सख्त करें।

## डुप्लिकेट डिवाइस बनाम पुनर्प्राप्त डिवाइस

दोनों चेतावनियों को अलग-अलग तरीके से संभालें — वे अलग-अलग साक्ष्यों पर ट्रिगर होती हैं:

| चेतावनी | ट्रिगर | सामान्य अर्थ | अनुशंसित पहली कार्रवाई |
| - | - | - | - |
| `DUPLICATED_DEVICE_FINGERPRINT` | सटीक पर्सिस्टेंट डिवाइस पहचान (`persistent_id`) या लीगेसी फ़िंगरप्रिंट हैश (`legacy_fp`) का मिलान। | पुख्ता सबूत कि एक ही डिवाइस अलग-अलग उपयोगकर्ताओं में दिखाई देता है। | अपनी धोखाधड़ी सहनशीलता के आधार पर समीक्षा या अस्वीकृति। |
| `DEVICE_RECOVERED_HIGH_CONFIDENCE` | स्टोरेज, सत्र या ऐप पहचान बदलने के बाद उच्च-विश्वास v2 रिकवरी (`recovered_high`)। | गुप्त (incognito) / स्टोरेज-रीसेट / ऐप को पुनः इंस्टॉल करने के प्रयासों के लिए मजबूत संकेत। जानबूझकर अलग किया गया है ताकि आप इसकी स्वतंत्र रूप से निगरानी कर सकें। | पहले समीक्षा करें, फिर अपनी फ़ॉल्स पॉज़िटिव दर को मापने के बाद सख्त करें। |

## क्रॉस-सत्र मिलान

जब **विभिन्न उपयोगकर्ताओं** से संबंधित सत्रों में समान IP पता, सटीक डिवाइस पहचान, या पुनर्प्राप्त डिवाइस का पता लगाया जाता है, तो Didit इन्हें `ip_analyses[]` पर `matches[]` के रूप में रिकॉर्ड करता है। सत्रों को `vendor_data` द्वारा समूहीकृत किया जाता है: समान `vendor_data` वाले सत्रों को एक ही उपयोगकर्ता माना जाता है और मिलानों से बाहर रखा जाता है। `vendor_data` के बिना, प्रत्येक सत्र को एक अद्वितीय उपयोगकर्ता माना जाता है और सभी संभावित डुप्लिकेट सामने आते हैं — हम अनपेक्षित शोर को कम करने के लिए हमेशा `vendor_data` प्रदान करने की दृढ़ता से अनुशंसा करते हैं।

प्रत्येक मिलान में शामिल हैं:

* मिलान करने वाले सत्र का `session_id`, `session_number`, `vendor_data`, और `verification_date`, साथ ही इसका लाइफ़साइकिल `status` और `api_service` (वर्कफ़्लो सत्रों के लिए `null`); `source` हमेशा `session` होता है
* `match_type` — `ip_address` या `device_fingerprint`
* `match_source` — `ip_address`, `persistent_id`, `legacy_fp`, या `recovered_high`
* `matched_value` — साझा IP, डिवाइस पहचानकर्ता, या (पुनर्प्राप्त मिलानों के लिए) पुनर्प्राप्त डिवाइस UUID
* `confidence` (0–1, `1 - P(false positive)`) और `match_mode` (`deterministic` / `probabilistic` / `co_occurrence`)
* `device_info` — `device_brand`, `device_model`, `browser_family`, `os_family`, `platform`, `device_fingerprint`
* `location_info` — `ip_address`, `ip_country`, `ip_country_code`, `ip_state`, `ip_city`, `is_vpn_or_tor`, `is_data_center`
* जब `match_source` `recovered_high` हो तो पुनर्प्राप्त-डिवाइस अतिरिक्त जानकारी: `recovery_similarity`, `tls_ja4_corroborated`, `recovery_gate_reason`

IP मिलान और डिवाइस मिलान प्रत्येक 5 तक सीमित हैं (अधिकतम 10 प्रविष्टियाँ)। पूर्ण मिलान स्कीमा और विश्वास मॉडल के लिए [रिपोर्ट पेज](https://docs.didit.me/hi/core-technology/ip-analysis/report-ip-analysis.md#मिलान-सिमेंटिक्स) देखें।

## उदाहरण

### VPN + देश बेमेल (समीक्षा के लिए कॉन्फ़िगर किया गया)

```json theme={null}
{
  "warnings": [
    {
      "feature": "LOCATION",
      "risk": "PRIVATE_NETWORK_DETECTED",
      "additional_data": null,
      "log_type": "warning",
      "short_description": "Private network (VPN/Tor) detected",
      "long_description": "The system detected that the user tried to use a private network (VPN/TOR) to complete the verification process.",
      "node_id": "ip-1"
    },
    {
      "feature": "LOCATION",
      "risk": "COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP",
      "additional_data": { "document_country_code": "ESP", "ip_country_code": "NLD" },
      "log_type": "warning",
      "short_description": "Document country does not match IP country",
      "long_description": "The country from the document does not match the country from the IP address, suggesting a potential mismatch between the document and the user's location.",
      "node_id": "ip-1"
    }
  ]
}
```

### ब्लॉकलिस्ट हिट (अस्वीकृति के लिए बाध्य करता है)

```json theme={null}
{
  "warnings": [
    {
      "feature": "LOCATION",
      "risk": "IP_ADDRESS_IN_BLOCKLIST",
      "additional_data": { "ip_address": "45.61.20.5" },
      "log_type": "error",
      "short_description": "IP address in blocklist",
      "long_description": "The IP address used for this session was found in the application's IP blocklist, indicating a known suspicious or forbidden origin.",
      "node_id": "ip-1"
    }
  ]
}
```

### उच्च विश्वास वाला पुनर्प्राप्त डिवाइस (समीक्षा के लिए कॉन्फ़िगर किया गया)

```json theme={null}
{
  "warnings": [
    {
      "feature": "LOCATION",
      "risk": "DEVICE_RECOVERED_HIGH_CONFIDENCE",
      "additional_data": {
        "duplicated_session_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "duplicated_session_number": 5101,
        "api_service": null,
        "match_source": "recovered_high",
        "recovery_similarity": 0.9874,
        "recovery_match_device_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479"
      },
      "log_type": "warning",
      "short_description": "Device matches a previously seen device with high confidence",
      "long_description": "A previously seen device matched this session with high confidence through v2 fuzzy fingerprint recovery after passing strict hard gates, indicating the same physical device under a fresh persistent_id.",
      "node_id": "ip-1"
    }
  ]
}
```

## संबंधित

* [डिवाइस और IP विश्लेषण रिपोर्ट](https://docs.didit.me/hi/core-technology/ip-analysis/report-ip-analysis.md) — पूर्ण रिस्पॉन्स स्वरूप और स्थिति शब्दार्थ
* [डिवाइस और IP विश्लेषण अवलोकन](https://docs.didit.me/hi/core-technology/ip-analysis/overview.md) — प्रत्येक ब्लॉक क्या मापता है
* [डेटा मॉडल — IP विश्लेषण](https://docs.didit.me/hi/reference/data-models.md#ip-विश्लेषण) — प्रामाणिक स्कीमा
* [webhook](https://docs.didit.me/hi/integration/webhooks.md) — `status.updated` में IP विश्लेषण चेतावनियाँ शामिल होती हैं

### चेतावनी के प्रकार


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.