← All posts

What Data a Mesh Analytics Tool Stores

What a mesh analytics tool stores from your MeshCore network: SNR, hop count, and timing metadata only. Identity and location never enter the database.

A warm, painterly still-life of an open glass jar containing only three smooth stones, set on a worn wooden surface — most of the jar deliberately empty.

The question comes up early in any evaluation: before you connect your broker, before you enroll an observer, before anything flows — what does a tool like this actually keep?

It’s the right question to ask first. What doesn’t enter the database can’t be accessed, breached, or misused. The architecture’s privacy posture isn’t defined by what it promises to protect, but by what it declines to collect in the first place.

TLDR: What data a mesh analytics tool stores should have a short answer: signal metadata only. Waev retains SNR per link, hop count, packet timing, and verified topology edges. Node identity, location, and companion device details never reach persistent storage — they’re dropped or scrubbed at the ingest edge before anything is written.

What arrives at the ingest edge

Your mesh observer receives every LoRa packet that passes through it and publishes those records to your MQTT broker. Waev subscribes to that broker. What arrives at Waev’s ingest edge is a stream of raw packet records: the source node’s name, the path the packet traveled, signal quality readings at each hop, and a timestamp.

That stream contains more information than Waev needs. The ingest edge’s job is to reduce it to the minimum that makes the product useful, before anything is written.

01 · OPT-OUT IS ABSOLUTE node hilltop-relay database · map · topology never written. no exceptions. 02 · PACKETS ARRIVE, IDENTITY DOESN'T Companion ADVERT namePixel-7a typecompanion snr8.5 dB hops2 scrub @ ingest edge Written to DB name ∅ nullified type ∅ nullified snr8.5 dB ✓ hops2 ✓
The ingest edge runs three checks in sequence. Each one decides whether data advances, gets scrubbed, or is dropped entirely.

The three decisions at the gate

First: privacy markers. If the source node’s name contains a privacy marker — ⛔, 🛑, or 🚫 — the packet is discarded in full. Nothing is counted, nothing is stored, nothing is inferred from that observation. The marker is checked before any other processing, with no exceptions.

This is the hardest guarantee to make: not “we anonymize it” or “we aggregate it,” but “it never enters the database.” A node that opts out disappears from the system entirely.

Second: companion device scrub. MeshCore personal apps — phones and tablets running as companion devices — broadcast on the same RF mesh as repeaters. Their packets reach observers just like any other node’s packets. At the ingest edge, identity fields for companion devices are nullified before storage. The node name and device type are cleared. What survives is the signal record: SNR, hop count, timing. The device appears anonymously in Network Stats as traffic, but never on the Live Map, never with a name attached.

Third: topology verification. An observation only produces a map edge if it traces back to a verifiable source — an enrolled observer or an authenticated repeater. An observation that can’t be traced to a verified source doesn’t draw a line. This prevents inferred or spoofed topology from entering the map.

What actually gets stored

What passes all three checks is a deliberately narrow set:

OPERATOR NODE COMPANION APP OPT-OUT NODE node name ✓ stored node name ∅ nullified node name ∅ never written device type ✓ stored device type ∅ nullified device type ∅ never written snr ✓ stored snr ✓ stored snr ∅ never written hops ✓ stored hops ✓ stored hops ∅ never written timestamp ✓ stored timestamp ✓ stored timestamp ∅ never written topology edge ✓ if verified topology edge ∅ never topology edge ∅ never written
The retained data model: signal metadata from verified observations only — no identity, no location, no companion device details.
  • SNR per link — the signal-to-noise ratio as measured at each hop in the path. The number that tells you whether a link is healthy or marginal.
  • Hop count — how many nodes the packet traversed to reach the observer.
  • Packet timing — when the observation arrived, used for ordering the packet history and aging topology edges.
  • Verified topology edges — which node was heard by which enrolled observer, on which path. The evidence that draws a line on the map.

No GPS coordinates. No message content. No device owner information. No persistent node identity beyond the name the node broadcasts on air, and only when that name doesn’t carry a privacy marker.

What that retained data powers

The retained set is small because it only needs to power a small set of surfaces.

Live Map draws topology from verified edges. An edge appears when an enrolled observer records a packet path; it ages when observations stop arriving. The map reflects what the network can prove about itself at a given moment.

Network Stats counts anonymous activity: unique nodes seen in the last hour, day, week. Companion signal records contribute to that count without identifying any device. The number tells you how busy the mesh is, not who’s on it.

Packet Search gives you a queryable history of non-private observations: which nodes were active, over what time window, at what signal quality. Useful for after-action review and link-quality analysis.

Outpost surfaces per-node signal history — SNR over time, heard-by records — for the nodes that appear on the map.

None of these surfaces require storing identity, location, or message content. The product is useful with signal metadata alone. That’s not a constraint the design works around — it’s the design.


The choice about what not to collect is made once, at the architecture level, and it determines what’s possible from that point forward. You can’t breach data that was never stored. You can’t misuse identity that was scrubbed before it was written. The privacy-by-default framing is the same one that governs who holds your broker credentials: the less the system knows, the more the operator controls.

Frequently asked

What data does Waev store from my mesh?
Waev stores only anonymous signal metadata: SNR per link, hop count, and packet timing. Verified topology edges between nodes are stored to build the map. Nothing else is retained.
Does Waev store my node's GPS location?
Waev does not collect GPS coordinates. The Live Map draws topology edges from signal observations, not from location tracking. Position data that a node broadcasts on the mesh is not stored by Waev.
Can Waev identify who owns a node?
No. Waev sees only what a node broadcasts on the mesh: a name and RF signal metadata. There is no mechanism to link a node to a person. Nodes named with a privacy marker are dropped entirely before any data is written.
What happens to data from companion devices like phones?
Companion device identity fields — name and device type — are nullified at the ingest edge before storage. What survives is the signal record only: SNR, hop count, and timing, counted anonymously in Network Stats.