Scope

LOCAL FUSION

RF observation desk — every hearing, one chart

Bring a session home

One door for every kind: a Detector session bundle (or its folder), a Sentinel full export, a Wigle export (.csv or .csv.gz). Files are read on this device only — a bundle whose seal check fails is refused whole, in the open, and every figure is recounted from the rows, never copied from a summary.

…or drop the files / a session folder here

On the phone: install Scope to the home screen, then share a session's export files and pick Scope in the share sheet — they land here on their own. (First share asks the browser to confirm; that's Android, not a fault.)

Filters

Filters apply to the map, the device memory, Seen Again, and the leads. Counts on set cards are always the full recount of that set.

Observation sets

Observation map

Regional view · local coordinates

Marks are devices at their strongest hearing; the soft discs are observation density in ~100 m cells; the dashed line is a session's track. A position is where the observer stood — the journals carry no emitter estimates — and a set with no coordinates recorded never appears here.

Compare two sets

Devices — the remembered chart

Device inspector

Seen again

The fleet-footprint question, across every door: a device recurs when it was heard in two or more imported sets, on two or more distinct days, or when Sentinel's own memory holds it across two or more of its sessions. Every row prints its basis and traces to the records it counts.

Signature leads

Watch definitions

About this data

Scope reads what the field apps publish — the RF Detector's sealed session exports, RF Sentinel's memory exports, Wigle's database exports — and shows it back with its basis printed. Detector counts are recounted from the journal rows at import; a bundle summary's figures print beside the recount as claims, and a disagreement shows with both figures, never silently resolved. Seal status comes from the bundle's own SHA256SUMS.txt when one rides along; a bundle without one (Intake #9's shape) says so and is graded on the checks its files can carry. Sentinel and Wigle figures are those apps' own records, printed as theirs.

Categories and vendors come from a small local starter table — BLE company ids declared in the devices' own payloads first, MAC OUI second — or from the exporting app's own record, labeled as such. What nothing knows prints unknown. A randomized address cannot yield a vendor, and the card says that instead of guessing.

Imported sets and your own marks (favorites, names, notes) live only in this browser's local store. The raw journal rows are retained on each set — that is what lets the inspector draw a device's hearing over time — and they never leave this device: the page's content policy forbids network calls outright (connect-src 'none'). Map tiles, in street view, load as images from OpenStreetMap; Local grid needs no network at all.