How it works
Frontend SDKs implement the signing side of the delegated flow:- Your backend initiates a state-changing operation and receives a challenge from Dfns
- Your backend sends the challenge to the frontend
- The frontend SDK signs the challenge using the user’s passkey (biometrics, security key, etc.)
- The frontend sends the signed challenge back to your backend
- Your backend completes the operation with the signed challenge
Passkeys
All frontend SDKs use WebAuthn / passkeys for signing. This means:- The user’s private key is stored securely in their authenticator (Touch ID, Face ID, YubiKey, etc.)
- Signing is triggered by a biometric prompt — no passwords involved
- The private key never leaves the device
PasskeysSigner (or equivalent) that handles the register and sign operations:
- Register: creates a new credential (passkey) for the user during onboarding
- Sign: signs a User Action Challenge when the user authorizes an operation
Integration with backend
Your backend uses aDfnsDelegatedApiClient (or equivalent) to initiate operations and receive challenges. See the delegated signing guide for the backend side, and implementing delegated wallets for a full end-to-end tutorial.