From 7dad329c871accb88ea66aae2e3a56c17c3c9a95 Mon Sep 17 00:00:00 2001 From: Sam Lown Date: Tue, 11 Aug 2026 23:49:15 +0000 Subject: [PATCH] net: re-countersigning supersedes a party's own earlier signatures Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 4 ++++ net/README.md | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c9ebf398..6349d9a65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ## [Unreleased] +### Changed + +- `net`: spec §5.3 — a party re-countersigning an envelope MUST replace its own earlier countersignatures (supersession); removing another party's signatures remains forbidden. In steady state an endorsed identity carries exactly three signatures: the subject's, the Authority's, and the verifier's. + ### Added - `net`: sandbox support: `SandboxAuthorities` (default `lookup.sandbox.gobl.org`) and the `WithSandbox` client option. The live and sandbox trust lists are disjoint. diff --git a/net/README.md b/net/README.md index 5c9d3d1f4..4c9288b00 100644 --- a/net/README.md +++ b/net/README.md @@ -378,7 +378,12 @@ require verification reject with `ErrNotVerified` valid bare address is treated as absent. Adding or revoking verification is the registration Authority's act: it re-countersigns the envelope with the pointer added or removed, which makes the -registry the single source of truth for verification state. The +registry the single source of truth for verification state. A party +re-countersigning an envelope MUST replace its own earlier +countersignatures rather than accumulate copies: supersession is +what makes the latest statement authoritative — a lingering older +signature could assert a verifier the Authority has since revoked. +No party may remove another party's signatures. The coordination when verification completes is an ordinary delivery with no new endpoints: the subject sends its registered envelope to the verifier's inbox, the verifier countersigns that exact envelope