The “Mobile ID” that secures your digital transactions and ensures legal compliance

biid is a mobile identity platform that secures and protects digital infrastructures while allowing users to authenticate online, authorize transactions and easily sign documents from any iOS and Android enabled device.
Request a demo Learn more
Top level security
Our PKI-based technology transforms Android and iOS smartphones into secure devices that can be used to verify users' identities and protect online systems against phishing and brute-force attacks.
Legal compliance
biid's platform employs digital certifcates on mobile devices to deliver eIDAS compliant digital identity and an advanced electronic signature that can be used to legally sign documents from any phone.
The best user experience
Our SDKs are very simple to integrate into any iOS and Android App, and deliver great user experiences for authorising transactions, signing documents and performing secure multi-factor authentications.

Our services

The biid platform delivers omni-channel, multi-factor authentication and digital signature for documents and transactions, helping organizations to secure their online services and achieve compliance with EU and international regulations

Signing legal documents

biid’s digital signature functionality is extremely simple to use and complies with the European Regulation N°910/2014, also known as eIDAS.
By employing Qualified Digital Certificates that are securely stored on users' personal phones, biid delivers an Advanced Electronic Signature that provides the following benefits:
Authentication: legally enforceable proof of who actually signed the document.
Non-repudiation: assurance that a signer can't deny having signed the document.
Integrity: proof that a document has not been altered since signing.
Learn more

Authorising transactions

Our Advanced Electronic Signature is the best tool to authorise financial transactions online, being built on robust cryptographic technology to make sure that only a user’s certified device can approve the operation.
When applied to payments and international transfers, biid’s electronic signature also allow Banks to enable high value digital transactions by ensuring compliance with international AML (anti money laundering) regulations.
Learn more
Here's a little insight into what makes biid a potential great platform for your needs.
Learn more

Some of our customers

At biid we are extremely proud to partner with leading international financial companies, governments, public administrations, healthcare organizations and prestigious private institutions

Developers at the heart of it

We constantly strive to seek out elegant solutions that enable easy, secure and flexible integrations. Across both our SDKs and Integrator API we have eliminated needless complexity so you can get up and running with biid in very little time, and then concentrate on the real problem you set out to solve in your project
Copied to clipboard

do {
try SDK.getClient.initialize()
}
catch (let exception) {
// Handle exception
}

 

NSError *error;
[SDK.getClient initialize:&error];
if (error) {
// Handle error
}

 

Client client = Sdk.getClient();
client.initialize(context);

 
Copied to clipboard

SDK.getClient.requestTransactions(max: 100,offset: nil,status: [pending, .successful],type: .auth,documentType: nil,
onSuccess: { (transactions) in
// Handle Transactions List
}, onNoConnection: {
// Handle no connection Error
}, onInvalidToken: { (error) in
// Handle invalid token error
}, onClientError: { (error) in
// Handle client error
})

 

[SDK.getClient requestTransactionsWithMax:100
     offset:0
     transactionStatus:@[@(TransactionStatusPending, @TransactionStatusSuccessful)]
     transactionType:TransactionTypeAuth
     documentType:DocumentTypeAll
onSuccess:^(NSArray<Transaction *> * _Nonnull transactions) {
     // Handle Transactions List
}
onNoConnection:^void() {
    // Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
    // Handle invalid token error
}
onClientError:^void(NSError * _Nonnull error) {
    // Handle client error
}
];

 

List<Transaction> transactions = Sdk.getClient().requestTransactions(offset, max, statuses, type, documentType);

 
Copied to clipboard

SDK.getClient.authenticate(withUsername: username, securityProviderAccessToken: token,
onSuccess: {
// Handle successful authentication
}, onNoConnection: {
// Handle no connection
}, onInvalidToken: { (error) in
// Handle invalid token
}, onClientError: { (error) in
// Handle client error
})

 

[SDK.getClient authenticateWithUsername:userName securityProviderAccessToken:token
onSuccess:^{
// Handle successful authentication
}
onNoConnection:^void() {
// Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
// Handle invalid token error
}
onClientError:^void(NSError * _Nonnull error) {
// Handle client error
}
];

 

Sdk.getClient().authenticate(username, accessToken);

 
Copied to clipboard

SDK.getClient.requestDocumentsTransaction(forTransactionID: transactionID,
onSuccess: { (transaction) in
SDK.getClient.signDocuments(forTransaction: transaction,
onSuccess: {
// Handle Document Signing success
}, onNoConnection: {
// Handle no connection Error
}, onInvalidToken: { (error) in
// Handle invalid token error
}, onTransactionNotPendingError: { (error) in
// Handle Transaction not pending error
}, onClientError: { (error) in
// Handle client error
})
}, onNoConnection: {
// Handle no connection Error
}, onInvalidToken: { (error) in
// Handle invalid token error
}, onClientError: { (error) in
// Handle client error
})

 

[SDK.getClient requestDocumentsTransactionWithID:transactionID
onSuccess:^(AuthenticationTransaction * _Nonnull transaction) {
[SDK.getClient signDocuments:transaction
onSuccess:^{
// Handle Document Signing success
}
onNoConnection:^void() {
// Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
// Handle invalid token error
}
onTransactionNotPendingError:^void(NSError * _Nonnull error) {
// Handle Transaction not pending error
}
onClientError:^void(NSError * _Nonnull error) {
// Handle client error
}
];
}
onNoConnection:^void() {
// Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
// Handle invalid token error
}
onClientError:^void(NSError * _Nonnull error) {
// Handle client error
}
];

 

DocumentsTransaction transaction = requestDocumentsTransaction(id);
Sdk.getClient().signDocuments(transaction);

 
Copied to clipboard

SDK.getClient.requestAuthenticationTransaction(forTransactionID: transactionID,
onSuccess: { (transaction) in
SDK.getClient.confirmAuthentication(forTransaction: transaction,
onSuccess: {
// Handle Authentication confirmation success
}, onNoConnection: {
// Handle no connection Error
}, onInvalidToken: { (error) in
// Handle invalid token error
}, onTransactionNotPendingError: { (error) in
// Handle Transaction not pending error
}, onClientError: { (error) in
// Handle client error
})
}, onNoConnection: {
// Handle no connection Error
}, onInvalidToken: { (error) in
// Handle invalid token error
}, onClientError: { (error) in
// Handle client error
})

 

[SDK.getClient requestAuthenticationTransactionWithID:transactionID
onSuccess:^(AuthenticationTransaction * _Nonnull transaction) {
[SDK.getClient confirmAuthenticationForTransaction:transaction
onSuccess:^{
// Handle Authentication confirmation success
}
onNoConnection:^void() {
// Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
// Handle invalid token error
}
onTransactionNotPendingError:^void(NSError * _Nonnull error) {
// Handle Transaction not pending error
}
onClientError:^void(NSError * _Nonnull error) {
// Handle client error
}
];
}
onNoConnection:^void() {
// Handle no connection Error
}
onInvalidToken:^void(NSError * _Nonnull error) {
// Handle invalid token error
}
onClientError:^void(NSError * _Nonnull error) {
// Handle client error
}
];

 

AuthenticationTransaction transaction = requestAuthenticationTransaction(id);
Sdk.getClient().confirmAuthentication(transaction);

 

Download our latest White Paper

Securing Digital Banking
“An analysis of the cyber attack on Tesco Bank and the importance of Mobile Identity for the future of Banking”
Securing Digital Banking
“An analysis of the cyber attack on Tesco Bank and the importance of Mobile Identity for the future of Banking”
Register to download:
Please fill in the fields marked as *
Download now

News

Stay up to date with the latest news about biid