Data Tiers
Four tiers with genuinely different rules. Getting these confused is how a tool becomes either useless (nothing accumulates) or dangerous (everything is retained).
| Tier | Lifetime | Location | Panic wipe | Failure mode |
|---|---|---|---|---|
| Accruing | Permanent | Device + operator-held backup | Survives | Losing it |
| Live | Minutes to hours | Relay, ephemeral | N/A — already gone | Persisting it |
| Wipeable | Until wiped | Device only | Destroyed | Retaining it |
| Accountability | 90 days | Node, append-only | Survives | Recording positions in it |
| Collective | Permanent | Shared, public-ish | Survives | Going stale |
Accruing — the thing you build
Your persona, standing, endorsements, contribution credit, op history.
- Stored on device; exportable so a lost phone isn't a lost decade
- Endorsements are signed attestations you hold and present — no central graph
- Contribution credit is attached to a callsign, never to a person
- Panic wipe does not touch this tier. Losing a seized phone should not erase six years of standing. Recovery is via operator-held backup, not an account on a server.
- Endorsements are association data — each names its signer, so a collection maps who
has worked with whom. They are encrypted at rest and require unlock to view, and only
burn destroys them. Panic wipe protects against a phone being searched; burn is
what exists for compulsion. See
identity.md.
Design test: after a year of use, what does an operator have that they didn't before? If the answer is nothing, this tier is broken.
Live — the thing happening now
The watch board, signals in flight, who's signed on, positions during an op, overdue state, duress alerts.
The board is Live, not stored. When a shift ends, board state hands over or expires — it is never a queryable history of who was out where. What survives into the record is the operator's own op log, on their own device.
- Ephemeral by construction — published to relays as non-stored events, not written to a database
- Opt-in per session; sharing starts when you clock into an op and stops when you clock out or the session expires
- Visibility levels: off · team only · city · network — set by the operator, defaults to team only
- Position resolution is coarsened by default; precise sharing is a deliberate act
- Nothing here is queryable after the fact. There is no position history to subpoena because there is no position history.
Design test: if a relay operator kept everything they received, what would they learn? The answer must be "who was roughly active, roughly when" — and nothing more.
Wipeable — the thing that must vanish
Incident logs documenting harassment aimed at you, local caches of op detail, drafts, anything about tonight.
- Device only. Never synced, never backed up automatically
- Encrypted at rest
- Panic wipe destroys this tier completely and unrecoverably — real deletion, not a flag
- Exportable deliberately, by the operator, before it's needed
Design test: if this phone is taken, what does it give up? Ideally nothing beyond the existence of the app.
Accountability — the thing that keeps the watch honest
What the watch and the agent did. Append-only, retained 90 days by default, and deliberately separate from the board.
timestamp · actor · actor_kind · action · subject · outcome
- Records actions, never positions. No areas, no query text, no movement
- Each operator can review entries where they are the subject
- Agent inaction is logged too — an overdue that passed without contact is an entry
- Survives both panic wipe and burn. It lives on the node, not the device, so no operator action reaches it — and that is deliberate rather than a limitation. A log the watch could cause to be erased would not be a check on the watch [C33]. It expires on its own retention clock and nothing else
Why it exists: the watch is the highest-privilege position in the system, and an operator who signed on under someone should be able to see what that someone did with the board. Without this, "trust the watch" is an assertion rather than a check.
Why it isn't the board: the board expires because a queryable history of who was out where is the artifact most dangerous to this community. Actions can be retained safely; positions cannot.
Collective — the thing everyone builds
Resource directory, field playbooks, local knowledge notes.
- Shared, replicated, cached offline in full
- Contributions attributed to callsigns — visible expertise without identity
- Carries verification metadata and staleness (see
directory-schema.md) - Assume it is readable by anyone. Never put operational or personal detail here.
Design test: is this more accurate than it was last month, and can you tell who keeps it that way?
Where features land
| Feature | Tier |
|---|---|
| Persona, callsign, emblem | Accruing |
| Endorsements, standing | Accruing — encrypted, burn-only |
| Board time on watch | Accruing |
| Lightning address | Accruing |
| Watch state, board contents | Live |
| Signals in flight | Live |
| Op history, ground covered | Accruing |
| Contribution credit | Accruing |
| Who's out tonight | Live |
| Team positions during op | Live |
| Check-in status | Live |
| Duress alert | Live (delivery), Wipeable (local record) |
| Incident log | Wipeable |
| Cached op detail, drafts | Wipeable |
| Resource directory | Collective |
| Field playbooks | Collective |
The rule that ties it together
Panic wipe destroys the Wipeable tier and nothing else. Burn destroys everything.
An operator who wipes under duress loses tonight and keeps their decade. One who burns loses everything deliberately, because the situation demanded it. That balance is the entire reason these tiers exist separately — and it's why a single blanket retention rule, in either direction, is the wrong answer.
State the boundary plainly to operators. Someone who believes panic wipe is total when it isn't is worse off than someone who knows exactly where the line sits.