Integration Guide

iOS Integration

Add Immutis to your iOS app in 10 minutes. Camera capture with hardware attestation.

10 minBeginner
1

Install the SDK

Add Immutis to your project's Podfile or Swift Package Manager:

# Using CocoaPods
pod 'Immutis'

# Or using Swift Package Manager
https://github.com/immutis/ios-sdk
2

Configure your API key

Import Immutis and initialize with your API key:

import Immutis

let immutis = Immutis(
    apiKey: "your_api_key_here"
)

// Store securely in Keychain in production
let immutis = Immutis(
    apiKey: KeychainHelper.getAPIKey()
)
3

Request camera permissions

Add camera usage description to Info.plist:

<key>NSCameraUsageDescription</key>
<string>Immutis needs camera access to capture verifiable evidence.</string>

Then request permission:
4

Capture evidence

Use the Immutis capture view for hardware-attested photos:

import Immutis

class MyViewController: UIViewController {
    func captureEvidence() {
        let captureView = ImmutisCaptureView()
        captureView.delegate = self
        captureView.options = CaptureOptions(
            location: true,
            timestamp: true,
            hardwareAttestation: true
        )
        present(captureView, animated: true)
    }
}

extension MyViewController: ImmutisCaptureDelegate {
    func captureDidComplete(evidence: Evidence) {
        print("Evidence sealed: \(evidence.hash)")
        // Send to your backend
    }
}
5

Verify evidence

Verify evidence integrity on your server:

// Or use the SDK locally
Task {
    let result = try await immutis.verify(
        evidenceId: evidence.id,
        standards: [.sha256, .hardware]
    )
    
    if result.isValid {
        print("Evidence is authentic")
    }
}

Requirements

  • iOS 12.0 or later
  • Xcode 14+
  • Swift 5.5+
  • Secure Element (for hardware attestation)