Prior Art
What exists, what it teaches, and the technical ground NavCom builds on.
The outreach space
Herocore — Community hub where members post patrol logs, plus a map of active and inactive individuals and groups.
Teaches: patrol logging is already an established behaviour — we don't have to create the habit, only remove the friction. Herocore captures the patrol afterwards, on a forum. NavCom captures it as it happens and exports to Herocore. Complement, never compete.
mutualaid.fun — Intake, outreach, check-in and distribution for mutual aid. Runs on your own devices, works offline, data stays with the people doing the work, volunteers join by scanning a QR code.
Teaches: the interaction pattern we want, already validated in an adjacent community. QR-based joining, local data ownership, offline-first. Study before designing.
211 and official directories — Listings rot, hours are wrong, and intake rules — pets, sobriety, ID, curfew — are usually absent entirely.
Teaches: the gap is not "a list of shelters." It's who they'll actually take, tonight, maintained by people who were there last night.
Discord / Signal — What teams already use for conversation, and it works well.
Teaches: don't build chat. Build what a chat app structurally cannot: a signal protocol with defined responders and response windows, a held board, duress with a guaranteed human terminus, and knowledge that outlives the scroll.
Watch systems
The closest real analogues to the watch model, and why none of them is what we're building.
| Dispatch / CAD (EMS, fire) | Closest functional match — a console operator holding a board of units in the field. Institutional, employment-based, and assumes authority over the people it dispatches |
| On-call rotation (PagerDuty et al.) | The duty-roster and escalation-ladder mechanics, applied to infrastructure rather than people |
| Safety check-in apps (Noonlight, bSafe) | Timer-and-escalation, but with a commercial monitoring centre rather than a peer |
| Amateur radio net control | Genuinely close in spirit — a volunteer holds net control for a session, calls stations, keeps a log. Ceremony, discipline, and no hierarchy |
Teaches: the escalation ladder is a solved problem — copy it. The volunteer, pseudonymous, peer-held version doesn't exist commercially, because donated console shifts are unmonetisable and unautomatable. Net control is the nearest living ancestor, and it's a hobby practice rather than a product.
The TAK ecosystem
The mature reference for team situational awareness. NavCom serves untrained volunteers rather than trained operators, so the products differ — but the engineering is worth knowing.
| Product | Notes |
|---|---|
| ATAK-CIV | Open source, mature, large plugin ecosystem. Android only. Steep learning curve |
| iTAK / TAK Aware | iOS, oriented to civilian first responders, reduced feature set |
| TAK Tracker (official) | Send-only, no map. Battery efficient, very limited |
| TAK Server | Reach beyond LAN, PKI enrollment, data sync, federation |
Setup burden is their weak point and our opportunity. Every TAK client needs a server stood up and certificates enrolled before it does anything beyond the local network. Measure NavCom against that: time from install to seeing your team. Target under a minute.
ATAK already works serverless on a LAN — ATAK and WinTAK default to UDP multicast
Mesh SA on 239.2.3.1:6969. Two clients on the same network see each other with no
server and no configuration. TAK Server exists to extend that reach.
Cursor on Target — the interoperability path
CoT is the standard across ATAK, WinTAK, iTAK and hundreds of tactical apps (MITRE / US Air Force origin). Speaking it would let NavCom operators appear on the screens of allied responders during joint incidents.
- Framing: magic
0xbf+ version byte + magic0xbf+ payload.0x00= XML,0x01= protobuf ("TAK Protocol v1") - Sizes: XML position update ≈ 400 bytes; protobuf ≈ 150 bytes
- PLI intervals configurable 30 s – 30 min, default 5 min
- PyTAK — Python asyncio library for building TAK clients, servers and gateways. TCP, TLS, UDP unicast/multicast/broadcast, WebSockets
A CoT ↔ relay bridge would translate NavCom presence into CoT for allied clients: a userspace process listening on Mesh SA multicast, republishing to relays as encrypted ephemeral events, and re-injecting the other direction. No ATAK plugin needed, no Android work. Bandwidth is negligible — 20 operators at 30 s intervals is ~270 B/s. No prior art found for CoT over Nostr as of Aug 2026.
Worth building when allied interoperability becomes a real requirement.
Cryptographic foundation
Identity. A keypair generated on device is the persona. Nostr's identity model fits exactly: pseudonymous by construction, no registration, no revocation authority, portable across relays.
Live tier. Ephemeral event kinds (20000–29999) are not expected to be stored by
relays — the correct shape for presence and op state, which must not persist. See
../product/data-tiers.md.
Op traffic. NIP-44 provides adequate encryption for the realistic threat model. Know its stated limits: no forward secrecy ("when a key is compromised, it is possible to decrypt all previous conversations"), no post-compromise security, no post-quantum security, no deniability. The conversation key is static per pair.
Upgrade path. Marmot (MLS over Nostr)
adds forward secrecy and post-compromise security, with an
audited Rust implementation.
Post-quantum ciphersuites are anticipated but not shipped. Available PQ libraries are
unaudited — ts-mls states plainly it has had no formal security audit;
@noble/post-quantum was self-audited as of v0.6.1 (Apr 2026).
Posture. Encryption protects op traffic and duress alerts. It is not the primary defence, because the primary threat is doxxing and harassment — and against that, holding no identifying data beats any cipher. Never ship unaudited cryptography on a security boundary protecting people at risk.
Transports beyond the internet
- Meshtastic — X25519 + AES-CCM, 237-byte packet cap. Documented as harvest-now-decrypt-later, since PQ key exchange doesn't fit LoRa packets. Ships an official ATAK plugin
- Reticulum / LXMF — X25519 + Ed25519, genuinely delay- and disruption-tolerant with store-and-forward propagation nodes. Runs over LoRa, packet radio, serial, AX.25
For urban outreach, "offline" usually means cached data with no signal, which a service worker solves. Mesh bearers matter for rural operators and for infrastructure failure during disaster response.
Design note: keep encryption above the transport, and the weak crypto in both stacks becomes irrelevant — they're bearers, nothing more.