getIDVBiometricOptInConsent
🔔 Event: getIDVBiometricOptInConsent
getIDVBiometricOptInConsent
🧭 Overview
Triggered by the SDK when the REL-ID IDV workflow requires the user’s consent to store their biometric template on the server. This ensures compliance with data privacy regulations.
🖥️ Screen to Present
- Explain why biometric data is being stored.
- Provide:
- ✅ "Agree"
- ❌ "Decline"
📦 Payload Fields
Field | Type | Description |
---|---|---|
userID | String | The user's ID |
idvResponse | String | Response data if any |
challengeMode | Integer | Challenge context (e.g., 8 = Activation) |
status | Object | Status object with code/message |
error | Object | RDNAError structure for errors |
📥 Sample Payload
{
"userID": "ok",
"idvResponse": "",
"challengeMode": 8,
"attemptsLeft": 0,
"status": {
"statusCode": 100,
"statusMessage": "Success."
},
"error": {
"longErrorCode": 0,
"shortErrorCode": 0,
"errorString": "Success"
}
}
💻 Event Listener Code
React Native
EventEmitter.addListener('getIDVBiometricOptInConsent', getIDVBiometricOptInConsent);
Flutter
rdna.on(RdnaClient.getIDVBiometricOptInConsent, getIDVBiometricOptInConsent);
Cordova
document.addEventListener('getIDVBiometricOptInConsent', getIDVBiometricOptInConsent, false);
Native iOS
(void)getIDVBiometricOptInConsent:(NSString *)userID
response:(RDNAChallengeResponse *)response
challengeMode:(RDNAChallengeOpMode)mode
error:(RDNAError *)error;
Native Android
void getIDVBiometricOptInConsent(String userID, RDNAChallengeResponse response, int mode, RDNAError error);
🛠️ API: setIDVBiometricOptInConsent
setIDVBiometricOptInConsent
🧭 Overview
This API must be called after the user chooses to opt in or opt out of biometric template storage.
📥 Parameters
Parameter | Type | Description |
---|---|---|
isOptIn | Boolean | true = Agree to store, false = Decline |
challengeMode | Integer | Challenge mode received from the event |
💻 API Usage
React Native
RdnaClient.setIDVBiometricOptInConsent(true, challengeMode, (response) => {});
Flutter
rdna.setIDVBiometricOptInConsent(true, challengeMode);
Cordova
com.uniken.rdnaplugin.RdnaClient.setIDVBiometricOptInConsent(
successCallback,
errorCallback,
[true, challengeMode]
);
Native iOS
(RDNAError *)setIDVBiometricOptInConsent:(BOOL)isOptIn challengeMode:(RDNAChallengeOpMode) opMode;
Native Android
RDNA.RDNAError setIDVBiometricOptInConsent(boolean isOptIn, int challengeMode);
⚠️ Error Codes
Code | Description | Developer Action |
---|---|---|
100 | Success | Proceed with next step |
400 | Unable to process | Show retry option |
600 | Biometric template does not exist | Re-initiate IDV or contact support |
🧠 Best Practices
- Always present clear and legally compliant messaging to the user.
- Do not proceed until user has explicitly opted in or out.
❌ What Happens When isOptIn = false
in setIDVBiometricOptInConsent
isOptIn = false
in setIDVBiometricOptInConsent
When the application submits setIDVBiometricOptInConsent
with isOptIn = false
, the SDK processes this as the user explicitly declining consent to store their biometric template on the server.
🔄 Outcome of isOptIn = false
isOptIn = false
- 🚫 Biometric template is NOT stored on the REL-ID server.
- 📄 SDK records that the user has opted out.
- 🔐 Biometric login from server will not be available in future sessions.
- 🔁 Fallback authentication (password, OTP, or device biometrics) may be used instead.
- ⚙️ Depending on backend policy:
- The IDV flow may continue if opt-in is optional
- Or may terminate/redirect if biometric storage is mandatory
🧭 Developer Recommendations
-
✅ Show a clear confirmation message like:
"You’ve chosen not to store your biometric data. We’ll use alternative methods to verify you in future."
-
🔄 Ensure fallback mechanisms are available:
- Password login
- OTP/email-based verification
- Device-native biometrics (Face ID, Fingerprint)
🧠 Notes
- Users may opt in later by re-triggering the biometric template challenge.
- The decision can be logged for compliance tracking.
✅ What Happens When isOptIn = true
in setIDVBiometricOptInConsent
isOptIn = true
in setIDVBiometricOptInConsent
When the application submits setIDVBiometricOptInConsent
with isOptIn = true
, the REL-ID SDK interprets this as the user providing explicit consent to store their biometric template securely on the server.
🔄 Outcome of isOptIn = true
isOptIn = true
- 📦 Biometric template is stored securely on the REL-ID server.
- 🔐 Enables biometric-first login or passwordless authentication for future logins and verification flows.
- 🧾 SDK logs consent for compliance purposes (e.g., GDPR, IT Act).
- 🔄 The IDV workflow proceeds to the next step.
🧭 Developer Recommendations
-
Show a confirmation message like:
"Your biometric data has been securely stored. You can now enjoy faster, secure logins."
-
Ensure your backend supports biometric authentication for the opted-in user.
🚀 Benefits
- Faster authentication
- Seamless onboarding or re-verification
- Reduced reliance on passwords or OTP
Updated 3 months ago