Mobile SDK De-Enrollment
De-enrollment is the biometric equivalent of account deletion. Keyless performs an authentication to compare the user’s facial biometrics with the ones computed during enrollment. If the biometrics match, the user is authenticated and their account is removed from Keyless. This operation is irreversible.
Quick Start
Android
val configuration = BiomDeEnrollConfig()
Keyless.deEnroll(
deEnrollmentConfiguration = configuration,
onCompletion = { result ->
when (result) {
is Keyless.KeylessResult.Success -> Log.d("KeylessSDK ", "De-enroll success")
is Keyless.KeylessResult.Failure -> Log.d("KeylessSDK ", "De-enroll failure - error code ${result.error.code}")
}
}
)
iOS
let configuration = BiomDeEnrollConfig()
.build()
Keyless.deEnroll(
deEnrollmentConfiguration: configuration,
onCompletion: { error in
if let error = error {
print("De-Enrollment finished with error: \(error.message)")
} else {
print("De-Enrollment finished with success")
}
}
)
Android 4.6
val configuration = DeEnrollmentConfiguration.builder.build()
Keyless.deEnroll(
deEnrollmentConfiguration = configuration,
onCompletion = { result ->
when (result) {
is Keyless.KeylessResult.Success -> Log.d("KeylessSDK ", "De-enroll success")
is Keyless.KeylessResult.Failure -> Log.d("KeylessSDK ", "De-enroll failure - error code ${result.error.code}")
}
}
)
iOS 4.6
let configuration = Keyless.DeEnrollmentConfiguration.builder
.build()
Keyless.deEnroll(
deEnrollmentConfiguration: configuration,
onCompletion: { error in
if let error = error {
print("De-Enrollment finished with error: \(error.message)")
} else {
print("De-Enrollment finished with success")
}
}
)
Flutter
import 'package:keyless_flutter_sdk/keyless.dart';
import 'package:keyless_flutter_sdk/models/configurations/deenrollment_configuration.dart';
// Biometric de-enrollment
final configuration = BiomDeEnrollConfig(
livenessConfiguration: LivenessConfiguration.passiveStandaloneHigh,
livenessTimeout: 60,
cameraDelaySeconds: 0
);
// Or PIN-based de-enrollment
final configuration = PinDeEnrollConfig(
pin: "1234"
);
try {
await Keyless.instance.deEnroll(configuration);
print("De-enrollment successful");
} catch (error) {
print("De-enrollment failed: $error");
}
React Native
import Keyless, {
BiomDeEnrollConfig,
PinDeEnrollConfig,
LivenessConfiguration
} from '@react-native-keyless/sdk';
// Biometric de-enrollment
const biometricDeEnroll = async () => {
const config = new BiomDeEnrollConfig();
const result = await Keyless.deEnroll(config);
result.fold({
onSuccess: () => {
console.log('De-enrollment successful');
},
onFailure: (error) => {
console.error('De-enrollment failed:', error);
},
});
};
// PIN-based de-enrollment
const pinDeEnroll = async () => {
const config = new PinDeEnrollConfig('1234');
const result = await Keyless.deEnroll(config);
result.fold({
onSuccess: () => {
console.log('De-enrollment successful');
},
onFailure: (error) => {
console.error('De-enrollment failed:', error);
},
});
};
De-Enrollment Configuration
Camera Delay
Use cameraDelaySeconds to specify the delay (in seconds) between when the camera preview appears and when liveness processing starts.
Success Feedback
Use showSuccessFeedback to show a Success text on top of the screen when de-enrollment is successful.
Liveness Settings
Using livenessConfiguration you can configure the liveness security level during enrollment. The possible liveness configurations are under LivenessSettings.LivenessConfiguration:
DEVELOPMENT
LEVEL_1 // recommended configuration
LEVEL_2
You can also specify livenessEnvironmentAware, which is by default set to true, to enhance liveness detection. This parameter helps ensure the user is in a suitable setting for verification.
More details on liveness are in the dedicated Liveness Settings section.