feat: add single-file reference client

This commit is contained in:
randogoth 2026-09-26 11:01:41 +03:00
parent 69ba092179
commit 06249ed244
3 changed files with 884 additions and 0 deletions

View file

@ -192,6 +192,8 @@ A server keeps each username's ordered chain of certificates and returns it with
A server MUST retain every key ever bound to a username, MUST accept `SEND` addressed to any of them, and MUST return messages addressed to any of them on `FETCH`. Without this, mail from a contact who has not yet seen a rotation is addressed to a superseded key and becomes unreachable.
A client MUST likewise retain every private key it has rotated away from. Sealing is to a specific key (§5.2), so mail addressed to a superseded key is only ever readable with that key's private half.
**Rotation is not revocation.** An attacker holding a stolen identity key can rotate to their own key and the chain will validate. Clients MUST surface rotations in the interface rather than applying them invisibly; out-of-band re-verification is the only defence against a compromised identity key. There is no revocation mechanism in version 1.
## 8. Trust model