Goal
Prove who authored a packet or delivery, not only that bytes are unchanged (SHA-256) or that a local: label was written.
Problem
Today:
- SHA-256 detects tampering in transit, not authorship.
- Durable inbox
local:name is a routing label, not authenticated identity.
- Anyone who can write the mailbox can forge a delivery that looks structurally valid.
That is honest for a local spool; it is insufficient for multi-user or remote transport.
Scope
- Local keypair (or equivalent) managed by the user/agent environment — no 3Notch account system.
- Sign packed packets / deliveries at send time; verify on pull/import.
- Surface verification status in CLI (
packet preview, inbox pull, status) and MCP structured results.
- Document trust model: keys, TOFU vs pinned identities, rotation, what verify-fail does (fail closed by default for remote/sealed paths).
Non-goals
- OAuth, org SSO, or hosted identity provider in core.
- Treating signature as encryption (separate issue).
- Replacing human review of packet content.
Acceptance ideas
Related
- Builds on encryption work for key hygiene but can design in parallel.
- Required before remote transport claims "authenticated delivery."
- Does not change the intentional block of private/seed on open shared mailboxes.
Goal
Prove who authored a packet or delivery, not only that bytes are unchanged (SHA-256) or that a
local:label was written.Problem
Today:
local:nameis a routing label, not authenticated identity.That is honest for a local spool; it is insufficient for multi-user or remote transport.
Scope
packet preview,inbox pull, status) and MCP structured results.Non-goals
Acceptance ideas
Related