v0.5.3 · Android · passive

OVERWATCH

A native Android app that passively detects surveillance around you. Open it, hit START, and a ring turns green → yellow → orange → red as the engine gets more sure there's a Flock Safety ALPR, an Axon body camera, or active police nearby. It only listens. It never transmits, probes, or jams.

OVERWATCH main screen: a live map inside a green "all clear" threat ring, centered on the user with a crosshair, and a STOP button.
0fused sources
0threat tiers
0packets sent
0releases

Passive defense only. Debug-signed APK — sideload; no Play Store. Read the README.

Fuses signal from
  • Bluetooth-LE + WiFi radio
  • DeFlock ALPR map
  • Citizen incidents
  • Waze police alerts
  • OpenStreetMap · Overpass

One tap. A live threat map.

While scanning, the circle becomes an OpenStreetMap centered on you, wrapped in a threat-color ring for the current tier and marked with a ⌖ crosshair. Every detection is a dot, color-coded by source — so each mark is self-explanatory. Lock the screen and the foreground notification keeps the tier live; the phone vibrates only when the threat escalates.

Detection-sources drill-down: BLE, WiFi, DeFlock, Citizen, Waze and Commercial rows, each with a color tier dot and the observations that fired it.
1
Threat-color ring

The map is wrapped in the current tier's color — green, yellow, orange, or red — so you read your situation at a glance without opening anything.

2
Source-color dots

Flock / DeFlock cameras red · Waze police blue · Citizen incidents purple. Tap any row for coordinates + a Maps deep-link.

3
Foreground notification

Rebuilt on every tier change — OVERWATCH • RED with the top detection's score. Priority bumps to HIGH on RED so the system surfaces it as a heads-up, screen locked or not.

4
Escalation-only haptics

A short pulse for YELLOW, double for ORANGE, escalating triple for RED — but only on upward transitions, so it never nags you while a threat lingers.

Six sensors, one score.

Every observation is scored 0–100 by the confidence engine; the on-screen tier is the max live score across all sources. Cross-source corroboration — a BLE hit and a DeFlock map match in the same spot — naturally pushes the tier higher than either alone.

📶

BLE — Bluetooth-LE

Vendor MAC OUIs (Axon, Flock Penguin / Raven, XUNTONG mfg id 0x09C8, "TN" serial pattern), Raven service UUIDs, and device-name patterns. Iterates every manufacturer-data entry per advert — not just the first — so it doesn't miss a buried match.

📡

WiFi

BSSID OUI prefixes for Flock infrastructure (31-prefix superset) and Flock-XXXX SSID patterns, polled every 35 s — just under the Android 11+ scan throttle.

🎥

DeFlock — ALPR map

Crowdsourced ALPR camera locations within range (200 m default) via the Overpass API (overpass.deflock.org → fallback overpass-api.de), with a 24 h on-disk cache and failure backoff. Refetches when you move > 1.5 km.

🚨

Citizen

Real-time public-safety incidents — police-relevant only, fire/medical filtered out — within range and under 30 min old, polled every 60 s from the Citizen trending feed.

🚓

Waze — police alerts

Live user-reported POLICE alerts (default 500 m, ~45 min freshness). Waze reCAPTCHA-gated its map endpoint, so OVERWATCH reads a key-protected feed through a Caddy proxy at api.blackflagintel.com that injects the key server-side — the paid key never ships in the APK. The app authenticates with a scoped, revocable X-App-Token stored encrypted in the Android Keystore.

🏠

Commercial

Nearby consumer smart-home gear (Nest, Ring, Echo, hidden cams) and smart glasses (Meta, Snap, Vuzix) as a secondary situational signal, riding the BLE + WiFi scans. Score-capped at ORANGE so a cluster of doorbells never reads as ALPR-grade certainty.

Four tiers. Highest live score wins.

< 40
GREEN

Nothing credible. Idle shows a muted gray ring so "all clear" reads differently from "not scanning."

40 – 69
YELLOW

A single weak indicator. Short vibration pulse on the way up.

70 – 84
ORANGE

High confidence — usually a hard radio hit or a close map match. Double pulse.

85 +
RED

Certain. Notification jumps to HIGH priority; escalating triple pulse.

The whole app, top to bottom.

No account, no onboarding, no cloud dashboard to configure — open it, hit START, and drill into any source. Three taps deep is as complex as it gets.

OVERWATCH main screen: a live map inside a green all-clear threat ring, centered on you with a crosshair, and a STOP button.
The threat ringA live map centered on you, wrapped in the current tier's color. Green reads “all clear” at a glance.
Detection-sources drill-down: BLE, WiFi, DeFlock, Citizen, Waze and Commercial rows, each with a color tier dot and the observations that fired it.
Source drill-downTap the ring for every source, its live tier, and the exact observation that fired it.
Settings screen: per-source toggles, proximity distance sliders, and the encrypted Waze proxy token field.
SettingsToggle each source, tune proximity distances, and paste an encrypted Waze proxy token.

Runs in your pocket, not the cloud.

🔇

Passive by design

OVERWATCH only listens — it never transmits, probes, jams, or interferes with any device or network. The Axon advertise/fuzz code from one of the reference projects is intentionally excluded. It reads the airwaves and public feeds; that's it.

🫧

Floating overlay

The same threat-ring map renders in a small draggable bubble over other apps (Settings → Display over other apps), so it stays with you while you use your phone.

🔐

Keys stay off-device

The paid Waze feed key lives server-side behind the proxy; the app holds only a scoped, revocable token, encrypted via the Android Keystore. No secrets in the APK.

🩺

Honest per-source health

The drill-down marks a source Source unreachable when its scanner couldn't reach its feed — a silent empty result and a real failure look different.

🗺

Your position, not your data

Location drives the proximity checks and the map on-device. No account, no telemetry, no analytics — the scans and feeds run and the results stay on your phone.

🛡

Situational awareness, not interference

OVERWATCH is a defensive, receive-only tool for knowing what's watching you — Flock ALPRs, Axon body cameras, and police presence — in the space you're already in. It does not touch, spoof, or disrupt anything. Know your local laws; use it responsibly.

Sideload in three steps.

Settings screen: per-source toggles (BLE, WiFi, DeFlock, Citizen, Waze, Commercial), proximity distance sliders, and the encrypted Waze proxy token field.
1 · download
  • Grab the latest debug-signed APK from Releases (currently v0.5.3).
2 · install
  • Sideload it — allow "install unknown apps" for your browser or files app, then open the APK.
3 · grant + start
  • Grant location + nearby-devices + notifications, toggle the sources you want, hit START.
  • Optional: paste a Waze proxy token in Settings for police-report coverage.

Build from source, file issues, or read the internals: github.com/KaraZajac/OVERWATCH