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

# बायोमेट्रिक सहमति: BIPA, CUBI और Colorado के लिए

> Didit के साथ Illinois, Texas और Colorado के लिए सेल्फ़ी से पहले स्पष्ट बायोमेट्रिक सहमति: ट्रिगर, नेटिव SDK 4.10.0 और निर्णय फ़ील्ड।

इलिनॉय (BIPA), टेक्सास (CUBI) और कोलोराडो में किसी व्यवसाय द्वारा चेहरे की ज्यामिति एकत्र करने से पहले, चाहे वह सेल्फ़ी से हो या किसी ID पर मौजूद फ़ोटो से, एक नोटिस और स्पष्ट रिलीज़ (कानूनी सहमति-पत्र) आवश्यक होता है। Didit उन कानूनों के अंतर्गत आने वाले व्यक्तियों को चेहरे के पहले कैप्चर से पहले एक सहमति चरण दिखा सकता है, और साक्ष्य के रूप में सत्र में उत्तर सहेज कर रखता है।

यह पेज बताता है कि यह चरण कब दिखाई देता है, कौन से एप्लिकेशन इसे दिखा सकते हैं, और उत्तर आपके निर्णय तथा webhook तक कैसे पहुँचता है।

> [!WARNING]
>
> Didit यह चरण दिखाता है और उत्तर रिकॉर्ड करता है। आप तय करते हैं कि आपकी उपयोगकर्ता यात्रा आपके व्यवसाय पर लागू होने वाले बायोमेट्रिक कानूनों को पूरा करती है या नहीं। यह पेज कानूनी सलाह नहीं है: अपने कार्यान्वयन की समीक्षा अपने कानूनी सलाहकार के साथ करें।

## जब चरण दिखाई देता है

कोई सत्र सहमति चरण तब दिखाता है जब ये दोनों स्थितियाँ सत्य हों:

1. **वर्कफ़्लो चेहरा कैप्चर करता है।** एक लाइवनेस डिटेक्शन, चेहरा मिलान या आयु अनुमान चरण, सामने वाले कैमरे से ली जाने वाली सेल्फ़ी जो पहचान सत्यापन चरण लेता है (जब तक कि आपने इसे बंद न किया हो), या पूर्ण-सत्र वीडियो रिकॉर्डिंग।
2. **एप्लिकेशन का सहमति मोड इसके लिए अनुरोध करता है।** **Auto** मोड में, नीचे दिए गए [ट्रिगर्स](#auto-मोड-में-चरण-को-क्या-ट्रिगर-करता-है) में से कोई एक लागू होता है। **Always** मोड में, चेहरा कैप्चर करने वाला प्रत्येक सत्र अनुरोध करता है।

यह चरण पहले चेहरे के कैप्चर से पहले दिखाई देता है। जब केवल ID दस्तावेज़ किसी संबंधित राज्य को दर्शाता है, तो यह ID कैप्चर के ठीक बाद और सेल्फ़ी से पहले दिखाई देता है, और जब तक व्यक्ति सहमत नहीं होता तब तक ID कैप्चर छवियों से चेहरे की कोई ज्यामिति परिकलित नहीं की जाती है।

Didit इस आवश्यकता की जाँच तब करता है जब व्यक्ति फ़्लो खोलता है और फिर प्रत्येक चरण पर तब तक करता है जब तक कि यह लागू न हो जाए। एक बार जब किसी सत्र को सहमति की आवश्यकता हो जाती है, तो वह इसकी आवश्यकता बनाए रखता है।

### सहमति मोड

कंसोल में एप्लिकेशन के **Settings > Data and privacy > Biometric consent** के अंतर्गत मोड चुनें। प्रत्येक परिवर्तन [ऑडिट लॉग](https://docs.didit.me/hi/console/audit-logs.md) में दर्ज किया जाता है।

| मोड | क्या होता है |
| - | - |
| **Auto** (डिफ़ॉल्ट, अनुशंसित) | यह चरण केवल वहीं दिखाता है जहाँ कोई [ट्रिगर](#auto-मोड-में-चरण-को-क्या-ट्रिगर-करता-है) लागू होता है। बाकी सभी को मानक एक-पंक्ति नोटिस दिखाई देता है। |
| **Always** | प्रत्येक व्यक्ति जिसका चेहरा कैप्चर किया जाता है, वह इस चरण को देखता है, चाहे वे कहीं भी हों। निर्णय में `trigger: "forced"` रिकॉर्ड होता है। |
| **Never** | Didit कभी भी यह चरण नहीं दिखाता है। जहाँ राज्य का कानून सहमति की मांग करता है, वहाँ आप सेल्फ़ी से पहले इसे स्वयं एकत्र करते हैं और रिकॉर्ड रखते हैं। |

### Auto मोड में चरण को क्या ट्रिगर करता है

Didit इन नियमों की क्रम से जाँच करता है और सबसे पहले लागू होने वाले नियम को `biometric_consent.trigger` में रिकॉर्ड करता है:

| ट्रिगर | यह कब लागू होता है |
| - | - |
| `declared_state` | आपने सत्र बनाते समय किसी संबंधित राज्य की घोषणा की थी: `user_state`, या `expected_details` में कोई US पता। |
| `ip_state` | व्यक्ति का IP इलिनॉय, टेक्सास या कोलोराडो में स्थित है। |
| `ip_unknown` | व्यक्ति US में प्रतीत होता है (एक US IP, एक US दस्तावेज़, या आपके द्वारा भेजे गए US विवरण) लेकिन उनके राज्य का पता नहीं लगाया जा सकता है: IP बिना किसी राज्य के US में है, या उसका पता नहीं लगाया जा सकता जबकि आपके विवरण या दस्तावेज़ व्यक्ति को US में रखते हैं। |
| `document_issuer` | ID कैप्चर पर पढ़ा गया पहचान दस्तावेज़ किसी संबंधित राज्य द्वारा जारी किया गया था। |

**VPN, प्रॉक्सी और होस्टिंग नेटवर्क अपने आप अनुरोध नहीं करते हैं।** Didit व्यक्ति के IP का पता अन्य IP की तरह ही लगाता है: इलिनॉय, टेक्सास या कोलोराडो में स्थित IP चरण दिखाता है, कहीं और स्थित IP नहीं दिखाता। चरण का अनुरोध केवल किसी संबंधित राज्य के स्पष्ट साक्ष्य (IP, ID जारी करने वाला राज्य, या आपके द्वारा घोषित राज्य) पर किया जाता है, या जब व्यक्ति को बिना किसी राज्य के US में रखा जाता है (`ip_unknown`)। किसी ऐसे VPN के पीछे मौजूद संबंधित राज्य का व्यक्ति जो कहीं और निकलता है, और जिसके पास ऐसा ID है जिसे किसी संबंधित राज्य ने जारी नहीं किया है, उससे अनुरोध नहीं किया जाता है; यदि आपको उस मामले को कवर करने की आवश्यकता है, तो **Always** मोड का उपयोग करें, या `user_state` भेजें।

दो अतिरिक्त मान यह बताते हैं कि सत्र की सहमति का निपटारा कैसे किया गया था, न कि यह कि इसका अनुरोध क्यों किया गया था:

| ट्रिगर | अर्थ |
| - | - |
| `forced` | एप्लिकेशन का मोड **Always** है। |
| `customer_collected` | आपने सत्र बनाते समय वह सहमति भेजी थी जिसे आप पहले ही एकत्र कर चुके थे (नीचे देखें)। |

## Didit को बताएं कि आप पहले से क्या जानते हैं

[Create Session](https://docs.didit.me/hi/sessions-api/create-session.md) इसके लिए दो वैकल्पिक फ़ील्ड लेता है:

| फ़ील्ड | यह क्या करता है |
| - | - |
| `user_state` | व्यक्ति कहाँ रहता है, जब आप यह जानते हों: एक ISO 3166-2 उपविभाजन कोड (`US-IL`, `ES-M`) या एक US राज्य कोड या नाम (`IL`, `Illinois`)। किसी कवर किए गए राज्य के लिए `trigger: "declared_state"` के साथ चरण दिखाया जाता है। कोई अज्ञात मान `400` लौटाता है। |
| `biometric_consent` | आपके द्वारा पहले ही एकत्र की गई सहमति: `{ "given_at": "<ISO 8601>", "text_version": "<your version id>" }`। फ़्लो दोबारा नहीं पूछता है, और निर्णय `trigger: "customer_collected"` के साथ `status: "given"` रिकॉर्ड करता है। `given_at` भविष्य में नहीं हो सकता। |

```json theme={null}
{
  "workflow_id": "YOUR_WORKFLOW_ID",
  "vendor_data": "user-42",
  "user_state": "US-IL",
  "biometric_consent": {
    "given_at": "2026-10-13T09:12:00Z",
    "text_version": "consent-v3"
  }
}
```

## कौन से ऐप्स यह चरण दिखाते हैं

इस चरण के लिए ऐसे ऐप की आवश्यकता होती है जो इसे प्रदर्शित कर सके। Didit ऐप द्वारा किए जाने वाले प्रत्येक अनुरोध के आधार पर यह निर्णय लेता है:

| व्यक्ति कहाँ सत्यापन करता है | चरण दिखाता है |
| - | - |
| होस्टेड सत्यापन फ़्लो: एक ब्राउज़र, [Web SDK](https://docs.didit.me/hi/integration/web-sdks/overview.md), या एक WebView | हाँ |
| [Native SDK](https://docs.didit.me/hi/integration/native-sdks/overview.md) 4.10.0 या बाद का संस्करण (iOS, Android, और React Native या Flutter रिलीज़ जो नेटिव 4.10.0 या बाद के संस्करण को बंडल करते हैं) | हाँ |
| 4.10.0 से पुराना नेटिव SDK, या ऐसा जो अपने संस्करण की रिपोर्ट नहीं करता | नहीं |

### 4.10.0 से पुराने नेटिव SDKs

4.10.0 से पहले जारी किए गए Native SDKs सहमति चरण को नहीं जानते हैं, इसलिए Didit उनसे इसके लिए कभी नहीं पूछता है। सत्यापन ठीक वैसे ही चलता है जैसे पहले चलता था: सेल्फ़ी और अन्य फ़ेस कैप्चर स्वीकार किए जाते हैं और संसाधित होते हैं, और सत्र सामान्य रूप से अपने निर्णय तक पहुँचता है।

Didit कभी भी ऐसी सहमति रिकॉर्ड नहीं करता जो नहीं दी गई थी। जब सत्र के लिए सहमति आवश्यक थी और किसी पुराने SDK ने चेहरा कैप्चर किया, तो निर्णय दिखाता है:

```json theme={null}
"biometric_consent": {
  "required": true,
  "trigger": "ip_state",
  "status": "pending",
  "given_at": null,
  "reason": "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"
}
```

> [!WARNING]
>
> **यदि आप किसी नेटिव ऐप में Illinois, Texas या Colorado में लोगों का सत्यापन करते हैं, तो नेटिव SDK 4.10.0 या बाद के संस्करण में अपग्रेड करें।** जब तक आप ऐसा नहीं करते, वे सत्र बिना किसी स्पष्ट सहमति के समाप्त हो जाते हैं, और सेल्फ़ी से पहले इसे एकत्र करना आपकी ज़िम्मेदारी है।

यदि व्यक्ति उसी सत्र को होस्टेड फ़्लो में जारी रखता है (किसी अन्य डिवाइस पर, या किसी WebView में जिसे ऐप कुछ लाइवनेस प्रकारों के लिए खोलता है), तो होस्टेड फ़्लो चरण दिखाता है और जब तक वे उत्तर नहीं देते, तब तक वहाँ कोई चेहरा कैप्चर नहीं करता है। वहाँ दी गई सहमति `reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"` बनाए रखती है, क्योंकि चेहरे इसके बिना पहले ही कैप्चर किए जा चुके थे।

## व्यक्ति को क्या दिखाई देता है

यह चरण व्यक्ति को बताता है कि क्या एकत्र किया गया है, क्यों, यह किसके पास है और इसे कितने समय तक रखा जाता है, और [बायोमेट्रिक डेटा नीति](https://didit.me/legal/biometric-data-policy) से लिंक करता है। इसमें एक बटन होता है: **मैं सहमत हूँ, आगे बढ़ें**, जो तब तक अक्षम रहता है जब तक कि व्यक्ति सहमति बॉक्स को टिक नहीं करता।

Didit उत्तर को प्रमाण के रूप में रखता है: यह कब दिया गया था, दिखाए गए टेक्स्ट का संस्करण और हैश, भाषा, वर्कफ़्लो चरण, और अनुरोध का IP, स्थान और उपयोगकर्ता एजेंट। एक बार जब व्यक्ति सहमत हो जाता है, तो उत्तर अंतिम होता है।

## जब व्यक्ति सहमत नहीं होता है

इस चरण में कोई अस्वीकार बटन नहीं है। जो व्यक्ति सहमत नहीं होना चाहता वह फ़्लो छोड़ देता है: कोई चेहरा कैप्चर नहीं किया जाता है, और सत्र किसी भी अन्य सत्र की तरह `Abandoned` के रूप में समाप्त हो जाता है जिसे व्यक्ति पूरा नहीं करता है ([सत्यापन स्थितियाँ](https://docs.didit.me/hi/integration/verification-statuses.md) देखें)। उन्हें सत्यापित करने का कोई अन्य तरीका प्रदान करें।

### API में अस्वीकृत सहमति

निर्णय API मानों के रूप में `declined` स्थिति और `BIOMETRIC_CONSENT_DECLINED` कारण रखता है। कोई भी Didit स्क्रीन वर्तमान में अस्वीकार करने का विकल्प नहीं देती है, इसलिए होस्टेड फ़्लो और नेटिव SDK इसे रिकॉर्ड नहीं करते हैं। एक सत्र जो अस्वीकृति रिकॉर्ड करता है:

* `Declined` के रूप में समाप्त होता है, और `status.updated` webhook किसी भी अन्य अस्वीकृति की तरह ट्रिगर होता है।
* `biometric_consent.status` को `declined` के रूप में, `reason` और `decline_reason` को `BIOMETRIC_CONSENT_DECLINED` के रूप में, और `declined_at` में समय दिखाता है।
* अस्वीकृति के बाद कोई चेहरा कैप्चर नहीं करता है। सत्र में पहले से मौजूद प्रत्येक फ़ेस इमेज और फ़ेस टेम्पलेट को हटा दिया जाता है: सेल्फ़ी, ID कैप्चर की फ्रंट-कैमरा सेल्फ़ी, दस्तावेज़ पोर्ट्रेट का फ़ेस क्रॉप, लाइवनेस और पूर्ण-सत्र वीडियो। `face_data_deleted_at` रिकॉर्ड करता है कि यह कब हुआ। निर्णय अब उन्हें वापस नहीं करता है, और यह विलोपन अपरिवर्तनीय है।
* दस्तावेज़ छवियों और उनसे पढ़े गए डेटा को सुरक्षित रखता है: अस्वीकृति उन्हें प्रभावित नहीं करती है।

## निर्णय और webhook में

प्रत्येक उपयोगकर्ता सत्यापन निर्णय में एक `biometric_consent` ऑब्जेक्ट होता है, [Retrieve Session](https://docs.didit.me/hi/sessions-api/retrieve-session.md) में और [सत्र webhooks](https://docs.didit.me/hi/integration/webhooks.md) के `decision` में। यह `null` होता है जब सत्र का कभी मूल्यांकन नहीं किया गया था, उदाहरण के लिए बिना फ़ेस कैप्चर वाला वर्कफ़्लो।

| `status` | अर्थ |
| - | - |
| `not_required` | सत्र के लिए सहमति आवश्यक नहीं थी। |
| `pending` | सहमति आवश्यक है और नहीं दी गई थी। किसी पुराने SDK को ऐसे व्यक्ति से अलग पहचानने के लिए `reason` पढ़ें जिसने अभी तक उत्तर नहीं दिया है। |
| `given` | व्यक्ति फ़्लो में सहमत हुआ, या आपने निर्माण के समय `biometric_consent` भेजा था। |
| `declined` | एक अस्वीकृति रिकॉर्ड की गई थी, और सत्र `Declined` के रूप में समाप्त हुआ। कोई भी Didit स्क्रीन वर्तमान में अस्वीकार करने का विकल्प नहीं देती है ([ऊपर](#api-में-अस्वीकृत-सहमति) देखें)। |

| `reason` | अर्थ |
| - | - |
| `BIOMETRIC_CONSENT_UNSUPPORTED_SDK` | 4.10.0 से पुराना नेटिव SDK, या ऐसा SDK जिसने अपने संस्करण की रिपोर्ट नहीं की, उसने इस चरण के बिना चेहरा कैप्चर किया। |
| `BIOMETRIC_CONSENT_DECLINED` | एक अस्वीकृति रिकॉर्ड की गई थी। कोई भी Didit स्क्रीन वर्तमान में अस्वीकार करने का विकल्प नहीं देती है। |
| `null` | समझाने के लिए कुछ नहीं है। जब सत्र के लिए सहमति आवश्यक नहीं थी, तो हमेशा `null` रहता है। |

एक सत्र जहाँ व्यक्ति होस्टेड फ़्लो में सहमत हुआ:

```json theme={null}
"biometric_consent": {
  "required": true,
  "trigger": "declared_state",
  "status": "given",
  "given_at": "2026-10-13T18:31:07.412000Z",
  "declined_at": null,
  "text_version": "bio-consent-2026-10-12",
  "locale": "en",
  "policy_url": "https://didit.me/legal/biometric-data-policy",
  "step": "LIVENESS",
  "ip_address": "198.51.100.23",
  "ip_country_code": "ES",
  "detected_ip_address": "198.51.100.23",
  "detected_country_code": "ES",
  "jurisdictions": ["IL"],
  "retention_months": 36,
  "reason": null,
  "decline_reason": null,
  "face_data_deleted_at": null
}
```

उदाहरण को छोटा किया गया है। प्रत्येक फ़ील्ड, उसके प्रकार के साथ, [डेटा मॉडल](https://docs.didit.me/hi/reference/data-models.md#बायोमेट्रिक-सहमति) में है।

## संबंधित

* [Create Session](https://docs.didit.me/hi/sessions-api/create-session.md): `user_state` और `biometric_consent`।
* [Retrieve Session](https://docs.didit.me/hi/sessions-api/retrieve-session.md): वह निर्णय जिसमें `biometric_consent` शामिल है।
* [Native SDKs](https://docs.didit.me/hi/integration/native-sdks/overview.md): संस्करण और अपग्रेड चरण।
* [सुरक्षा और अनुपालन](https://docs.didit.me/hi/getting-started/security-compliance.md): सत्यापन फ़्लो में आपकी ज़िम्मेदारियाँ।


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