spec: multi-recipient (group) encryption, To/Cc roles, and agreement workflow - #99
Merged
Merged
Conversation
…ent workflow Generalize the existing hybrid attachment encryption (random AES-256 key wrapped with NIP-44) to N recipients via a per-message Content Encryption Key and a new RECIPIENTS armor block. Define To:=signer / Cc:=viewer roles, the sender self-stanza for Sent-folder access, per-level recipients in reply chains, signature coverage of the recipients block, and a DocuSign-style agreement/signing-round workflow that is independently verifiable from the email thread. Bumps spec to 0.3.0-draft.
44 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the Nostr-Mail Protocol Specification (
docs/nostr-mail-spec.md, bumped to v0.3.0-draft) to support multi-recipient encryption and a DocuSign-style agreement workflow — the foundation for delivering SIGit-style signed contracts over ordinary email.The design generalizes the existing hybrid attachment scheme (random AES-256 key wrapped with NIP-44) from one recipient to N, so it reuses crypto already shipped in
crypto.rsrather than introducing anything new.What's in the spec
New normative sections
RECIPIENTSarmor block (<role> <pubkey> <wrapped-cek>), senderself-stanza for Sent-folder access, single-recipient gating for backward compatibility, per-level recipients in reply chains, forward-only access control, and the privacy trade-off vs. NIP-59.Integrating edits
HYBRID ENCRYPTED BODYandRECIPIENTSblock typesX-Nostr-Agreementfiltering headerKey decisions to review
roletoken is authoritative.Scope
Spec-only — no code changes. Suggested follow-up: land plain Cc support end-to-end (types →
lettre .cc()→ IMAPCcparse → compose UI) before implementing the envelope crypto.https://claude.ai/code/session_018dPQuMh5vwZDW1Hqy7jTQp
Generated by Claude Code