Introduction

Introduction

This documentation describes Arculus Authentication (the Arculus FIDO2 SDK) and how to integrate it into mobile (Android/iOS) or desktop applications for tertiary (3rd level or transactional authorization) or passwordless authentication using Arculus FIDO2 (Fast Identity Online 2) hardware security keys. The SDK provides APIs for NFC/CTAP2 communication with Arculus FIDO2 cards, enabling registration, authentication, credential management, and PIN operations.

The SDK is architecture-agnostic and supports multiple deployment patterns:

  • Client-side: Application communicates directly with FIDO2 servers

  • Server-side: Application uses backend services to proxy FIDO2 server communication

  • Hybrid: Combination of direct and proxied communication

The SDK abstracts NFC/CTAP2 details, so developers can focus on application logic. It handles card detection, APDU communication, error handling, and response parsing.

This documentation includes:

  • SDK architecture and component design

  • API reference and usage patterns

  • Integration guides for Android and iOS

  • Authentication and registration flow examples

  • Security best practices and recommendations

  • Troubleshooting and common issues

Example projects demonstrate real-world usage, including integration with OAuth2/OIDC providers (Auth0, Keycloak, etc.) and different architectural patterns. These examples serve as reference implementations and starting points for your own applications.

Intended Audience

The primary audience for this documentation is application developers, architects, integration and technical team members.

Primary Audience

Application Developers

  • Integrating FIDO2 authentication into mobile, desktop or web applications

  • Using the Arculus FIDO2 SDK APIs for card operations

  • Implementing registration, authentication, and credential management flows

  • Handling NFC/CTAP2 communication via the SDK

  • Managing secure storage (Android Keystore / iOS Keychain) for tokens and credentials

  • Understanding SDK error handling and response formats

Software Architects & Technical Leads

  • Evaluating the SDK for integration into existing systems

  • Understanding SDK capabilities, limitations, and design patterns

  • Planning authentication architecture and choosing deployment patterns

  • Designing secure integration patterns with OAuth2/OIDC providers

  • Making technology decisions and evaluating SDK fit

SDK Integration Engineers

  • Implementing SDK initialization and configuration

  • Integrating SDK with backend services and FIDO2 servers

  • Managing SDK lifecycle and resource cleanup

  • Handling asynchronous operations and callbacks

  • Implementing error recovery and retry logic

Secondary Audience

This document could also assist other technical team members such as backend developers, devops, system admins, security and testing team members to help understand how an application can use the SDK to interact with the Arculus FIDO2 Server.

Prerequisites

Readers should have:

  • Basic understanding of FIDO2/WebAuthn concepts

  • Familiarity with mobile application development (Android or iOS)

  • Knowledge of NFC technology (optional as this is handled by the SDK)

  • Understanding of basic security concepts (encryption, secure storage)

  • Familiarity with REST APIs and HTTP/HTTPS (for backend integration examples)

How to Use This Documentation

  • New to the SDK? Start with the System Architecture, then review the FIDO2 Core Concepts and SDK API Reference. Explore the sample applications in the Appendix to see real-world usage.

  • Integrating the SDK? Refer to the SDK guides for your platform (iOS, Android, Desktop, Web), review the SDK API Reference, and study the sample applications for implementation patterns.

  • Implementing specific features? Check the sequence diagrams in the SDK pages for detailed flows, review relevant API documentation, and examine sample application code for reference implementations.

  • Troubleshooting issues? Review the Troubleshooting guide, check the Error Codes reference, and examine sample application error handling patterns.

  • Evaluating security? Focus on Application Security, Deployment Security, and the security sections throughout the documentation.

Sample applications in the Appendix demonstrate complete integration patterns and serve as reference implementations. Use them as starting points, but adapt them to your specific architecture and requirements. The SDK is designed to be flexible and work with various backend architectures and identity providers.

Last updated