Sign the session's start, on the row and on the log, with the same signature #20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/session-signature"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The session row's
signaturecolumn was always null and the session-start record was unsigned; consent could not be back-dated but the session it belonged to could.What changes. The session-start record names its device and is signed by the device key over its canonical JSON, and the same signature is stored on the session row, so row and record vouch for each other. It is written when the start goes on the log, which is the moment there is consent to record it under. The server checks session-start lines the way it checks consent lines.
Proof. The record on the log verifies against the store's key and carries the row's signature; a moved start time verifies against nothing; the adapter accepts a signed start and refuses a moved one. A journal that does not sign fails the test. Linux verifier green on the pinned toolchain; 67 adapter tests pass. Known window: a client built between the device key and this change sends an unsigned start under a keyed header and has that one line refused until updated.