Customer Authentication
That Is Effortless To Implement, Integrate & Test

No passwords. No usernames. No resets. No failed logins.
Authenticate users biometrically on any device, any platform or any channel with BindID.

Quick and easy implementation in minutes not months

Device biometrics technology that authenticates each and every user on any device, platform or channel with only a few lines of code.

Copied to clipboard
//Initialize the SDK configuration
  clientId: ‘Client id here’

const login = async () => {
  await window.XmBindId.authenticat({
    redirect_uri: window.location.origin
  <script src=""
   <meta name="xm-bind-id-client_id" content="Client id here">
   <meta name="xm-bind-id-redirect_uri" content=window.location.origin>
  <button class=‘xm-bind-id-button’ data-xm-bind-id-on-success=“onSuccess” data-xm-bind-id-on-failure=“onFailure”>
public final PromiseFuture<Boolean, BindIdErrorCode> initialize(@Nullable Application app) {
BindIdConfig config = BindIdConfig.create(app, BindIdServerEnvironment.Sandbox, "Client id here");
return BindIdSdk.getInstance().initialize(config);
public final void authenticate() {
BindIdRequest request = BindIdRequest.create("Callback URL here");
BindIdSdk.getInstance().authenticate(request, false).addListener(new ObservableFuture.Listener() {

public void onComplete(@NotNull BindIdResponse response) {
String accessToken = response.getToken().getAccessToken();
// Access token describes the user details
// Navigate to your main activity
}public void onReject(@NotNull BindIdErrorCode error) {
// Show error to user
fun initialize(app: Application?): PromiseFuture<*, *> {
val config = BindIdConfig.create(
"client id here")
return BindIdSdk.instance.initialize(config)

fun authenticate() {
BindIdSdk.instance.authenticate(request).addListener(object : Listener<BindIdResponse, BindIdErrorCode> {
override fun onComplete(response: BindIdResponse) {
val accessToken = response.token!!.accessToken
// Access token describes the user details
// Navigate to your main activity
override fun onReject(error: BindIdErrorCode) {
// TODO: show error to user
let configData = TSXBindIdConfig()
configData.clientId = “Client id here”
TSXBindIdSDK.shared().initialize(config: configData)

let authRequestData = TSXBindIdAuthenticationRequest()
authRequestData.redirectUri = "Callback URI here"
TSXBindIdSDK.shared().authenticate(bindIdRequestParams: authRequestData) { (res, error) in
if let err = error {
// handle error
} else {
// Access token describes the user details

Customizable secure authentication

You love your brand and so do we.
Really easy to implement and customize to give the ultimate user experience.
Just modify the authentication look and feel with your own logo, colors and text instantly without changing any of your code.

Your Message Goes Here


FIDO2 biometrics

Integrate a secure and frictionless authentication experience that’s based on FIDO2 WebAuthn.

Register once and use across all apps and devices
FIDO-certified cloud service provided to you by a member of the FIDO alliance
PSD2 SCA compliant