Skip to content
iOS SDK

Build with the iOS SDK

Start with a working host app. Capture a test document, then recover its saved records after relaunch.

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. The example project references it locally; keep the repository directory structure intact.
  2. Prepare the OpenCV and capture bridge artifacts before generating the example project.
  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.

Your first result

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.

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.

Native Swift packages inside your app

After running the example, choose the SDK products your integration 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

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.