The TAD Signing SDK uses WebAuthn passkeys (FIDO2) for document signing. Apple’s passkey implementation requires the Associated Domains entitlement to cryptographically bind a passkey to a specific domain. Without this binding, iOS will refuse to create or use passkeys, and all registration and signing operations will fail. The entitlement works by telling iOS which domain your app is authorised to act on behalf of. The SDK’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/signing-sdk/face-auth-ios/llms.txt
Use this file to discover all available pages before exploring further.
TadSigningConfig.rpId must equal the domain listed in this entitlement exactly — any mismatch causes passkey operations to fail silently or with a generic authorization error.
How Associated Domains works for passkeys
When your app attempts a WebAuthn registration or assertion, iOS checks:- The app’s Associated Domains entitlement contains a
webcredentials:<domain>entry. - Your server hosts an Apple App Site Association (AASA) file at
https://<domain>/.well-known/apple-app-site-association. - The AASA file lists your app’s Team ID and bundle identifier under the
webcredentialssection.
Setting up Associated Domains
Enable the Associated Domains capability in Xcode
In Xcode, select your app target, open the Signing & Capabilities tab, click + Capability, and add Associated Domains.
Add the webcredentials entry
In the Associated Domains capability panel, click + and add the following entry, replacing Your entitlements file (
signing.tadi.uz with your own relying party domain:YourApp.entitlements) will be updated automatically by Xcode to contain:Configure the entitlement in XcodeGen (project.yml)
If you manage your project with XcodeGen, add the entitlement under the target’s
entitlements.properties block:Set the matching rpId in TadSigningConfig
In your SDK configuration, set
rpId to the bare domain — no scheme, no trailing slash:Serve the Apple App Site Association file from your backend
Your backend must serve a valid AASA file at:The file must be served as Replace
application/json over HTTPS with no redirects. Include a webcredentials section that lists your app’s Team ID and bundle identifier:ABCDE12345 with your Apple Developer Team ID and uz.tad.TadSigningDemo with your app’s bundle identifier. You can add multiple bundle IDs to the array if you have development and production targets.Verifying the setup
After deploying the AASA file, use the Apple App Site Association validator or the CDN cache-buster endpoint athttps://app-site-association.cdn-apple.com/a/v1/<domain> to confirm Apple can fetch and parse your file.