Skip to main content

Octet Mobile SDK

Provable location for iOS and Android apps. The Octet SDK turns a device's location into a signed, attested proof. A verifier can check that proof independently. They do not need to trust the SDK, the device, or Octet.

Heads up

This documentation describes the v1 public surface as it ships in alpha. Some symbols are declared but not yet wired (getRegion(city), getRegion(namedZone), full proto-JSON serialization for proof material). Those pages flag the gap with OctetFutureFlag or a v1 caveat.

Pick a starting point

What the SDK does, in one sentence

You call sdk.loc.isWithin(region: …). You get back a Verdict of YES, NO, or INDETERMINATE, along with 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 trichotomy, regions, time semantics, the license model. PM-readable openers, technical depth below.
  • API Reference. Per-symbol pages with Swift and Kotlin shown side by side.
  • Sample Apps. The OctetV1Toy demo apps for iOS and Android. One button, one verdict.
  • Troubleshooting. Indexed by what you actually see in verdict.reason or LicenseError.

What the SDK is not

  • The SDK is not a navigation library. It tells you whether a device was at a claimed place at a claimed time. It does not tell you where to go next.
  • The SDK is not a spoof detector you can integrate to flag users. Spoof signals fold into verdicts internally. The SDK never tells you which signal fired. Revealing that would help an attacker tune around it.
  • The SDK does not predict the future. A proof says "the device was here at time T". It does not say "the device will still be here a minute from now." See Time Semantics.