Citi Ventures & Goldman Sachs have joined as additional investors in our record-breaking $543M funding! Read more

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
window.XmBindId.initialize({
  clientId: "Client_ID",
});

//Authenticate
const login = async () => {
  await window.XmBindId.authenticate({
    redirectUri: "https://YOUR_DOMAIN/redirect",
  });
};
<html>
  <head>
    <meta name="xm-bind-id-client_id" content="Client ID here" />
    <meta name="xm-bind-id-redirect_uri" content="Callback URI here" />
    <script src="https://signin.bindid-sandbox.io/bindid-sdk/transmit-bind-id-sdk.js" defer></script>
  </head>
  <body>
    <button class="xm-bind-id-button" data-xm-bind-id-on-success="onSuccess" data-xm-bind-id-on-failure="“onFailure”">Login</button>
  </body>
</html>
//Initialize
XmBindIdConfig config = XmBindIdConfig.create(applicationContext, "Client_ID");
XmBindIdSdk.getInstance().initialize(config);

//Authenticate
XmBindIdAuthenticationRequest request = XmBindIdAuthenticationRequest.createAuthentication("app_name://login-result");
XmBindIdSdk.getInstance().authenticate(request).addListener(new ObservableFuture.Listener < XmBindIdResponse, XmBindIdError > () {
    @Override
    public void onComplete(XmBindIdResponse response) {
        // Handle successful authentication
    }
    @Override
    public void onReject(XmBindIdError error) {
        // Handle Error
    }
});
//Initialize
XmBindIdSdk.getInstance().initialize(XmBindIdConfig.create(applicationContext, "Client_ID"))

//Authenticate
XmBindIdSdk.getInstance().authenticate(XmBindIdAuthenticationRequest.createAuthentication("app_name://login-result"))
.addListener(object : ObservableFuture.Listener<XmBindIdResponse, XmBindIdError> {
    override fun onComplete(response: XmBindIdResponse) {
        // Handle successful authentication
    }

    override fun onReject(error: XmBindIdError) {
        // Handle Error
    }
})
//Initialize
let configData = XmBindIdConfig(clientId: "Client_ID")
XmBindIdSDK.shared().initialize(config: configData)

//Authenticate
let request = XmBindIdAuthenticationRequest(redirectUri: "app_name://login-result")
XmBindIdSDK.sharedInstance.authenticate(bindIdRequestParams: request) { (res, error) in
  if let err = error {
      // Handle error
  } else {
      // Handle successful authentication
  }
}

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

Decline
Approve

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