eleven / messenger Public

Clone
git clone https://amadan.net/eleven/messenger

Plain git — no account needed to clone.

Download

Download this file

1# πŸ€– SSH access ledger β€” the why-entries
2
3One JSON file per entry β€” changelog-style, so parallel PRs never conflict.
4These are the *human* half of the public SSH access ledger
5(status.elevenmessenger.com/ssh.html): the box-side collector
6(`deploy/ssh-ledger-collect.sh`) publishes the automatic truth (who connected,
7when, from where) from sshd's journal; the files here say **why**. The
8collector merges them into `ssh-entries.json` and the page joins entry to
9session by operator + date/time-window overlap. Full picture:
10`docs/status.md Β§ The SSH access ledger`.
11
12## The convention
13
14**Any session β€” Claude or human β€” that SSHes to the router box adds an entry
15file here, in the same PR as the work (or an adjacent one).** A session the
16collector can't match to an entry renders loudly on the public page as
17"no summary recorded" β€” that state is the enforcement, so don't let it be
18yours. One entry may cover several sessions in the same working window.
19
20File name: `YYYY-MM-DD-<slug>.json` (like a changelog entry's name), e.g.
21`2026-07-14-wireguard-rollout.json`.
22
23```json
24{
25 "date": "YYYY-MM-DD",
26 "operator": "Full Name (as in web/status/ssh-operators.json)",
27 "window": "HH:MM–HH:MM UTC (approx)",
28 "why": "terse what-not-how summary",
29 "refs": ["https://github.com/elevenmessenger/messenger/pull/NNN"]
30}
31```
32
33- `date` + `window` are UTC and approximate β€” the page matches forgivingly
34 (same operator, same date, nearest/overlapping window), so don't sweat
35 minutes; do keep the date right.
36- `operator` must match a handle in `web/status/ssh-operators.json`, or the
37 join will miss.
38- `refs` β€” PR/issue URLs or numbers the session's work landed in; may be empty.
39
40## The redaction bar (mirrors the prompt registry's)
41
42These entries are public forever. PR review is the redaction gate β€” reviewers
43hold this line:
44
45- **What, not how.** "Rotated the push relay's tokens" β€” never the procedure,
46 the file paths where key material lives, or anything that maps the defences.
47- **Never a credential, never an email**, never a secret's value or location.
48- **Security-sensitive sessions don't vanish β€” they tombstone.** A session
49 whose honest summary would itself weaken the box publishes as
50 `"why": "(withheld: security)"` β€” the access stays on the public record,
51 only the reason is withheld. Silence (no entry at all) is not an option:
52 that renders as "no summary recorded", which reads as *unexplained* access,
53 not *protected* access.
54