Use location as a factor.

Make location a factor in a login or an approval, the way two-factor authentication uses a code. Octet proves where a device is, signed by the hardware inside it. Your app asks a yes or no question about a place, the phone answers, and your server checks the answer offline with an open-source verifier.

Cryptographically prove where a device is.

1

The phone builds its own location.

The SDK builds up a location on the device from what the phone itself can sense: satellite signals, the cell network around it, its own motion and signals most systems ignore. It never takes an IP address or a mocked GPS reading at its word, so a VPN changes nothing. Then it answers the one question your policy asks. Is this device inside the place? Yes, no or indeterminate.

SatellitesCell networkMotionIP addressMock GPS
2

The chip signs the answer.

The answer is signed by a key in the phone’s secure hardware, the Secure Enclave on iPhone and its equivalent on Android. The key never leaves the chip, so the proof can’t be made anywhere else. Each proof can be used only once, so it cannot be replayed.

3

You verify it offline.

Your server checks the proof with octet-verify, our open-source verifier. There is no call to Octet. Even a fully compromised backend can’t forge a proof the verifier will accept.

What your users see:

nothing.

It just happens.

Their VPN stays on. Your country rules still apply.

What your users seeSDK
Octet SDK · trace

Prove where your users are.

How Octet compares with GeoComply and IP geofencing.

GeoComply (and other legacy vendors)IP geofencing
Where the proof is builtOn the phone, at the moment of the check, from satellites, the cell network, motion sensors and other on-device signalsGPS, Wi-Fi, cellular and IP data collected on the device and analyzed by GeoComply’s serversThe IP address, looked up in a commercial database
VPNs and proxiesUsers can leave the VPN on. The verdict does not depend on the IP addressDetected and blocked. Users have to turn the VPN off to continueDefeated
What you get backA yes or no, signed by the phone’s secure hardwareA location and a trust score from GeoComplyA best guess at a city or country if not compromised
Checking it afterwardsAnyone, at any later date, with open-source octet-verify. It shows whether the proof was changed after it was signedGeoComply does not publish a way for a third party to check a decision independentlyNo way to check after the fact
What leaves the deviceThe answer. No coordinatesLocation and device dataThe IP address
AccuracyAnswers for the polygon you define, from a country down to a buildingDown to a few feet, by GeoComply’s own accountMajor databases disagree on the same address by 620 km on average
PricingUsage-based. Published at octetproof.com/pricingSales contract. Pricing is not publishedA database subscription or per-lookup API fees
Friction for usersNone for country checks in the browser: no permission, no prompt. In an app, country and state checks with no permission are available by request. The public SDK asks for location permission onceLocation services on, VPN off, and a plugin download on desktopNone, and it stops nothing
Dependence on a live serviceNone. Proofs verify offline, with no call to OctetEvery check runs through GeoComply’s serversEvery lookup needs the database vendor’s API or a downloaded copy

GeoComply and IP geofencing are described from publicly available information. Trademarks belong to their owners.

Octet works with what you have.

Use it on your website, embed it in your app, or connect it to your existing sign-in.

Where do your users meet you?
What resolution do you want?
What do you need back?
We recommend

Read the docs →

Start with the docs.

Three steps from here to a first verdict in your app.

  1. 1

    Read the docs

    Install the SDK with Swift Package Manager or Maven and get a first verdict with the iOS or Android quickstart.

    Mobile SDK docs →
  2. 2

    Register your app

    Create an Octet account and add your app. No key ships in your app: the SDK licenses itself by attesting your app the first time it starts.

    Create an account →
  3. 3

    Read the license

    Use of the SDK is governed by the Octet SDK License Agreement. Pricing is published and usage-based.

    SDK License Agreement →

On a website, use Octet Browser: sign up at browser.octetproof.com, under the Octet Browser SDK License Agreement. At sign-in, use LFA.

TermsPrivacy© 2026 Understone, Inc. d/b/a Octet
Film map data © OpenStreetMap contributors, US Census Bureau