Launch on 01/01/2027Licenses available from 01/01/2027
PreviewThis page documents the release that launches on 01/01/2027. Packages, images and sign-up open then, and details may change before it.
Docs / Your own mobile app / Kotlin SDK

Kotlin SDK

At launch
TL;DR

The Kotlin SDK brings the same embedded ceremony to Android: enroll a phone, receive challenges, and sign approvals with keys held in the hardware-backed Keystore (StrongBox where the device has it), over the same mutual-TLS gRPC. It is published at launch, with the Android app; this page then mirrors the Swift guide call for call. Free under Apache 2.0.

Who this is for: the Android engineer embedding Ydentifi. The design is settled and the wire protocol is shared with iOS; what remains is the Android build itself. Until then, this page records what to expect and where Android differs from Swift.

▪ Preview

The Android authenticator and the Kotlin SDK are published at launch. This page shows the shape of the Android side now; it becomes the full guide, mirroring Swift, when the package is published. Nothing below is a commitment to an API name — the concepts are settled, the exact symbols land with the code.

What this page will cover#

The Android guide will follow the Swift one step for step — the same four calls, the same order.

Install

Add the SDK from Maven Central with one Gradle coordinate; it supports Android 9 (API level 28) and later.

Connect to a deployment

Describe the onboarding + gateway endpoints and the trust roots, then build the device handle — the Kotlin analogue of YdentifiTransportConfig.

Enroll a device

Decode the enrollment QR, run begin/complete enrollment, and promote the issued certificate into the mTLS identity.

Approve a challenge

Fetch a challenge by ID, require a BiometricPrompt before the signature, and submit the signed outcome.

Receive challenges without push

Open the challenge stream over the direct gRPC connection — no Firebase Cloud Messaging in the path, the Android mirror of the iOS no-APNs design.

Handle errors

One typed error surface, matching the Swift error model case for case.

Same protocol, Android primitives#

The two SDKs speak the identical wire protocol and compute byte-identical signed payloads. What changes is the platform hardware each one binds to:

On iOS (shipped)On Android (planned)
Secure EnclaveKeystore + StrongBox
App AttestPlay Integrity API
Face ID / Touch ID (LAContext)BiometricPrompt
Swift Package ManagerMaven Central / Gradle
DocC referenceKDoc (Dokka)
ⓘ The wire is identical

Both SDKs enroll, sign, and stream against the same device-facing gateway with the same canonical byte formats — a server cannot tell an iOS client from an Android one except by the platform attestation it presents. See Device-facing gRPC for the surface underneath both.

Full reference#

When the package ships, its complete per-symbol reference — generated from source with Dokka — will live at Kotlin SDK API referenceAt launch, the Android counterpart to the Swift DocC reference.

Opens on 01/01/2027

Available at launch

Until then, you can try the whole ceremony on your own phone.