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.
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.
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.
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.
| Octet | GeoComply (and other legacy vendors) | IP geofencing | |
|---|---|---|---|
| Where the answer comes from | The phone builds its own location from satellites, the cell network and motion sensors | GPS, Wi-Fi, cellular and IP data collected on the device and analyzed by GeoComply’s servers | The IP address, looked up in a commercial database |
| VPNs and proxies | Irrelevant. The IP address is never used | Detected and blocked. Users have to turn the VPN off to continue | Defeated |
| What you get back | A yes or no, signed by the phone’s secure hardware | A location and a trust score from GeoComply | A best guess at a city or country if not compromised |
| Who you have to trust | No one. Check the proof yourself, offline, with open-source octet-verify | GeoComply and its servers | The database vendor |
| What leaves the device | The answer. No coordinates | Location and device data | The IP address |
| Accuracy | Answers for the polygon you define, from a country down to a building | Down to a few feet, by GeoComply’s own account | Major databases disagree on the same address by 620 km on average |
| Pricing | Usage-based. Published at octetproof.com/pricing | Sales contract. Pricing is not published | A database subscription or per-lookup API fees |
| Friction for users | None 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 once | Location services on, VPN off, and a plugin download on desktop | None, and it stops nothing |
| Dependence on a live service | None. Proofs verify offline, with no call to Octet | Every check runs through GeoComply’s servers | Every 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.
Use it on your website, embed it in your app, or connect it to your existing sign-in.