Octet Mobile SDK
Provable location for iOS and Android apps.
The SDK is distributed on GitHub (add it via Swift Package Manager or Maven). It needs a license key to run, and a free key is at sdk.octetproof.com/signup, free for up to 1,000 proofs a month, no credit card.
The Octet SDK turns a location check into a verdict (YES, NO, or INDETERMINATE) and, when it can answer, a signed proof anyone can verify offline with octet-verify, the open-source verifier.
This documentation describes the Octet SDK 1.1. Three declared symbols are not yet wired: getRegion(city), getRegion(namedZone), and proto-JSON serialization for proof material. Calling them throws OctetFutureFlag.
Pick a starting point
- Shipping an iOS app → iOS Quick Start
- Shipping an Android app → Android Quick Start
- Evaluating the SDK → Proof of Location
- Looking up a symbol → API Reference
- Debugging an error → Troubleshooting & FAQ
What the SDK does
You call sdk.loc.isWithin(region: …). You get back a Verdict of YES, NO, or INDETERMINATE, and on YES or NO a cryptographic proof a third party can verify offline.
What this documentation covers
- Getting Started. Prerequisites, install, first verdict.
- Concepts. What proofs are, the verdict values, regions, time semantics, and the license model.
- API Reference. Per-symbol pages, Swift and Kotlin side by side.
- Sample Apps. The OctetSample demo apps for iOS and Android.
- Troubleshooting. Indexed by what you see in
verdict.reasonorLicenseError.
What the SDK is not
- Not a navigation library. It reports whether a device was at a claimed place at a claimed time, not where to go next.
- Not a spoof detector you can wire into your own user-flagging. Spoof signals fold into the verdict. You get a
reasoncode (for exampleATTESTATION_FAILED), not the sensor-level detail of which signal fired. Exposing that is a security risk: it tells an attacker exactly what to defeat.