> ## 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 में बायोमेट्रिक प्रमाणीकरण चेतावनियों, LOW_LIVENESS_SCORE, फ़ेस अटैक और ब्लॉकलिस्ट मिलान को संभालें व थ्रेशोल्ड कॉन्फ़िगर करें।

बायोमेट्रिक प्रमाणीकरण सत्र निर्माण के समय निर्धारित संदर्भ चेहरे (प्रदान की गई `portrait_image`, या `vendor_data` द्वारा खोजे गए उपयोगकर्ता के संग्रहीत चेहरे) के विरुद्ध लाइवनेस जांच को एक वैकल्पिक 1:1 चेहरा मिलान के साथ जोड़ता है। प्रत्येक चरण V3 निर्णय payload में अपनी चेतावनियाँ उत्सर्जित करता है। यह पेज प्रत्येक कोड, यह कहाँ दिखाई देता है, और थ्रेशोल्ड अंतिम सत्र स्थिति में कैसे बदलते हैं, इसकी सूची देता है।

## ओवरव्यू

जब कोई बायोमेट्रिक प्रमाणीकरण सत्र चलता है, तो Didit:

* 3D Action, Flash, या Passive Liveness (`method`: `ACTIVE_3D`, `FLASHING`, या `PASSIVE`) का उपयोग करके एक लाइव सेल्फ़ी कैप्चर करता है।
* कैप्चर से सबसे बड़े चेहरे को निकालता है और उसकी लाइवनेस को स्कोर करता है।
* यदि वर्कफ़्लो में चेहरा मिलान शामिल है, तो कैप्चर किए गए चेहरे की तुलना सत्र के संदर्भ चेहरे (प्रदान की गई `portrait_image` या उपयोगकर्ता के संग्रहीत चेहरे) से करता है।
* प्रत्येक चरण के परिणाम और किसी भी चेतावनी को सत्र निर्णय में लिखता है।

चेतावनियाँ पूरे प्लेटफ़ॉर्म पर उपयोग की जाने वाली साझा [चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) की संरचना बनाए रखती हैं: `feature`, `risk`, `additional_data`, `log_type`, `short_description`, `long_description`, और `node_id`।

## चेतावनियाँ कहाँ दिखाई देती हैं

| निर्णय रिस्पॉन्स कुंजी | चेतावनी पर सुविधा टैग | यह कब ट्रिगर होता है |
| - | - | - |
| `liveness_checks[].warnings[]` | `LIVENESS` | लाइवनेस स्कोरिंग, चेहरे की गुणवत्ता, ल्यूमिनेन्स, एकाधिक-चेहरे, और ब्लॉकलिस्ट / अनुमति सूची / डुप्लिकेट-चेहरे की जाँच। |
| `face_matches[].warnings[]` | `FACEMATCH` | सत्र के संदर्भ चेहरे (प्रदान की गई `portrait_image` या उपयोगकर्ता के संग्रहीत चेहरे) के विरुद्ध चेहरा मिलान। |

एक सामान्य बायोमेट्रिक-प्रमाणीकरण सत्र में प्रत्येक ऐरे में एक आइटम होता है। मल्टी-इंस्टेंस वर्कफ़्लो में प्रत्येक चेतावनी पर `node_id` यह स्पष्ट करता है कि इसे किस चरण ने उत्पन्न किया है।

## स्वचालित अस्वीकृति शर्तें

निम्नलिखित चेतावनियाँ हमेशा अपने चरण को अस्वीकृत (`log_type: "error"`) करती हैं, भले ही आपने वर्कफ़्लो को कैसे भी कॉन्फ़िगर किया हो:

| जोखिम | सुविधा | यह स्वचालित रूप से अस्वीकृत क्यों होता है |
| - | - | - |
| `FACE_IN_BLOCKLIST` | `LIVENESS` | चेहरा आपकी चेहरे की ब्लॉकलिस्ट में किसी प्रविष्टि से मेल खाता है। |
| `NO_FACE_DETECTED` | `LIVENESS` | लाइवनेस कैप्चर के दौरान कोई चेहरा नहीं मिला, या उपयोगकर्ता ने कैप्चर के लिए उपलब्ध सभी पुनः प्रयास समाप्त कर दिए। |
| `LIVENESS_FACE_ATTACK` | `LIVENESS` | एक प्रेज़ेंटेशन अटैक का पता चला (मास्क, स्क्रीन रीप्ले, डीपफ़ेक-श्रेणी स्पूफ़)। |
| `NO_REFERENCE_IMAGE` | `FACEMATCH` | तुलना चलाने के लिए कोई संदर्भ छवि उपलब्ध नहीं थी। जब यह ट्रिगर होता है, तो `LOW_FACE_MATCH_SIMILARITY` को दबा दिया जाता है। |

जब `NO_FACE_DETECTED` ट्रिगर होता है, तो `LOW_LIVENESS_SCORE` को दबा दिया जाता है (स्कोर करने के लिए कोई चेहरा नहीं होता है)।

## कॉन्फ़िगर करने योग्य थ्रेशोल्ड और कार्रवाइयाँ

इन चेतावनियों को स्कोर किया जाता है और फिर आपके द्वारा प्रति वर्कफ़्लो सेट किए गए थ्रेशोल्ड और कार्रवाइयों के माध्यम से एक स्थिति में मैप किया जाता है:

| जोखिम | सुविधा | कॉन्फ़िगर करने योग्य व्यवहार |
| - | - | - |
| `LOW_LIVENESS_SCORE` | `LIVENESS` | समीक्षा थ्रेशोल्ड पर या उससे कम स्कोर → `In Review`; अस्वीकृति थ्रेशोल्ड पर या उससे कम → `Declined`। |
| `LOW_FACE_MATCH_SIMILARITY` | `FACEMATCH` | समीक्षा थ्रेशोल्ड (डिफ़ॉल्ट 70) पर या उससे कम स्कोर → `In Review`; अस्वीकृति थ्रेशोल्ड (डिफ़ॉल्ट 50) पर या उससे कम → `Declined`। |
| `LOW_FACE_QUALITY` | `LIVENESS` | समीक्षा थ्रेशोल्ड (डिफ़ॉल्ट 15) → `In Review`; अस्वीकृति थ्रेशोल्ड (डिफ़ॉल्ट 0, यानी अस्वीकृति अक्षम) → `Declined`। केवल Passive Liveness। |
| `LOW_FACE_LUMINANCE` | `LIVENESS` | न्यूनतम ल्यूमिनेन्स थ्रेशोल्ड (डिफ़ॉल्ट 20) से नीचे: No action / Review (डिफ़ॉल्ट) / Decline। केवल Passive Liveness। |
| `HIGH_FACE_LUMINANCE` | `LIVENESS` | अधिकतम ल्यूमिनेन्स थ्रेशोल्ड (डिफ़ॉल्ट 80) से ऊपर: No action / Review (डिफ़ॉल्ट) / Decline। केवल Passive Liveness। |
| `MULTIPLE_FACES_DETECTED` | `LIVENESS` | एक से अधिक चेहरे कैप्चर होने पर No action (डिफ़ॉल्ट) / Review / Decline। केवल Passive Liveness। |
| `DUPLICATED_FACE` / `POSSIBLE_DUPLICATED_FACE` | `LIVENESS` | एक साझा डुप्लिकेट-चेहरा कार्रवाई व्यवस्था: अन्य उपयोगकर्ताओं के स्वीकृत या इंपोर्ट किए गए चेहरों के मिलान के लिए No action (डिफ़ॉल्ट) / Review / Decline। |
| `DUPLICATED_FACE_NAME_MISMATCH` | `LIVENESS` | अलग कार्रवाई (`face_liveness_duplicated_face_name_mismatch_action`): No action / Review (डिफ़ॉल्ट) / Decline। जब मेल खाने वाले सत्र की पहचान इस सत्र के निर्धारित नाम से मेल नहीं खाती है, तो `DUPLICATED_FACE` के साथ उत्सर्जित होता है — [लाइवनेस चेतावनियाँ](https://docs.didit.me/hi/core-technology/liveness/warnings-liveness.md#क्रॉस-सत्र-चेहरा-मिलान) देखें। |

`POSSIBLE_FACE_IN_BLOCKLIST` (`LIVENESS`) कॉन्फ़िगर करने योग्य **नहीं** है — कम-विश्वास वाले ब्लॉकलिस्ट मिलान को हमेशा Review (`log_type: "warning"`) पर भेजा जाता है।

## कैप्चर के पुनः प्रयास

केवल ठीक करने योग्य कैप्चर-गुणवत्ता जोखिमों (कम स्कोर, कोई चेहरा नहीं, गुणवत्ता, ल्यूमिनेन्स, एकाधिक चेहरे — और चेहरा मिलान पर कम समानता) के कारण होने वाली विफलताएं स्थिति के अंतिम रूप लेने से पहले एक पुनः प्रयास लूप में प्रवेश करती हैं: उपयोगकर्ता को कुल `face_liveness_max_attempts` / `face_match_max_attempts` प्रयास मिलते हैं (डिफ़ॉल्ट 3, प्रति वर्कफ़्लो नोड 2–5 कॉन्फ़िगर करने योग्य)। जब यह सीमा समाप्त हो जाती है, तो अंतिम प्रयास की परिकलित स्थिति लागू होती है और इसे रिकॉर्ड करने के लिए `LIVENESS_MAX_ATTEMPTS_EXCEEDED` या `FACE_MATCH_MAX_ATTEMPTS_EXCEEDED` को `information` के रूप में लॉग किया जाता है।

## लाइवनेस चेतावनियाँ

API ये सटीक `short_description` और `long_description` स्ट्रिंग्स लौटाता है:

| `risk` | `short_description` | `long_description` |
| - | - | - |
| `LOW_LIVENESS_SCORE` | Low liveness score | लाइवनेस जांच के परिणामस्वरूप कम स्कोर प्राप्त हुआ, जो गैर-लाइव चेहरे के निरूपण के संभावित उपयोग या खराब गुणवत्ता वाले बायोमेट्रिक डेटा को इंगित करता है। |
| `NO_FACE_DETECTED` | No Face Detected in liveness | लाइवनेस जांच के दौरान सिस्टम किसी चेहरे की पहचान नहीं कर सका, जो खराब छवि गुणवत्ता, अनुचित स्थिति या तकनीकी समस्याओं के कारण हो सकता है। |
| `LIVENESS_FACE_ATTACK` | Liveness Face Attack | सिस्टम ने लाइवनेस जांच को बायपास करने के संभावित प्रयास का पता लगाया। |
| `FACE_IN_BLOCKLIST` | Face in blocklist | सिस्टम ने ब्लॉकलिस्ट में एक चेहरे की पहचान की, जिसका अर्थ है कि इस चेहरे को सत्यापित करने की अनुमति नहीं है। |
| `POSSIBLE_FACE_IN_BLOCKLIST` | Possible face in blocklist | सिस्टम ने ब्लॉकलिस्ट में एक संभावित चेहरे की पहचान की, जिसका अर्थ है कि इस चेहरे को सत्यापित करने की अनुमति नहीं है। |
| `FACE_IN_ALLOWLIST` | Face in allowlist | चेहरा एप्लिकेशन की फ़ेस अलावलिस्ट से मेल खा गया, इसलिए इस सिग्नल के लिए डुप्लिकेट-चेहरा कार्रवाइयों को छोड़ दिया गया। |
| `POSSIBLE_FACE_IN_ALLOWLIST` | Possible face in allowlist | चेहरा संभवतः एप्लिकेशन की फ़ेस अलावलिस्ट से मेल खा गया, इसलिए इस सिग्नल के लिए संभावित डुप्लिकेट-चेहरा कार्रवाइयों को छोड़ दिया गया। |
| `DUPLICATED_FACE` | Duplicated face from other approved session | सिस्टम ने किसी अन्य स्वीकृत सत्र से डुप्लिकेट चेहरे की पहचान की, जिसके लिए आगे की जांच की आवश्यकता है। |
| `POSSIBLE_DUPLICATED_FACE` | Possible duplicated face from other approved session | सिस्टम ने किसी अन्य स्वीकृत सत्र से संभावित डुप्लिकेट चेहरे की पहचान की, जिसके लिए आगे की जांच की आवश्यकता है। |
| `DUPLICATED_FACE_NAME_MISMATCH` | Duplicated face under a different name | वही चेहरा किसी अन्य सत्र में पहले ही स्वीकृत हो चुका था, लेकिन एक अलग नाम के तहत। डुप्लिकेट के पीछे की पहचान इस सत्र में घोषित पहचान से मेल नहीं खाती है, जो पहचान धोखाधड़ी का एक मजबूत संकेतक है। |
| `MULTIPLE_FACES_DETECTED` *(Passive only)* | Multiple faces detected | लाइवनेस छवि में एकाधिक चेहरे डिटेक्ट किए गए। सिस्टम लाइवनेस सत्यापन और चेहरे की तुलना के लिए सबसे बड़े चेहरे का उपयोग करता है, लेकिन कई चेहरों की उपस्थिति के लिए अतिरिक्त समीक्षा की आवश्यकता हो सकती है। |
| `LOW_FACE_QUALITY` *(Passive only)* | Low face quality | चेहरे की छवि की गुणवत्ता स्वीकार्य थ्रेशोल्ड से नीचे है, जो लाइवनेस डिटेक्शन की विश्वसनीयता को प्रभावित कर सकती है। यह कैमरा रिज़ॉल्यूशन, फ़ोकस या कम्प्रेशन आर्टिफ़ैक्ट्स के कारण हो सकता है। |
| `LOW_FACE_LUMINANCE` *(Passive only)* | Low face luminance | चेहरे की छवि बहुत गहरी है, जो लाइवनेस डिटेक्शन की सटीकता को प्रभावित कर सकती है। बेहतर प्रकाश स्थितियों की अनुशंसा की जाती है। |
| `HIGH_FACE_LUMINANCE` *(Passive only)* | High face luminance | चेहरे की छवि बहुत उज्ज्वल या ओवरएक्सपोज़्ड है, जो लाइवनेस डिटेक्शन की सटीकता को प्रभावित कर सकती है। कम प्रकाश या सीधे प्रकाश से बचने की अनुशंसा की जाती है। |
| `LIVENESS_MAX_ATTEMPTS_EXCEEDED` | Maximum liveness attempts exceeded | लाइवनेस कैप्चर प्रयासों की अधिकतम संख्या पूरी हो गई है। अंतिम प्रयास की गणना की गई स्थिति (अस्वीकार या समीक्षा) लागू कर दी गई है। |

ब्लॉकलिस्ट, अलावलिस्ट और डुप्लिकेट मिलान में मेल खाने वाले सत्र (`blocklisted_session_id` / `allowlisted_session_id` / `duplicated_session_id`, संबंधित `*_session_number`, और `api_service`) के साथ `additional_data` शामिल होता है। प्रति रिपोर्ट उन छह कोड में से केवल एक ही दिखाई देता है। `DUPLICATED_FACE_NAME_MISMATCH` इसका अपवाद है: जब मेल खाने वाले सत्र की पहचान इस सत्र के रिज़ॉल्व किए गए नाम से मेल नहीं खाती है, तो इसे `DUPLICATED_FACE` के **अतिरिक्त** जारी किया जाता है, उसके स्थान पर कभी नहीं। इसका `additional_data` उन्हीं डुप्लिकेट-सत्र फ़ील्ड में `name_match_score` जोड़ता है। प्रत्येक तरफ अलग-अलग लिपि में लिखे गए नाम को तब बेमेल नहीं माना जाता है जब दोनों सत्रों के पहचान दस्तावेज़ एक ही जारीकर्ता राज्य, एक सटीक दस्तावेज़ या व्यक्तिगत संख्या और गैर-विरोधाभासी जन्म तिथि साझा करते हैं। [लाइवनेस चेतावनियाँ](https://docs.didit.me/hi/core-technology/liveness/warnings-liveness.md#क्रॉस-सत्र-चेहरा-मिलान) देखें।

## चेहरा मिलान चेतावनियाँ

| `risk` | `short_description` | `long_description` |
| - | - | - |
| `LOW_FACE_MATCH_SIMILARITY` | Low face match similarity | प्रदान की गई छवि की चेहरे की विशेषताएं संदर्भ छवि से निकटता से मेल नहीं खाती हैं, जो संभावित पहचान बेमेल का सुझाव देती हैं। |
| `NO_REFERENCE_IMAGE` | No source image found for performing face match | चेहरे की तुलना के लिए एक संदर्भ छवि गायब है, जो सिस्टम को चेहरा मिलान प्रक्रिया को पूरा करने से रोकती है। |
| `FACE_MATCH_MAX_ATTEMPTS_EXCEEDED` | Maximum face match attempts exceeded | चेहरा मिलान कैप्चर प्रयासों की अधिकतम संख्या पूरी हो गई है। अंतिम प्रयास की गणना की गई स्थिति (अस्वीकार या समीक्षा) लागू कर दी गई है। |

## उदाहरण — फ़ेस अटैक पर अस्वीकृत

```json theme={null}
{
  "liveness_checks": [
    {
      "node_id": "feature_liveness",
      "status": "Declined",
      "method": "ACTIVE_3D",
      "score": 12.40,
      "reference_image": "https://<media-host>/.../reference.jpg",
      "video_url": "https://<media-host>/.../video.mp4",
      "age_estimation": null,
      "matches": [],
      "face_quality": null,
      "face_luminance": null,
      "warnings": [
        {
          "feature": "LIVENESS",
          "risk": "LIVENESS_FACE_ATTACK",
          "additional_data": null,
          "log_type": "error",
          "short_description": "Liveness Face Attack",
          "long_description": "The system detected a potential attempt to bypass the liveness check.",
          "node_id": "feature_liveness"
        }
      ]
    }
  ],
  "face_matches": null
}
```

## उदाहरण — कम समानता पर समीक्षाधीन

```json theme={null}
{
  "face_matches": [
    {
      "node_id": "feature_face_match",
      "status": "In Review",
      "score": 58.70,
      "source_image_session_id": "11111111-2222-3333-4444-555555555555",
      "source_image": "https://<media-host>/.../source.jpg",
      "target_image": "https://<media-host>/.../target.jpg",
      "warnings": [
        {
          "feature": "FACEMATCH",
          "risk": "LOW_FACE_MATCH_SIMILARITY",
          "additional_data": null,
          "log_type": "warning",
          "short_description": "Low face match similarity",
          "long_description": "The facial features of the provided image don't closely match the reference image, suggesting a potential identity mismatch.",
          "node_id": "feature_face_match"
        }
      ]
    }
  ]
}
```

स्कोर (58.70) अस्वीकृति थ्रेशोल्ड (डिफ़ॉल्ट 50) और समीक्षा थ्रेशोल्ड (डिफ़ॉल्ट 70) के बीच स्थित है, इसलिए चेतावनी में `log_type: "warning"` शामिल है और चेहरा मिलान स्थिति `In Review` है। इस उदाहरण में चेतावनी उस सत्र पर ट्रिगर हुई जिसका `session_id` `11111111-2222-3333-4444-555555555555` है — `source_image_session_id` में सत्र की अपनी id शामिल है क्योंकि संदर्भ सत्र निर्माण के समय संग्रहीत पोर्ट्रेट से आया था।

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

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

## संबंधित

> [card] [बायोमेट्रिक प्रमाणीकरण रिपोर्ट](https://docs.didit.me/hi/core-technology/biometric-auth/report-biometric-authentication.md)
>
> V3 निर्णय में `liveness_checks[]` और `face_matches[]` कहाँ दिखाई देते हैं।

> [card] [लाइवनेस चेतावनियाँ](https://docs.didit.me/hi/core-technology/liveness/warnings-liveness.md)
>
> डुप्लिकेट-चेहरा मिलान सहित संपूर्ण लाइवनेस चेतावनी संदर्भ।

> [card] [चेहरा मिलान चेतावनियाँ](https://docs.didit.me/hi/core-technology/face-match/warnings-face-match.md)
>
> 1:1 तुलनाओं के लिए संपूर्ण चेहरा मिलान चेतावनी संदर्भ।


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