> ## 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.

# पहचान सत्यापन चेतावनियाँ और एरर कोड

> Didit के पहचान सत्यापन की हर चेतावनी: ऑटो-अस्वीकृति ट्रिगर, कॉन्फ़िगर योग्य जोखिम समूह, मिलान व छेड़छाड़ कोड, कारण और समाधान सहित।

## अवलोकन

पहचान सत्यापन रिपोर्ट पर चेतावनियाँ दस्तावेज़ को पढ़ने और मान्य करने के दौरान Didit द्वारा देखी गई प्रत्येक स्थिति को फ़्लैग करती हैं। वे `id_verifications[]` के प्रत्येक आइटम पर `warnings[]` एरे में आती हैं ([पहचान सत्यापन रिपोर्ट](https://docs.didit.me/hi/core-technology/id-verification/report-id-verification.md) देखें), जिसका प्रारूप [डेटा मॉडल — चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) में वर्णित है: `feature`, `risk`, `additional_data`, `log_type`, `short_description`, `long_description`, `node_id`।

प्रत्येक चेतावनी के तीन स्तर होते हैं:

1. **`risk` कोड** — एक स्थिर पहचानकर्ता जिसे आप अपने कोड में मैच कर सकते हैं।
2. **`log_type`** — मूल्यांकन के समय आपका कॉन्फ़िगरेशन जोखिम को जो कार्रवाई सौंपता है उससे प्राप्त होता है: **अस्वीकार करें → `error`**, **समीक्षा → `warning`**, अन्य कुछ भी → `information`।
3. **निर्णय पर प्रभाव** — वर्कफ़्लो के कॉन्फ़िगर करने योग्य जोखिम समूहों द्वारा निर्धारित किया जाता है। आपका एप्लिकेशन कैसे कॉन्फ़िगर किया गया है, इसके आधार पर एक ही `risk` कोड को **स्वीकृति**, **समीक्षा**, या **अस्वीकृति** पर रूट किया जा सकता है।

## ऑटो-डिक्लाइन स्थितियाँ

वर्कफ़्लो में, निम्नलिखित जोखिम हमेशा ID रिपोर्ट (और सत्र) को `Declined` स्थिति में ले जाते हैं। इन्हें कॉन्फ़िगर नहीं किया जा सकता:

| जोखिम | ट्रिगर |
| - | - |
| `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` | सबमिट किया गया दस्तावेज़ प्रकार आपके एप्लिकेशन की अनुमत-दस्तावेज़ सूची में नहीं है। `additional_data` में `issuing_state`, `document_type`, `document_subtype`, `document_region`, और `document_region_with_subtype` शामिल हैं ताकि आप अपने वर्कफ़्लो में सटीक दस्तावेज़ सक्षम कर सकें। |
| `DOCUMENT_EXPIRED` | कैप्चर के समय दस्तावेज़ की समाप्ति तिथि बीत चुकी है। |
| `PORTRAIT_IMAGE_NOT_DETECTED` | दस्तावेज़ पर कोई पोर्ट्रेट छवि नहीं पाई जा सकी। |
| `ID_DOCUMENT_IN_BLOCKLIST` | दस्तावेज़ आपके एप्लिकेशन की ब्लॉकलिस्ट में किसी प्रविष्टि से मेल खाता है। |
| `FRONT_CAMERA_FACE_IN_BLOCKLIST` | दस्तावेज़ कैप्चर के दौरान फ्रंट कैमरे द्वारा ली गई सेल्फ़ी आपकी फ़ेस ब्लॉकलिस्ट के किसी चेहरे से मेल खाती है। |
| `AGE_BELOW_MINIMUM` | केवल अनुकूली आयु-सत्यापन वर्कफ़्लो: निकाली गई आयु न्यूनतम से कम है। |
| `AGE_NOT_DETECTED` | केवल अनुकूली आयु-सत्यापन वर्कफ़्लो: दस्तावेज़ से आयु नहीं निकाली जा सकी। |

**स्टैंडअलोन OCR API** के लिए, बिना शर्त अस्वीकार करने वाला सेट `DOCUMENT_EXPIRED`, `MINIMUM_AGE_NOT_MET`, `PORTRAIT_IMAGE_NOT_DETECTED`, `SCREEN_CAPTURE_DETECTED`, `PRINTED_COPY_DETECTED`, `PORTRAIT_MANIPULATION_DETECTED`, और `PUBLIC_DOCUMENT_IMAGE_DETECTED` है। वर्कफ़्लो में, न्यूनतम आयु कॉन्फ़िगर करने योग्य है (डिफ़ॉल्ट अस्वीकार) और दस्तावेज़-लाइवनेस के तीन जोखिम थ्रेशोल्ड-आधारित हैं (नीचे देखें)।

उस API के कॉन्फ़िगर करने योग्य जोखिम अनुरोध पैरामीटर के रूप में समीक्षा निर्णय के बजाय `DECLINE` या `NO_ACTION` लेते हैं। यह जो एक समीक्षा परिणाम दे सकता है वह कॉन्फ़िगर करने योग्य नहीं है: जब किसी अनुरोधित दस्तावेज़-लाइवनेस जांच से कोई उपयोग योग्य स्कोर नहीं मिलता है, तो रिस्पॉन्स `In Review` होता है जिसमें `DOCUMENT_LIVENESS_NOT_COMPUTED` चेतावनी होती है ([दस्तावेज़ लाइवनेस](#दस्तावेज़-लाइवनेस-छेड़छाड़) देखें)।

| अनुरोध पैरामीटर | जोखिम | डिफ़ॉल्ट |
| - | - | - |
| `invalid_mrz_action` | `MRZ_VALIDATION_FAILED`, `MRZ_NOT_DETECTED` | `DECLINE` |
| `inconsistent_data_action` | `DATA_INCONSISTENT`, `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME`, `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS` | `DECLINE` |
| `expiration_date_not_detected_action` | `EXPIRATION_DATE_NOT_DETECTED` | `NO_ACTION` |
| `critical_field_occlusion_action` | `CRITICAL_FIELD_OCCLUSION_DETECTED` | `DECLINE` |
| `document_or_personal_number_format_mismatch_action` | `DOCUMENT_NUMBER_FORMAT_MISMATCH`, `PERSONAL_NUMBER_FORMAT_MISMATCH` | `NO_ACTION` |

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

Didit कंसोल में, शेष ID जोखिमों को सेटिंग्स में समूहीकृत किया गया है जिन्हें आप **अनुमोदित करें**, **समीक्षा**, या **अस्वीकार करें** पर रूट कर सकते हैं (प्रति वर्कफ़्लो, और ग्राफ़ वर्कफ़्लो में प्रति नोड):

| समूह | जोखिम | डिफ़ॉल्ट कार्रवाई |
| - | - | - |
| **न्यूनतम आयु** | `MINIMUM_AGE_NOT_MET` | अस्वीकार करें |
| **अधिकतम आयु** | `MAXIMUM_AGE_EXCEEDED` | अस्वीकार करें |
| **डुप्लिकेट उपयोगकर्ता** | `POSSIBLE_DUPLICATED_USER` (दस्तावेज़ संख्या आपकी दस्तावेज़ अनुमति सूची में होने पर छोड़ दिया जाता है) | अनुमोदित करें (जानकारी) |
| **अमान्य कोड** | `QR_NOT_DETECTED`, `BARCODE_NOT_DETECTED`, `QR_VALIDATION_FAILED`, `BARCODE_VALIDATION_FAILED` | अनुमोदित करें (जानकारी) |
| **अमान्य MRZ** | `MRZ_VALIDATION_FAILED`, `MRZ_NOT_DETECTED` | अनुमोदित करें (जानकारी) |
| **डेटा असंगति** | `DATA_INCONSISTENT`, `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME`, `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS`, `DOCUMENT_SIDES_MISMATCH`, `ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTS` | अनुमोदित करें (जानकारी) |
| **अमान्य सत्यापन** | `INVALID_DATE`, `COULD_NOT_RECOGNIZE_DOCUMENT`, `DOCUMENT_NUMBER_NOT_DETECTED`, `COULD_NOT_DETECT_DOCUMENT_TYPE`, `NAME_NOT_DETECTED`, `DATE_OF_BIRTH_NOT_DETECTED` | समीक्षा |
| **अपेक्षित विवरण का बेमेल** | `FULL_NAME_MISMATCH_WITH_PROVIDED`, `GENDER_MISMATCH_WITH_PROVIDED`, `DOB_MISMATCH_WITH_PROVIDED`, `COUNTRY_MISMATCH_WITH_PROVIDED`, `NATIONALITY_MISMATCH_WITH_PROVIDED`, `IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDED` | समीक्षा |
| **समाप्ति तिथि का पता नहीं चला** | `EXPIRATION_DATE_NOT_DETECTED` | अनुमोदित करें (जानकारी) |
| **दस्तावेज़ या व्यक्तिगत संख्या के प्रारूप का बेमेल** | `DOCUMENT_NUMBER_FORMAT_MISMATCH`, `PERSONAL_NUMBER_FORMAT_MISMATCH` (एक साझा कार्रवाई) | समीक्षा |
| **महत्वपूर्ण फ़ील्ड ढका हुआ** | `CRITICAL_FIELD_OCCLUSION_DETECTED` | समीक्षा |
| **अनपार्स किया गया पता** | `UNPARSED_ADDRESS` | अनुमोदित करें (जानकारी) |
| **इमेज गुणवत्ता** | `IMAGE_TOO_BLURRY`, `IMAGE_TOO_DARK`, `IMAGE_TOO_BRIGHT` (प्रति जोखिम एक कार्रवाई) | अनुमोदित करें (जानकारी) |
| **पोर्ट्रेट के बिना दस्तावेज़** | `DOCUMENT_HAS_NO_PORTRAIT` | समीक्षा |
| **साइलेंट कैप्चर में डुप्लिकेट चेहरा** | `FRONT_CAMERA_DUPLICATED_FACE`, `POSSIBLE_FRONT_CAMERA_DUPLICATED_FACE` (एक साझा कार्रवाई) | अनुमोदित करें (जानकारी) |
| **अलग नाम वाला साइलेंट कैप्चर डुप्लिकेट** | `FRONT_CAMERA_DUPLICATED_FACE_NAME_MISMATCH` (केवल डुप्लिकेट-चेहरा परिणाम को अधिक सख्त बना सकता है) | समीक्षा |
| **अलग जन्म तिथि वाला साइलेंट कैप्चर डुप्लिकेट** | `FRONT_CAMERA_DUPLICATED_FACE_DOCUMENT_MISMATCH` (केवल डुप्लिकेट-चेहरा परिणाम को अधिक सख्त बना सकता है) | समीक्षा |

साइलेंट कैप्चर डुप्लिकेट और ब्लॉकलिस्ट जोखिम [दस्तावेज़ कैप्चर के दौरान ली गई सेल्फ़ी पर चेहरा खोज](https://docs.didit.me/hi/core-technology/face-search/overview.md#दस्तावेज़-कैप्चर-के-दौरान-ली-गई-सेल्फ़ी) से आते हैं। यह खोज तब चलती है जब **साइलेंट कैप्चर चेहरा खोज** (`document_selfie_face_search_enabled`) चालू होती है, जो कि डिफ़ॉल्ट है, और लाइवनेस चरण पर चेहरा खोज बंद नहीं होती है; अन्यथा इन छह जोखिमों में से कोई भी ट्रिगर नहीं होता है।

दो ID जोखिम समूह अनुमोदित करें/समीक्षा/अस्वीकार करें टॉगल के बजाय **थ्रेशोल्ड-आधारित** हैं:

* **दस्तावेज़ लाइवनेस** — `SCREEN_CAPTURE_DETECTED`, `PRINTED_COPY_DETECTED`, `PORTRAIT_MANIPULATION_DETECTED`। धोखाधड़ी के प्रत्येक प्रकार के अपने अस्वीकार और समीक्षा थ्रेशोल्ड होते हैं: अस्वीकार थ्रेशोल्ड से नीचे का स्कोर → `error` + अस्वीकृत; समीक्षा थ्रेशोल्ड से नीचे → `warning` + समीक्षाधीन; अन्यथा `information`।
* **क्रॉस-कैमरा चेहरा मिलान** — `LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITY`, जो `document_selfie_portrait_match_decline_threshold` / `document_selfie_portrait_match_review_threshold` द्वारा नियंत्रित होता है।

### दस्तावेज़ लाइवनेस थ्रेशोल्ड कॉन्फ़िगर करना

वर्कफ़्लो एडिटर में ये थ्रेशोल्ड पहचान सत्यापन चरण के **जालसाजी** टैब पर होते हैं, प्रति धोखाधड़ी प्रकार एक कार्ड: **पोर्ट्रेट प्रतिस्थापन**, **प्रिंट की हुई कॉपी**, और **स्क्रीन कैप्चर**।

प्रत्येक जाँच दस्तावेज़ को यह देखने के लिए `0` से `100` तक का स्कोर देती है कि वह कितना वास्तविक दिखता है। **उच्च स्कोर का अर्थ है कि दस्तावेज़ के वास्तविक होने की संभावना अधिक है।** कार्ड पर दिए गए दो मान उस स्केल को तीन श्रेणियों में विभाजित करते हैं:

| स्कोर | परिणाम |
| - | - |
| **अस्वीकार करें** मान से नीचे | `error`, सत्र अस्वीकृत हो जाता है |
| **अस्वीकार करें** मान पर या उससे अधिक और **समीक्षा** मान से नीचे | `warning`, सत्र समीक्षाधीन हो जाता है |
| **समीक्षा** मान पर या उससे अधिक | `information`, जाँच पास हो जाती है |

किसी भी मान को बढ़ाने से जाँच अधिक सख्त हो जाती है: अधिक सत्र इसके ऊपर की श्रेणी में आते हैं। मान कम करने से अधिक सत्र आगे बढ़ पाते हैं। एडिटर में अस्वीकार करें मान समीक्षा मान से आगे नहीं जा सकता। API के माध्यम से, समीक्षा मान से ऊपर का अस्वीकार करें मान समीक्षाधीन श्रेणी को हटा देता है।

प्लेटफ़ॉर्म डिफ़ॉल्ट, जिनका उपयोग तब किया जाता है जब कोई वर्कफ़्लो कोई मान सेट नहीं करता है:

| धोखाधड़ी प्रकार | इससे नीचे अस्वीकार करें | इससे नीचे समीक्षा | वर्कफ़्लो कॉन्फ़िग कुंजियाँ |
| - | - | - | - |
| पोर्ट्रेट प्रतिस्थापन | `35` | `70` | `document_liveness_portrait_replace_decline_threshold`, `document_liveness_portrait_replace_review_threshold` |
| प्रिंट की हुई कॉपी | `35` | `77` | `document_liveness_printed_copy_decline_threshold`, `document_liveness_printed_copy_review_threshold` |
| स्क्रीन कैप्चर | `30` | `70` | `document_liveness_screen_replay_decline_threshold`, `document_liveness_screen_replay_review_threshold` |

डिफ़ॉल्ट से शुरू करें और एक समय में एक मान बदलें। प्रत्येक कार्ड अपना डिफ़ॉल्ट और एक **डिफ़ॉल्ट पर रीसेट करें** बटन दिखाता है, ताकि आप हमेशा इस पर वापस लौट सकें। एडिटर आपको इन कॉन्फ़िगरेशन के बारे में भी चेतावनी देता है:

* **`100` पर समीक्षा।** केवल एक आदर्श स्कोर ही पास होता है, इसलिए लगभग हर सत्र समीक्षाधीन हो जाता है या अस्वीकृत हो जाता है।
* **`100` पर अस्वीकार करें।** केवल एक आदर्श स्कोर ही अस्वीकृति से बच पाता है, इसलिए लगभग हर सत्र अस्वीकृत हो जाता है।
* **दोनों मान `0` पर।** किसी भी स्कोर को कभी भी फ़्लैग नहीं किया जाता है, इसलिए जाँच प्रभावी रूप से बंद हो जाती है।

दोनों मानों को समान संख्या पर सेट करने से समीक्षाधीन श्रेणी हट जाती है: इससे नीचे का स्कोर अस्वीकृत हो जाता है और कोई भी अन्य स्कोर पास हो जाता है।

जब **प्रिंट की हुई कॉपी** और **स्क्रीन कैप्चर** दोनों एक ही दस्तावेज़ को फ़्लैग करते हैं, तो केवल `SCREEN_CAPTURE_DETECTED` रिपोर्ट किया जाता है।

क्रॉस-कैमरा चेहरा मिलान सीमा पर एक अंतर के साथ इसी विचार का उपयोग करता है: इसके समीक्षा थ्रेशोल्ड के बराबर का स्कोर भी समीक्षाधीन में जाता है।

चार ID जोखिम न तो कॉन्फ़िगर करने योग्य हैं और न ही थ्रेशोल्ड-आधारित। `POSSIBLE_FRONT_CAMERA_FACE_IN_BLOCKLIST` हमेशा **समीक्षा** के लिए रूट करता है: एक सेल्फ़ी जो ब्लॉकलिस्ट किए गए चेहरे के करीब है, बिना किसी पुष्ट मिलान के, उसका निर्णय किसी व्यक्ति द्वारा किया जाना होता है, यह कभी भी स्वचालित अस्वीकृति नहीं होती और इसे कभी अनदेखा नहीं किया जाता। `BARCODE_SIGNATURE_INVALID` हमेशा **समीक्षा** के लिए रूट करता है। यह केवल तभी ट्रिगर होता है जब बारकोड में जारीकर्ता प्राधिकरण का ऐसा हस्ताक्षर होता है जो क्रिप्टोग्राफ़िक सत्यापन में विफल रहता है, इसलिए ऐसा कोई कॉन्फ़िगरेशन नहीं है जिसमें किसी सिद्ध जालसाज़ी को अनदेखा किया जा सके। `DOCUMENT_BACK_SIDE_NOT_AVAILABLE` हमेशा **जानकारी** होता है और निर्णय को कभी प्रभावित नहीं करता: यह प्रस्तुत दस्तावेज़ की किसी विशेषता के बजाय Didit के दस्तावेज़ कैटलॉग की सीमा की रिपोर्ट करता है, इसलिए ऐसा कोई कॉन्फ़िगरेशन नहीं है जिसमें यह किसी वास्तविक धारक को अस्वीकृत कर सके या समीक्षा के लिए भेज सके।
`FRONT_CAMERA_CAPTURED_DOCUMENT` हमेशा **समीक्षा** के लिए रूट करता है।
यह केवल तभी ट्रिगर होता है जब दस्तावेज़ स्कैन करते समय लिया गया फ्रंट-कैमरा फ़्रेम एक पहचान दस्तावेज़ दिखाता है और किसी व्यक्ति को नहीं दिखाता, जिससे ऐसा कैप्चर जो यह नहीं बताता कि दस्तावेज़ किसने पकड़ा था, हमेशा किसी व्यक्ति तक पहुँचे।
इसकी जांच तब की जाती है जब भी दस्तावेज़ कैप्चर सेल्फ़ी मिलान (`is_document_selfie_portrait_match_enabled`) चालू होता है।

## उत्पन्न होने वाली चेतावनियाँ

`collect_ocr_logs`, दस्तावेज़-कैप्चर फ़्लो, और `process_ocr_logs_and_get_status` के आधार पर सत्यापित। नीचे दिए गए संक्षिप्त विवरण API द्वारा लौटाए गए सटीक `short_description` स्ट्रिंग्स हैं।

### दस्तावेज़ पहचान और गुणवत्ता

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `COULD_NOT_RECOGNIZE_DOCUMENT` | Could not validate Document | सिस्टम सबमिट किए गए दस्तावेज़ की प्रामाणिकता या वैधता की पुष्टि नहीं कर सका — अक्सर खराब इमेज गुणवत्ता या असमर्थित दस्तावेज़ प्रकार के कारण। इसे अज्ञात प्रोसेसिंग विफलताओं के लिए फ़ॉलबैक के रूप में भी उपयोग किया जाता है। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `COULD_NOT_DETECT_DOCUMENT_TYPE` | Could not detect document type | दस्तावेज़ का अगला भाग उच्च विश्वास के साथ किसी ज्ञात आधिकारिक दस्तावेज़ डिज़ाइन से मेल नहीं खाता है, या OCR इंजन दस्तावेज़ परिवार (पासपोर्ट बनाम ID बनाम DL) को वर्गीकृत नहीं कर सका। ऐसा दस्तावेज़ जिसमें वैध डेटा है लेकिन जिसका लेआउट किसी भी आधिकारिक डिज़ाइन से मेल नहीं खाता है (एक संपादित या कंप्यूटर जनरेटेड दस्तावेज़, या एक नया डिज़ाइन जो अभी समर्थित नहीं है) यहाँ आता है। जब यह ट्रिगर होता है, तो `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` को दबा दिया जाता है (प्रकार अज्ञात है, इसलिए "समर्थित नहीं है" विरोधाभासी होगा)। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION` | Document not supported for your application | पहचाना गया दस्तावेज़ प्रकार एप्लिकेशन की अनुमत सूची में नहीं है। `additional_data` में देश, दस्तावेज़ प्रकार, उपप्रकार और क्षेत्र-विशिष्ट उपप्रकार शामिल होते हैं। | `error` — **स्वतः-अस्वीकृति** |
| `DOCUMENT_EXPIRED` | Document expired | कैप्चर के समय: दस्तावेज़ की समाप्ति तिथि बीत चुकी है (`error`, स्वतः-अस्वीकृति)। स्वीकृति के बाद: जब किसी स्वीकृत दस्तावेज़ की तिथि बीत जाती है, तो सतत समाप्ति निगरानी `log_type: "warning"` के साथ इस चेतावनी को जोड़ती है, और रिपोर्ट की स्थिति `Expired` हो जाती है। | कैप्चर के समय `error`; निगरानी से `warning` |
| `DOCUMENT_SIDES_MISMATCH` | Document sides mismatch | आगे और पीछे की इमेज एक ही दस्तावेज़ की नहीं हैं। | कॉन्फ़िगर करने योग्य — Data Inconsistency, डिफ़ॉल्ट information |
| `DOCUMENT_BACK_SIDE_NOT_AVAILABLE` | Back side not available for this document | वर्कफ़्लो ने दोनों पक्षों का अनुरोध किया था, आगे के भाग को पहचान लिया गया, और Didit की दस्तावेज़ कैटलॉग उस सटीक दस्तावेज़ के लिए कोई पिछला भाग पंजीकृत नहीं करती है, इसलिए केवल अगला भाग ही एकत्र किया जा सका। रिपोर्ट का साक्ष्य एकतरफ़ा है। प्रस्तुत दस्तावेज़ में कोई खराबी नहीं है, धारक को इसे फिर से लेने के लिए कभी नहीं कहा जाता है, और पुनः स्कैन करने से पिछला भाग नहीं जुड़ सकता है। `additional_data` में पहचाना गया `front_document_name` शामिल होता है। | `information` — कभी भी निर्णय को प्रभावित नहीं करता है |
| `PORTRAIT_IMAGE_NOT_DETECTED` | Portrait image not detected | ऐसे दस्तावेज़ पर कोई पोर्ट्रेट नहीं पाया जा सका जिसमें पोर्ट्रेट होना चाहिए (जब उपयोगकर्ता पहले बिना पोर्ट्रेट वाला भाग अपलोड करता है तो इसे स्थगित कर दिया जाता है)। | `error` — **स्वतः-अस्वीकृति** |
| `DOCUMENT_HAS_NO_PORTRAIT` | Document has no portrait | पहचाने गए दस्तावेज़ परिवार में कभी भी किसी भी तरफ़ पोर्ट्रेट फ़ोटो नहीं होती है (कुछ निवास परमिट, स्वास्थ्य कार्ड, पंजीकरण प्रमाणपत्र, टैक्स कार्ड, और DL/ID का एक सबसेट)। यह दस्तावेज़ प्रकार के बारे में एक कैटलॉग-स्तरीय तथ्य है, कोई इमेज-गुणवत्ता संबंधी समस्या नहीं — दस्तावेज़ को पुनः स्कैन करने से परिणाम नहीं बदल सकता है। | कॉन्फ़िगर करने योग्य — Document Without Portrait, डिफ़ॉल्ट Review |
| `IMAGE_TOO_BLURRY` / `IMAGE_TOO_DARK` / `IMAGE_TOO_BRIGHT` | Document image is too blurry / too dark / too bright | इमेज-क्वालिटी गेट ने एक अपलोड को अस्वीकार कर दिया (उपयोगकर्ता से दोबारा फ़ोटो लेने के लिए कहा जाता है)। `additional_data` में विफल होने वाली `side` शामिल होती है। एक सफल पुनः प्रयास पुरानी चेतावनी को हटा देता है; उपयोगकर्ता के अंतिम अनुमत प्रयास पर गेट को छोड़ दिया जाता है ताकि उन्हें कभी भी पूरी तरह से ब्लॉक न किया जाए। | कॉन्फ़िगर करने योग्य — प्रति-जोखिम Image Quality कार्रवाई, डिफ़ॉल्ट information |

> [!NOTE]
>
> कैप्चर फ़्लो फ़ीडबैक कोड `IMAGE_RESOLUTION_TOO_LOW`, `DOCUMENT_NOT_FULLY_VISIBLE`, `IMAGE_QUALITY_TOO_LOW`, और `DOCUMENT_OCCLUSION_DETECTED` (एक उंगली या वस्तु को मुद्रित टेक्स्ट को भौतिक रूप से कवर करते हुए आंका गया है) के साथ भी अपलोड को अस्वीकार कर सकता है। इनमें से प्रत्येक SDK में दोबारा फ़ोटो लेने का संकेत देता है और इसे रिपोर्ट पर अपने स्वयं के जोखिम के रूप में दर्ज किया जाता है, जिसे Image Quality सेटिंग्स द्वारा रूट किया जाता है — `DOCUMENT_OCCLUSION_DETECTED` और `IMAGE_QUALITY_TOO_LOW` एक ही कार्रवाई साझा करते हैं। ये *कैप्चर* का वर्णन करते हैं: सफल पुनः प्रयास चेतावनी को हटा देता है। कवर किया गया फ़ील्ड निर्णय को प्रभावित करे या नहीं, यह नीचे दिए गए अलग इंटीग्रिटी-संबंधी `CRITICAL_FIELD_OCCLUSION_DETECTED` का अलग विषय है, जिसे निर्णय के समय उठाया जाता है और यह डिफ़ॉल्ट रूप से Review पर सेट होता है।

> [!TIP]
>
> यदि आपका वर्कफ़्लो दस्तावेज़ पोर्ट्रेट के बजाय चेहरा मिलान पर पहचान स्थापित करता है, तो **Document Without Portrait** को Decline पर रूट करने पर विचार करें — अन्यथा बिना पोर्ट्रेट वाला दस्तावेज़ परिवार तुलना करने के लिए कुछ भी उपलब्ध न होने पर चेहरा मिलान तक पहुँच जाता है।

### फ़ील्ड निष्कर्षण

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `NAME_NOT_DETECTED` | First name and/or last name not detected | पहला नाम और/या अंतिम नाम निकाला नहीं जा सका। छूट तब दी जाती है जब धारक का कानूनी रूप से केवल एक नाम हो (एकल-नाम वाले देश, या MRZ में ही एकल नाम हो) और कम से कम एक नाम मान निकाला गया हो। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `DATE_OF_BIRTH_NOT_DETECTED` | Date of birth not detected | ऐसे दस्तावेज़ से जन्म तिथि नहीं निकाली जा सकी जिसमें जन्म तिथि होनी चाहिए। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `DOCUMENT_NUMBER_NOT_DETECTED` | Document number not detected | न तो दस्तावेज़ संख्या और न ही व्यक्तिगत संख्या निकाली जा सकी। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `EXPIRATION_DATE_NOT_DETECTED` | Expiration date not detected | ऐसे दस्तावेज़ से समाप्ति तिथि नहीं निकाली जा सकी जिसमें समाप्ति तिथि होनी चाहिए। | कॉन्फ़िगर करने योग्य — Expiration Date Not Detected, डिफ़ॉल्ट information |
| `INVALID_DATE` | Invalid Date | दस्तावेज़ पर दी गई कोई तिथि (जन्म तिथि या समाप्ति तिथि) वैध तिथि के रूप में पार्स नहीं होती है। वर्तमान कैप्चर फ़्लो में यह संग्रहीत चेतावनी के बजाय अपलोड के दौरान दोबारा फ़ोटो लेने के संकेत के रूप में सामने आती है; कोड Invalid Validation रूटिंग समूह में रहता है और पुराने सत्रों पर दिखाई दे सकता है। | कॉन्फ़िगर करने योग्य — Invalid Validation, डिफ़ॉल्ट Review |
| `DOCUMENT_NUMBER_FORMAT_MISMATCH` | दस्तावेज़ संख्या का फ़ॉर्मेट मेल नहीं खाता | दस्तावेज़ संख्या इस दस्तावेज़ प्रकार के लिए कॉन्फ़िगर किए गए अपेक्षित फ़ॉर्मेट से मेल नहीं खाती है। `additional_data` में `expected_format` और `extracted_value` शामिल होते हैं। | कॉन्फ़िगरेबल — फ़ॉर्मेट में असंगति, डिफ़ॉल्ट समीक्षा |
| `PERSONAL_NUMBER_FORMAT_MISMATCH` | व्यक्तिगत संख्या का फ़ॉर्मेट मेल नहीं खाता | व्यक्तिगत संख्या इस दस्तावेज़ प्रकार के लिए कॉन्फ़िगर किए गए अपेक्षित फ़ॉर्मेट से मेल नहीं खाती है। | कॉन्फ़िगरेबल — फ़ॉर्मेट में असंगति, डिफ़ॉल्ट समीक्षा |
| `CRITICAL_FIELD_OCCLUSION_DETECTED` | दस्तावेज़ का एक महत्वपूर्ण फ़ील्ड ढका हुआ है | ऑक्लूज़न जाँच ने रिपोर्ट किया कि कैप्चर पर एक महत्वपूर्ण मुद्रित फ़ील्ड भौतिक रूप से ढका हुआ था — एक पहचान संख्या, एक नाम, जन्म तिथि, या समाप्ति तिथि। यह दस्तावेज़ की अखंडता का संकेत है, कैप्चर गुणवत्ता का नहीं: जिन नंबरों से रिपोर्ट का मिलान किया जाता है, उन्हें ढकना ठीक वैसा ही दिखता है जैसा किसी छिपाए गए या छेड़छाड़ किए गए दस्तावेज़ में होता है। ढके हुए फ़ील्ड के लिए पढ़े गए मान को एक पुष्ट मान के रूप में वापस करने के बजाय निष्कर्षण से हटा दिया जाता है, इसलिए संबंधित `*_NOT_DETECTED` जोखिम आमतौर पर इस चेतावनी के साथ आता है। `additional_data` में `covered_fields` में ढके हुए फ़ील्ड के नाम होते हैं, और `covered_identifiers` तब होते हैं जब उनमें से कोई एक `document_number` या `personal_number` को फ़ीड करता है। | कॉन्फ़िगरेबल — महत्वपूर्ण फ़ील्ड ढका हुआ, डिफ़ॉल्ट समीक्षा |

### MRZ, QR, बारकोड

जिन दस्तावेज़ प्रकारों की MRZ की विश्वसनीयता ज्ञात रूप से कम है, उनके लिए तीनों MRZ जोखिम छोड़ दिए जाते हैं।

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `MRZ_NOT_DETECTED` | MRZ का पता नहीं चला | ऐसे दस्तावेज़ पर MRZ नहीं मिल सका जिसमें यह होना चाहिए था। | कॉन्फ़िगरेबल — अमान्य MRZ, डिफ़ॉल्ट जानकारी |
| `MRZ_VALIDATION_FAILED` | MRZ मान्य नहीं है | MRZ का चेकसम / फ़ॉर्मेट सत्यापन विफल रहा। अक्सर यह एक निम्न-गुणवत्ता वाला कैप्चर होता है; यह छेड़छाड़ का संकेत भी हो सकता है। | कॉन्फ़िगरेबल — अमान्य MRZ, डिफ़ॉल्ट जानकारी |
| `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME` | MRZ और OCR से निकाले गए डेटा में कुछ विसंगतियाँ हैं | MRZ की सामग्री VIZ (दृश्य क्षेत्र) OCR से मेल नहीं खाती। संभावित फेरबदल। | कॉन्फ़िगरेबल — डेटा में विसंगति, डिफ़ॉल्ट जानकारी |
| `QR_NOT_DETECTED` | QR का पता नहीं चला | ऐसे दस्तावेज़ पर QR कोड नहीं मिल सका जिसमें यह होना चाहिए था। | कॉन्फ़िगरेबल — अमान्य कोड, डिफ़ॉल्ट जानकारी |
| `QR_VALIDATION_FAILED` | QR सत्यापन विफल रहा | दस्तावेज़ के बाकी हिस्सों के विरुद्ध QR सामग्री को सत्यापित नहीं किया जा सका। | कॉन्फ़िगरेबल — अमान्य कोड, डिफ़ॉल्ट जानकारी |
| `BARCODE_NOT_DETECTED` | बारकोड का पता नहीं चला | ऐसे दस्तावेज़ पर बारकोड नहीं मिल सका जिसमें यह होना चाहिए था। | कॉन्फ़िगरेबल — अमान्य कोड, डिफ़ॉल्ट जानकारी |
| `BARCODE_VALIDATION_FAILED` | बारकोड सत्यापन विफल रहा | दस्तावेज़ के बाकी हिस्सों के विरुद्ध बारकोड सामग्री को सत्यापित नहीं किया जा सका। | कॉन्फ़िगरेबल — अमान्य कोड, डिफ़ॉल्ट जानकारी |
| `BARCODE_SIGNATURE_INVALID` | बारकोड हस्ताक्षर अमान्य है | बारकोड में जारीकर्ता प्राधिकरण का एक डिजिटल हस्ताक्षर होता है, और वह हस्ताक्षर सत्यापित नहीं हुआ - बारकोड में मौजूद डेटा वह डेटा नहीं है जिस पर प्राधिकरण ने हस्ताक्षर किए थे, जो जाली या बदले हुए दस्तावेज़ की ओर संकेत करता है। वर्तमान में **फ़्रेंच 2D-Doc (ANTS)** बारकोड के लिए जाँचा जाता है, जहाँ एक सत्यापित हस्ताक्षर Didit को MRZ पुष्टि की आवश्यकता के बिना फ़ील्ड को प्रमोट करने की अनुमति देता है; AAMVA (US/कनाडा ड्राइविंग लाइसेंस और ID) हस्ताक्षरों का केवल पता लगाया जाता है और लॉग किया जाता है, अभी तक लागू नहीं किया गया है। | निश्चित - समीक्षा (अलग कार्रवाई समूह `invalid_barcode_signature_action`; अभी तक कंसोल/API-कॉन्फ़िगरेबल नहीं) |
| `DATA_INCONSISTENT` | दस्तावेज़ में OCR डेटा सुसंगत नहीं है | दस्तावेज़ के विभिन्न भागों से निकाला गया डेटा आपस में मेल नहीं खाता — आम तौर पर एक ही दस्तावेज़ के आगे और पीछे के हिस्से। | कॉन्फ़िगरेबल — डेटा में विसंगति, डिफ़ॉल्ट जानकारी |

> [!NOTE]
>
> बारकोड हस्ताक्षर सत्यापन वर्तमान में फ़्रेंच राष्ट्रीय पहचान पत्रों को कवर करता है, जिनके ANTS 2D-Doc बारकोड पर जारीकर्ता प्राधिकरण द्वारा हस्ताक्षर किए जाते हैं। `BARCODE_SIGNATURE_INVALID` केवल तभी उत्पन्न होता है जब हस्ताक्षर जाँच स्वयं payload को अस्वीकार कर देती है। बिना किसी हस्ताक्षर वाला बारकोड, किसी ऐसे प्राधिकरण द्वारा हस्ताक्षरित जो अभी तक Didit के ट्रस्ट स्टोर में नहीं है, या ऐसा बारकोड जिसके हस्ताक्षर को डिकोड नहीं किया जा सकता है, उसे अप्रमाणित डेटा माना जाता है और यह जोखिम उत्पन्न किए बिना, पहले की तरह MRZ और मुद्रित पाठ के विरुद्ध मान्य किया जाता है।
>
> US और कनाडाई ड्राइविंग लाइसेंस (AAMVA) बारकोड क्रिप्टोग्राफ़िक रूप से सत्यापित नहीं होते हैं: वहाँ डिजिटल हस्ताक्षर वैकल्पिक और क्षेत्राधिकार-विशिष्ट है, और कोई भी क्षेत्राधिकार सत्यापन कुंजियाँ प्रकाशित नहीं करता है, इसलिए Didit केवल यह पता लगाता है और लॉग करता है कि किसी payload में हस्ताक्षर है या नहीं; हस्ताक्षर की स्वयं कभी जाँच नहीं की जाती है। AAMVA हस्ताक्षर विफलताएँ आज एक जोखिम संकेत नहीं हैं। एक छेड़छाड़ किया गया AAMVA payload केवल `BARCODE_VALIDATION_FAILED` के रूप में सामने आता है, और केवल तभी जब छेड़छाड़ के कारण बारकोड MRZ या मुद्रित/OCR डेटा से असहमत हो जाता है - अन्यथा आंतरिक रूप से सुसंगत payload पर एक जाली हस्ताक्षर बिना किसी संकेत के पास हो जाता है।
>
> `BARCODE_SIGNATURE_INVALID` पर उपयोगकर्ता से कभी भी पुनः कैप्चर करने के लिए नहीं कहा जाता है: जो हस्ताक्षर payload से मेल नहीं खाता है उसे बेहतर फ़ोटो लेकर ठीक नहीं किया जा सकता है।

### पहचान मिलान

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `ID_DOCUMENT_IN_BLOCKLIST` | ID दस्तावेज़ ब्लॉकलिस्ट में है | दस्तावेज़ किसी ब्लॉकलिस्ट किए गए दस्तावेज़ (समान जन्म तिथि, जारीकर्ता देश और सटीक दस्तावेज़ संख्या) या मैन्युअल रूप से ब्लॉकलिस्ट की गई दस्तावेज़ संख्या से मेल खाता है। `additional_data` में ब्लॉकलिस्ट किए गए सत्र का संदर्भ होता है। | `error` — **ऑटो-डिक्लाइन** |
| `ID_DOCUMENT_IN_ALLOWLIST` | ID दस्तावेज़ अनुमति सूची में है | दस्तावेज़ संख्या आपकी दस्तावेज़ अनुमति सूची से मेल खाती है, इसलिए डुप्लिकेट-उपयोगकर्ता कार्रवाई छोड़ दी गई। `additional_data` में `document_number` होता है। | `information` |
| `POSSIBLE_DUPLICATED_USER` | अन्य सत्र से संभावित डुप्लिकेट उपयोगकर्ता | आपके एप्लिकेशन में मौजूद किसी अन्य दस्तावेज़ में समान जन्म तिथि, समान जारीकर्ता देश और अत्यधिक समान पूरा नाम है — एक अलग उपयोगकर्ता (`vendor_data`) के तहत, भले ही उस सत्र की स्थिति कुछ भी हो। `additional_data` में डुप्लिकेट सत्र का संदर्भ होता है। | कॉन्फ़िगरेबल — डुप्लिकेट उपयोगकर्ता, डिफ़ॉल्ट जानकारी |
| `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS` | दस्तावेज़ का नाम अन्य स्वीकृत दस्तावेज़ों से भिन्न है | इस दस्तावेज़ पर नाम उसी उपयोगकर्ता के लिए पहले स्वीकृत किए गए दस्तावेज़ों से भिन्न है। केवल Didit-प्रोटोकॉल (UserKYC) खातों के लिए उत्पन्न होता है, मानक API सत्रों के लिए नहीं। | कॉन्फ़िगरेबल — डेटा में विसंगति, डिफ़ॉल्ट जानकारी |
| `ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTS` | पहचान सत्यापन दस्तावेज़ों के बीच डेटा बेमेल | एक ही सत्र में दो पहचान दस्तावेज़ नाम / जन्म तिथि पर असहमत हैं। | कॉन्फ़िगर करने योग्य — डेटा विसंगति, डिफ़ॉल्ट जानकारी |
| `LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITY` | दस्तावेज़ कैप्चर के दौरान सेल्फ़ी दस्तावेज़ के पोर्ट्रेट से मेल नहीं खाती | दस्तावेज़ कैप्चर के दौरान उपयोगकर्ता के फ्रंट कैमरे से कैप्चर किया गया चेहरा दस्तावेज़ के पोर्ट्रेट से ठीक से मेल नहीं खाता। | थ्रेशोल्ड-संचालित: अस्वीकार थ्रेशोल्ड से नीचे `error`, समीक्षा थ्रेशोल्ड पर या उससे नीचे `warning` |
| `FRONT_CAMERA_FACE_IN_BLOCKLIST` | दस्तावेज़ कैप्चर के दौरान सेल्फ़ी ब्लॉकलिस्ट किए गए चेहरे से मेल खाती है | दस्तावेज़ कैप्चर के दौरान फ्रंट कैमरे द्वारा ली गई सेल्फ़ी का चेहरा आपकी फ़ेस ब्लॉकलिस्ट में मौजूद किसी चेहरे से निश्चित रूप से मेल खाता है, चाहे वह चेहरा लाइवनेस जांच से जोड़ा गया हो, किसी अन्य सत्र के दस्तावेज़-कैप्चर सेल्फ़ी से, या अपलोड द्वारा। जब ब्लॉकलिस्ट किया गया चेहरा किसी सत्र से आया हो, तो `additional_data` ब्लॉकलिस्ट किए गए सत्र का संदर्भ (`blocklisted_session_id`, `blocklisted_session_number`) रखता है, और मेल खाने वाली सेल्फ़ी के लिए `face_image_source` (`front_image_camera_front` या `back_image_camera_front`) प्रदान करता है। | `error` — **स्वतः-अस्वीकार** |
| `POSSIBLE_FRONT_CAMERA_FACE_IN_BLOCKLIST` | दस्तावेज़ कैप्चर के दौरान सेल्फ़ी ब्लॉकलिस्ट किए गए चेहरे से मेल खा सकती है | दस्तावेज़-कैप्चर सेल्फ़ी का चेहरा आपकी फ़ेस ब्लॉकलिस्ट के किसी चेहरे के समान है, लेकिन पुष्टि किए गए मिलान के लिए पर्याप्त समान नहीं है। ऊपर जैसा ही `additional_data`। | `warning` — **हमेशा समीक्षा** |
| `FRONT_CAMERA_DUPLICATED_FACE` | दस्तावेज़ कैप्चर के दौरान सेल्फ़ी किसी स्वीकृत उपयोगकर्ता से मेल खाती है | दस्तावेज़ कैप्चर के दौरान फ्रंट कैमरे द्वारा ली गई सेल्फ़ी का चेहरा आपके एप्लिकेशन में पहले से स्वीकृत उपयोगकर्ता के चेहरे से निश्चित रूप से मेल खाता है, इसलिए वही व्यक्ति किसी अन्य खाते के तहत पुनः सत्यापन कर रहा हो सकता है। `additional_data` मेल खाने वाले सत्र (`duplicated_session_id`, `duplicated_session_number`) और मेल खाने वाली सेल्फ़ी के लिए `face_image_source` रखता है। | **साइलेंट कैप्चर में डुप्लिकेट चेहरा** के अनुसार (डिफ़ॉल्ट रूप से स्वीकृत करें, `information`) |
| `POSSIBLE_FRONT_CAMERA_DUPLICATED_FACE` | दस्तावेज़ कैप्चर के दौरान सेल्फ़ी किसी स्वीकृत उपयोगकर्ता से मेल खा सकती है | दस्तावेज़-कैप्चर सेल्फ़ी का चेहरा आपके एप्लिकेशन में पहले से स्वीकृत उपयोगकर्ता के चेहरे के समान है, लेकिन पुष्टि किए गए मिलान के लिए पर्याप्त समान नहीं है। ऊपर जैसा ही `additional_data`। | **साइलेंट कैप्चर में डुप्लिकेट चेहरा** के अनुसार (डिफ़ॉल्ट रूप से स्वीकृत करें, `information`) |
| `FRONT_CAMERA_DUPLICATED_FACE_NAME_MISMATCH` | दस्तावेज़ कैप्चर सेल्फ़ी भिन्न नाम वाले उपयोगकर्ता से मेल खाती है | जब स्वीकृत उपयोगकर्ता को किसी भिन्न नाम के तहत सत्यापित किया गया था, तो `FRONT_CAMERA_DUPLICATED_FACE` के साथ-साथ ट्रिगर होता है। `additional_data` में `name_match_score` जुड़ता है; यह कभी भी अन्य उपयोगकर्ता का नाम नहीं रखता। | **साइलेंट कैप्चर में भिन्न नाम वाला डुप्लिकेट** के अनुसार (डिफ़ॉल्ट समीक्षा, `warning`) |
| `FRONT_CAMERA_DUPLICATED_FACE_DOCUMENT_MISMATCH` | दस्तावेज़ कैप्चर सेल्फ़ी भिन्न जन्म तिथि वाले उपयोगकर्ता से मेल खाती है | जब स्वीकृत उपयोगकर्ता का पहचान दस्तावेज़ भिन्न जन्म तिथि दिखाता है, तो `FRONT_CAMERA_DUPLICATED_FACE` के साथ-साथ ट्रिगर होता है। उसी व्यक्ति का कोई भिन्न दस्तावेज़ (उदाहरण के लिए ID कार्ड के बाद पासपोर्ट), एक नवीनीकृत दस्तावेज़, या उसी देश की वही दस्तावेज़ संख्या को फ़्लैग नहीं किया जाता है। `additional_data` में `mismatch_dimensions` जुड़ता है, कभी भी अन्य उपयोगकर्ता का दस्तावेज़ डेटा नहीं। | **साइलेंट कैप्चर में भिन्न जन्म तिथि वाला डुप्लिकेट** के अनुसार (डिफ़ॉल्ट समीक्षा, `warning`) |
| `FRONT_CAMERA_CAPTURED_DOCUMENT` | फ्रंट कैमरे ने उपयोगकर्ता के बजाय ID दस्तावेज़ कैप्चर किया | दस्तावेज़ स्कैन करते समय लिए गए फ्रंट-कैमरा फ़्रेम में एक पहचान दस्तावेज़ (उदाहरण के लिए कैमरे के सामने रखा गया कार्ड) दिखाई देता है और कोई व्यक्ति नहीं दिखता। उस फ़्रेम के लिए दस्तावेज़ कैप्चर सेल्फ़ी मिलान की गणना नहीं की जाती है। | हमेशा **समीक्षा** |

### दस्तावेज़ लाइवनेस (छेड़छाड़)

वर्कफ़्लो में धोखाधड़ी के प्रकार के अनुसार थ्रेशोल्ड-संचालित। स्टैंडअलोन OCR API पर ये तीन जोखिम बिना किसी शर्त के अस्वीकार कर दिए जाते हैं, और एक अनुरोधित जांच जिससे कोई उपयोग योग्य स्कोर प्राप्त नहीं होता, स्वीकृत करने के बजाय `In Review` लौटाती है।

स्कोर स्वयं प्रत्येक V3 रिपोर्ट पर [`document_liveness`](https://docs.didit.me/hi/core-technology/id-verification/report-id-verification#दस्तावेज़-लाइवनेस-स्कोर) के रूप में उपलब्ध होते हैं, तब भी जब कोई चेतावनी ट्रिगर नहीं हुई हो, ताकि एक स्वीकृत दस्तावेज़ का भी ऑडिट किया जा सके।

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `SCREEN_CAPTURE_DETECTED` | दस्तावेज़ का स्क्रीन कैप्चर डिटेक्ट हुआ | दस्तावेज़ किसी भौतिक दस्तावेज़ के बजाय स्क्रीन से कैप्चर किया गया था। | अस्वीकार थ्रेशोल्ड से नीचे `error`, समीक्षा थ्रेशोल्ड से नीचे `warning`, अन्यथा `information` |
| `PRINTED_COPY_DETECTED` | दस्तावेज़ की मुद्रित प्रति डिटेक्ट हुई | दस्तावेज़ मूल प्रति के बजाय मुद्रित प्रति प्रतीत होता है। | समान त्रि-स्तरीय थ्रेशोल्ड |
| `PORTRAIT_MANIPULATION_DETECTED` | पोर्ट्रेट हेरफेर डिटेक्ट हुआ | पोर्ट्रेट क्षेत्र को बदला हुआ या छेड़छाड़ किया गया प्रतीत होता है। | समान त्रि-स्तरीय थ्रेशोल्ड |
| `DOCUMENT_LIVENESS_NOT_COMPUTED` | दस्तावेज़ लाइवनेस जांच की गणना नहीं की जा सकी | अनुरोधित दस्तावेज़-लाइवनेस (जालसाजी) जांच ने कोई उपयोग योग्य स्कोर नहीं लौटाया — प्रदाता विफल रहा, गैर-200 उत्तर दिया, या `status="ERR"` के साथ HTTP 200 उत्तर दिया — इसलिए दस्तावेज़ की पोर्ट्रेट प्रतिस्थापन, मुद्रित प्रति, या स्क्रीन रीप्ले के लिए कभी जांच नहीं की गई। स्कोर की कमी वास्तविक दस्तावेज़ का प्रमाण नहीं है। केवल स्टैंडअलोन OCR API। | `warning` + `In Review` (कॉन्फ़िगर करने योग्य नहीं; कभी भी `Declined` को ओवरराइड नहीं करता) |

### कैप्चर चैनल अखंडता

| जोखिम | संक्षिप्त विवरण | कारण | इसके माध्यम से कॉन्फ़िगर करने योग्य | डिफ़ॉल्ट |
| - | - | - | - | - |
| `INJECTION_ATTACK_DETECTED` | इंजेक्शन अटैक डिटेक्ट हुआ | कैप्चर को डिवाइस के अपने कैमरे द्वारा कैप्चर किए जाने के बजाय इंजेक्ट किया गया था: एक सॉफ़्टवेयर वर्चुअल कैमरा जो कोई भी वीडियो चला सकता है, पेज या ब्राउज़र ऑटोमेशन द्वारा जनरेट किया गया कैमरा फ़ीड, एक हुक्ड कैमरा, या ऐप से जुड़े एक इंस्ट्रूमेंटेशन टूल ने फ़्रेम की आपूर्ति की थी। `additional_data.reasons` केवल उन कारणों को सूचीबद्ध करता है जो इसे साबित करते हैं, और `source` `capture_integrity` है। यह दस्तावेज़ कैप्चर और ID लुकअप के लिए ली गई सेल्फ़ी पर लागू होता है। | `id_verification_injection_attack_action` | **अस्वीकार करें** |

`log_type` कॉन्फ़िगर की गई कार्रवाई को दर्शाता है: Decline के लिए `error`, Review के लिए `warning`, No action के लिए `information`।
अनुशंसित कार्रवाई: किसी अस्वीकृत सत्र को इंजेक्शन कैप्चर के रूप में मानें और उस व्यक्ति से उसके बिल्ट-इन कैमरे वाले भौतिक डिवाइस पर पुनः प्रयास करने के लिए कहें।
एक वास्तविक व्यक्ति द्वारा उत्पन्न किए जा सकने वाले सिग्नल कभी भी `INJECTION_ATTACK_DETECTED` ट्रिगर नहीं करते हैं और सूचनात्मक ही रहते हैं।
वास्तविक कैमरे को रिले करने वाले ऐप्स, जैसे कि वेबकैम के रूप में उपयोग किया जाने वाला फ़ोन या वास्तविक वेबकैम पर इफ़ेक्ट्स लेयर, को इंजेक्शन अटैक के रूप में रिपोर्ट नहीं किया जाता है।
यह इंजेक्शन अटैक डिटेक्शन है, जो प्रेज़ेंटेशन अटैक डिटेक्शन (वास्तविक कैमरे के सामने प्रस्तुत की गई फ़ेक सामग्री) से अलग है।

### ज्ञात सार्वजनिक दस्तावेज़ छवियां

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `PUBLIC_DOCUMENT_IMAGE_DETECTED` | ज्ञात सार्वजनिक इंटरनेट दस्तावेज़ छवि का पता चला | सबमिट की गई दस्तावेज़ छवि किसी ज्ञात सार्वजनिक रूप से उपलब्ध इंटरनेट छवि (उदाहरण के लिए किसी दस्तावेज़ का नमूना, प्रेस या स्टॉक फ़ोटो) से मेल खाती है, इसलिए यह उपयोगकर्ता के अपने भौतिक दस्तावेज़ की फ़ोटो नहीं हो सकती है। मिलान Didit के ज्ञात सार्वजनिक दस्तावेज़ छवियों के कॉर्पस के विरुद्ध सटीक और परसेप्चुअल (pHash/dHash) फ़िंगरप्रिंटिंग का उपयोग करता है; `additional_data` में `match_type` (`exact` या `perceptual`), `source`, `source_url`, और एक `similarity_score` (0-100) शामिल होता है। | Fixed - वर्कफ़्लो में Review; स्टैंडअलोन `/id-verification` API पर **auto-decline** |

### अपेक्षित विवरण के बेमेल

जब आप किसी सत्र में `expected_details` पास करते हैं, तो Didit मेल न खाने वाले प्रत्येक फ़ील्ड के लिए एक मिसमैच चेतावनी जारी करता है। एक समूह (`expected_details_mismatch_action`, डिफ़ॉल्ट Review) इन सभी के लिए रूटिंग को नियंत्रित करता है:

| जोखिम | संक्षिप्त विवरण | कारण |
| - | - | - |
| `FULL_NAME_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ पूरा नाम मेल नहीं खाता | प्रदान किए गए नाम का दस्तावेज़ के नाम से मिलान स्कोर नाम-मिलान थ्रेशोल्ड से कम है। |
| `DOB_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ जन्म तिथि मेल नहीं खाती | प्रदान की गई जन्म तिथि मेल नहीं खाती। |
| `GENDER_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ लिंग मेल नहीं खाता | प्रदान किया गया लिंग मेल नहीं खाता। |
| `COUNTRY_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ देश मेल नहीं खाता | प्रदान किया गया देश `issuing_state` से मेल नहीं खाता। |
| `NATIONALITY_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ राष्ट्रीयता मेल नहीं खाती | प्रदान की गई राष्ट्रीयता मेल नहीं खाती। |
| `IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDED` | प्रदान की गई जानकारी के साथ पहचान संख्या मेल नहीं खाती | प्रदान किया गया ID नंबर दस्तावेज़ संख्या, व्यक्तिगत संख्या या कर संख्या से मेल नहीं खाता। |

प्रत्येक मिसमैच चेतावनी `additional_data` में अपेक्षित और निकाले गए मान रखती है।

### आयु

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `MINIMUM_AGE_NOT_MET` | न्यूनतम आयु पूरी नहीं हुई | धारक कॉन्फ़िगर की गई न्यूनतम आयु (वैश्विक या प्रति-देश/राज्य) से कम है। `additional_data` में `min_age_allowed` और `user_age` शामिल हैं। | कॉन्फ़िगर करने योग्य — Minimum Age, डिफ़ॉल्ट Decline (`error`); स्टैंडअलोन OCR API पर बिना शर्त अस्वीकृति |
| `MAXIMUM_AGE_EXCEEDED` | अधिकतम आयु पार हो गई | धारक कॉन्फ़िगर की गई अधिकतम आयु से अधिक है। `additional_data` में `max_age_allowed` और `user_age` शामिल हैं। | कॉन्फ़िगर करने योग्य — Maximum Age, डिफ़ॉल्ट Decline (`error`) |
| `AGE_NOT_DETECTED` | आयु का पता नहीं चला | एडेप्टिव आयु-सत्यापन वर्कफ़्लो: दस्तावेज़ से आयु नहीं निकाली जा सकी। | `error` — **auto-decline** |
| `AGE_BELOW_MINIMUM` | आयु न्यूनतम से कम है | एडेप्टिव आयु-सत्यापन वर्कफ़्लो: निकाली गई आयु न्यूनतम से कम है। | `error` — **auto-decline** |

### पता

| जोखिम | संक्षिप्त विवरण | कारण | गंभीरता |
| - | - | - | - |
| `UNPARSED_ADDRESS` | पते के स्थान का निर्धारण करने में असमर्थ | दस्तावेज़ एक पता फ़ील्ड को परिभाषित करता है, लेकिन निकाले गए पते को पार्स या जियोलोकेट नहीं किया जा सका। | कॉन्फ़िगर करने योग्य — Unparsed Address, डिफ़ॉल्ट information |

## क्रॉस-सत्र दस्तावेज़ मिलान

उपरोक्त चेतावनियों के अलावा, V3 ID रिपोर्ट एक `matches[]` सरणी प्रदान करती है — आपके एप्लिकेशन में समान जन्म तिथि, समान जारीकर्ता देश और अत्यधिक समान पूरे नाम वाले अधिकतम 5 अन्य दस्तावेज़ (ब्लॉकलिस्ट किए गए दस्तावेज़ों के लिए अतिरिक्त रूप से सटीक दस्तावेज़-संख्या मिलान की आवश्यकता होती है), उन सत्रों को छोड़कर जो समान उपयोगकर्ता के हैं। आपकी ब्लॉकलिस्ट में जोड़े गए दस्तावेज़ `is_blocklisted: true` के साथ दिखाई देते हैं। आपकी अनुमति सूची में शामिल दस्तावेज़ अभी भी मिलानों में दिखाई देते हैं, लेकिन उनकी डुप्लिकेट-उपयोगकर्ता कार्रवाई छोड़ दी जाती है।

प्रत्येक मिलान में `session_id`, `session_number`, `vendor_data`, `verification_date`, `user_details` (`name`, `document_type`, `document_number`), `status`, `is_blocklisted`, `api_service`, और एक हस्ताक्षरित `front_image_url` शामिल होता है।

## उदाहरण

### अपनी डिफ़ॉल्ट रूटिंग (information) पर कॉन्फ़िगर करने योग्य चेतावनी

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "QR_NOT_DETECTED",
    "additional_data": null,
    "log_type": "information",
    "short_description": "QR not detected",
    "long_description": "The system couldn't find or read the QR code on the document. This could be due to poor image quality or an unsupported document type.",
    "node_id": "id_primary"
  }
]
```

### समाप्त हो चुके दस्तावेज़ पर ऑटो-डिक्लाइन

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "DOCUMENT_EXPIRED",
    "additional_data": null,
    "log_type": "error",
    "short_description": "Document expired",
    "long_description": "The document's expiration date has passed, rendering it no longer valid for use.",
    "node_id": "id_primary"
  }
]
```

### payload के साथ अपेक्षित विवरण का मिसमैच

```json theme={null}
"warnings": [
  {
    "feature": "ID_VERIFICATION",
    "risk": "DOB_MISMATCH_WITH_PROVIDED",
    "additional_data": {
      "expected_dob": "1990-01-01",
      "extracted_dob": "1991-03-15"
    },
    "log_type": "warning",
    "short_description": "Date of birth mismatch with provided information",
    "long_description": "The provided date of birth in `expected_details` doesn't match the date extracted from the document.",
    "node_id": "id_primary"
  }
]
```

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

आपके एप्लिकेशन के कॉन्फ़िगरेशन के आधार पर प्रत्येक जोखिम को एक गंभीरता सौंपी जाती है। तीन गंभीरता स्तर हैं:

## संबंधित

* [पहचान सत्यापन रिपोर्ट](https://docs.didit.me/hi/core-technology/id-verification/report-id-verification.md) — पूर्ण रिपोर्ट स्कीमा और स्थितियां।
* [दस्तावेज़ निगरानी](https://docs.didit.me/hi/core-technology/id-verification/document-monitoring-id-verification.md) — Didit छेड़छाड़ और क्रॉस-सत्र डुप्लिकेट का पता कैसे लगाता है।
* [Webhooks](https://docs.didit.me/hi/integration/webhooks.md) — जैसे ही पहचान सत्यापन चरण समाप्त होता है, `session.status.updated` में चेतावनियाँ शामिल होती हैं।
* [डेटा मॉडल — ID सत्यापन](https://docs.didit.me/hi/reference/data-models.md#पहचान-सत्यापन) — कैनोनिकल फ़ील्ड-दर-फ़ील्ड स्कीमा।
* [डेटा मॉडल — Warning ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) — `warnings[]` में प्रत्येक प्रविष्टि की संरचना।


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