Corvus.Instinct

Corvus.Instinct

A system that senses its surroundings and finds the right direction even without conventional navigation

A client sends the Wi-Fi access points, cell towers and BLE devices it hears, with their signal levels. The service looks them up in its own anchor database and returns one position with a calibrated radius, computed by trilateration on our own servers. It asks no third party at query time.

The service runs on Corvus's own cluster, behind our own domain — a global service, self-hosted. Coverage today is Ukraine and its border belt, built for Corvus's own clients.

The API is the Mozilla Location Service's — POST /v1/geolocate and POST /v2/geosubmit.

How it works

Hear

The client collects the radios around it: Wi-Fi access points, cell towers and BLE beacons, each with its signal level and age. Nothing else is needed — no GPS lock, no phone number.

Look up

The service matches what was heard against its own anchor database of radio positions. At least two known radios must agree before anything is answered.

Trilaterate

Weighted least squares turn the matches into one position, on our servers. The answer carries a radius calibrated against satellite truth: 95 % and 68 % confidence.

Why Corvus.Instinct

Own anchor database

Positions come from Corvus's own measurements, not from a broker. Every anchor carries its provenance, and only cleared sources are ever served.

No third party at query time

A lookup never leaves our servers. There is no fallback to an outside provider, and no IP-address positioning: the answer is computed, not resold.

A standard API

The Mozilla Location Service's API, so clients written for MLS or beaconDB — GeoClue, microG, NeoStumbler, Tower Collector — need only the address.

Calibrated accuracy

Each answer carries two radii, at 95 % and 68 % confidence, calibrated out of sample against satellite truth. A fix is never blended across technologies.

Privacy by design

A miss is a miss: the service never tells a prober which address it knows. Network names are never stored, contributions are voluntary, and scans of military areas are refused.

Self-hosted, on our own hardware

No shared cloud tenancy in the answer path: the same cluster and domain that serve Corvus's own clients, offered globally.

One request

Send what the device hears; receive a position with a calibrated radius. The full request and response grammar, the fields of every radio type, the error table and the limits are in the API documentation.

$ curl -X POST https://instinct.corvusintell.com/v1/geolocate \
>   -H "Content-Type: application/json" \
>   -d '{"wifiAccessPoints": [
>     {"macAddress": "b0:95:75:b0:1c:b9", "signalStrength": -60, "frequency": 2412},
>     {"macAddress": "50:ff:20:11:68:9a", "signalStrength": -74, "frequency": 5180}
>   ]}'

HTTP/1.1 200 OK
X-Corvus-Snapshot: 2026-10-18.1
{
  "location": {"lat": 50.4497236, "lng": 30.5232617},
  "accuracy": 29.0,
  "corvus": {"method": "access_points", "accuracy68": 18.0}
}

The position, the 95 % radius in metres, and Corvus's extension: which technology carried the fix, and the 68 % radius.

Access

Positioning and contributing need no key: send a request and the service answers, rate-limited per address. The database itself is never handed out — a position, never a download.

Positioning and contributing are separate. A client can locate itself without sending anything back, and contributions, when they are made, carry only what the user agreed to share. The protected zone extracts of the offline mode are the one thing Corvus still issues keys for.

Integrate Corvus.Instinct into your product.

Read the API documentation Zone-extract keys are issued by Corvus — contact@corvusintell.com