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 90-day trial key (no credit card) is at sdk.octetproof.com/signup.
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. A few declared symbols are not yet wired: getRegion(city), getRegion(namedZone), and proto-JSON serialization for proof material. Pages for those symbols mark it with an OctetFutureFlag note.
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. Revealing that would help an attacker tune around it.