iOS SDK

Build with the iOS SDK

Start with a working host app. Capture and recover a document, or watch device evidence change as you move the phone.

Native Swift packages inside your app

Add the SDK products your app needs. Your app owns screens, consent and workflow; the SDK returns typed evidence.

Capture and custody
KenshikiCapture, CaptureSelfie and IdentityEvidenceStorage
Signals and continuity
KenshikiSensors and KenshikiContinuity
Evidence signing
KenshikiIdentity

Get the evaluation materials

Request SDK repository access, the example apps and their integration guides. Include your use case, target devices and the capability you want to evaluate.

The team will agree the checkout revision, supported configuration and required artifacts with you. Access is arranged by email.

Prepare your checkout

Use a Mac with Xcode, Swift 6 and XcodeGen, plus an iPhone running iOS 18 or later. Use the toolchain agreed for your evaluation revision.

  1. Open the supplied SDK checkout. Both example projects reference it locally; keep the repository directory structure intact.
  2. Prepare the OpenCV and capture bridge artifacts before generating either project. SensorHost also links the capture modules.
  3. Select your development team and a bundle identifier your team can sign in Xcode. Keep the example’s permission descriptions; approve device permissions for the capabilities you exercise.
Prepare and verify native artifacts

Run these commands from the SDK repository root. The installer downloads a pinned OpenCV archive and verifies its hashes. Python 3 and jq are required alongside the Xcode command-line tools.

bash scripts/install_opencv.sh
python3 scripts/build_capture_bridge.py
python3 scripts/verify_capture_bridge.py

If the evaluation already includes the bridge artifact, run its verification command instead of rebuilding it. The build script refuses to overwrite an existing artifact.

Repository guide: docs/capture-port/foundation-port.md. Integration guide: docs/capture-port/adoption.md.

Choose your first result

Capture or device evidence

01 · Capture and recover a document

CaptureTestHost demonstrates document capture, selfie acquisition and encrypted custody through public SDK APIs.

xcodegen generate --spec Examples/CaptureTestHost/project.yml
open Examples/CaptureTestHost/CaptureHostedHarness.xcodeproj
  1. Select the CaptureHostedHarness scheme and your iPhone. Build and run after configuring signing.
  2. The app starts idle. With a test document, choose Start new front/back capture and allow camera access. Capture the front, then choose Continue to back and capture the back.
  3. Confirm distinct saved record IDs. Stop the camera, relaunch, open history and choose Verify and recover saved record.

First result: the saved document records recover with their original IDs, without reopening the camera. The harness keeps captures encrypted in its own local custody.

Continue with selfie, interruption and erasure checks in Examples/CaptureTestHost/README.md. A saved original establishes retention; document authenticity and identity proofing require separate checks.

02 · Observe device evidence

SensorHost exposes live readings and their availability, alongside capture and continuity views.

xcodegen generate --spec Hosts/SensorHost/project.yml
open Hosts/SensorHost/SensorHost.xcodeproj
  1. Select the SensorHost scheme and your iPhone. Replace the example’s development team and bundle identifier with your own, then build and run.
  2. Open Sensors. Move the phone and connect a charging cable; inspect the motion and power readings. Use Settings to grant the permissions for the sensors you want to exercise.
  3. Inspect a reading’s source and availability. Denied permission or unsupported hardware should be visible as an unavailable input.

First result: the displayed evidence changes with the physical device, and unavailable inputs remain distinguishable from observed readings.

Start with Hosts/SensorHost/project.yml and docs/adopter-guide.md. For Air check, use Packages/IdentityAirCheck/README.md: the host selects the location to corroborate and the acquisition and weather policy.

Use a physical device to accept camera and sensor behavior. Simulator tests and successful builds do not establish that result. App Attest evaluation additionally needs a server-issued challenge and the app’s configured capability.

Read the evidence your app receives

Follow an event from its payload hash to the Merkle root and signed receipt.

For evaluation help, email [email protected] with your SDK revision, device and OS, example, and typed error. Keep personal evidence out of the report.