Let somebody watch the key log for their own account #90

Merged
paulhitt merged 2 commits from feat/monitorable-key-log into main 2026-09-02 23:55:16 +00:00
paulhitt commented 2026-09-02 18:35:58 +00:00 (Migrated from gitlab.com)

Closes #32.

Without a by-subject lookup a monitor cannot monitor. The only lookup was by device id — which requires already knowing the device the monitor is trying to discover. The subject column existed; nothing exposed it.

A query parameter, not a path segment: logSubject falls back to local:<audience>/<userID>, which contains a slash — a path route would have silently 404'd for exactly the accounts least able to notice.

The index stays a position in the whole log, not a per-subject number; a test puts an unrelated entry ahead so per-subject numbering fails it.

Unauthenticated, and the cost is documented: anyone with an fnid can see how many devices it has published and when. Inherent to key transparency — a substitution cannot be detected in a log nobody may read.

Scripts/watch-key-log.py — stdlib only, self-hosted, because a service everybody was enrolled in would learn which accounts are worth watching.

It states what it cannot see: a forked log needs witnesses (#23, none exist), and a silent relay reports "could not reach", never "no changes". First run is a baseline, not a report.

7 new tests; full relay suite green.

Closes #32. **Without a by-subject lookup a monitor cannot monitor.** The only lookup was by device id — which requires already knowing the device the monitor is trying to discover. The `subject` column existed; nothing exposed it. **A query parameter, not a path segment**: `logSubject` falls back to `local:<audience>/<userID>`, which contains a slash — a path route would have silently 404'd for exactly the accounts least able to notice. **The index stays a position in the whole log**, not a per-subject number; a test puts an unrelated entry ahead so per-subject numbering fails it. **Unauthenticated, and the cost is documented**: anyone with an fnid can see how many devices it has published and when. Inherent to key transparency — a substitution cannot be detected in a log nobody may read. `Scripts/watch-key-log.py` — stdlib only, self-hosted, because a service everybody was enrolled in would learn which accounts are worth watching. It states what it **cannot** see: a forked log needs witnesses (#23, none exist), and a silent relay reports "could not reach", never "no changes". First run is a baseline, not a report. 7 new tests; full relay suite green.
paulhitt commented 2026-09-02 19:43:06 +00:00 (Migrated from gitlab.com)

added 6 commits

  • 34b665dc...1a0a93fa - 4 commits from branch main
  • 2c7ae289 - Let somebody watch the key log for their own account
  • 7cffea68 - Let an operator switch off per-subject log queries

Compare with previous version

added 6 commits <ul><li>34b665dc...1a0a93fa - 4 commits from branch <code>main</code></li><li>2c7ae289 - Let somebody watch the key log for their own account</li><li>7cffea68 - Let an operator switch off per-subject log queries</li></ul> [Compare with previous version](/paulhitt/flamenet-relay/-/merge_requests/27/diffs?diff_id=2000724579&start_sha=34b665dcfbd083517fe77e265cc4083336d390f7)
paulhitt commented 2026-09-02 23:55:10 +00:00 (Migrated from gitlab.com)

added 11 commits

  • 7cffea68...83f0a029 - 9 commits from branch main
  • 3a01cf11 - Let somebody watch the key log for their own account
  • 5f552c5d - Let an operator switch off per-subject log queries

Compare with previous version

added 11 commits <ul><li>7cffea68...83f0a029 - 9 commits from branch <code>main</code></li><li>3a01cf11 - Let somebody watch the key log for their own account</li><li>5f552c5d - Let an operator switch off per-subject log queries</li></ul> [Compare with previous version](/paulhitt/flamenet-relay/-/merge_requests/27/diffs?diff_id=2001133736&start_sha=7cffea682924a5de7c84c5143215181f9fef99e2)
paulhitt (Migrated from gitlab.com) merged commit 657e53693a into main 2026-09-02 23:55:16 +00:00
paulhitt commented 2026-09-02 23:55:17 +00:00 (Migrated from gitlab.com)

mentioned in commit 657e53693a

mentioned in commit 657e53693abe2c7e1780c534b7087fd6b5a334c1
paulhitt commented 2026-09-09 18:59:16 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.