Conversation
Proposes Known Values for signature context: signingAs, onBehalfOf, delegatedBy, delegationChain. Applies to all signature types. Community range 1020-1023. Seeking rough consensus; willing to use 100000+ if community prefers. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
- delegatedBy → conferredBy - delegationChain → conferralChain - Updated terminology section with conferral definition - Updated all examples and usage patterns - Changed "key-level" to "cryptographic signing privileges" Rationale: "Conferral" avoids collision with cryptographic delegation (XID delegate predicate), OAuth grants, and access control terminology. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Terminology Update: "Conferral" replaces "Delegation"Based on feedback about terminology collision, I've renamed the delegation predicates to use "conferral" instead. Why the change"Delegation" collides with multiple technical domains:
"Conferral" is the formal legal term for granting authority ("confer authority upon") and has minimal collision with existing technical vocabulary. Changes in this PR
Also updated terminology sections, examples, and changed "key-level privileges" to "cryptographic signing privileges". BCR-2026-007 uses matching |
Consolidating all authority conferral predicates in one place: - Removed conferredBy (1022) and conferralChain (1023) from this BCR - BCR-006 now focused on signing context only: signingAs, onBehalfOf - BCR-2026-007 now has all conferral predicates (1040-1045) This avoids having conferral terminology split across two BCRs. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Predicate Consolidation: conferral predicates moved to BCR-2026-007To avoid splitting authority conferral terminology across two BCRs, I've moved BCR-2026-006 now defines only:
BCR-2026-007 now defines all conferral predicates:
This keeps the authority relationship vocabulary in one place while BCR-006 focuses purely on signing context. |
…tations Major rewrite establishing the mental model for signing events: RENAMED: bcr-2026-006-signature-context.md → bcr-2026-004-signing-event-attestations.md Key changes: - Lead with insight: signed proves key, not identity or intent - Define precisely what a cryptographic signature proves - Document double-signing pattern for binding attestations to signatures - Use "attestations" terminology consistently (replaces "context") - Clarify dates are self-asserted claims, not timestamps (proofs) - Document key separation scenarios (by purpose, by device, third-party) - Distinguish Gordian ecosystem (XIDs/Clubs) from broader use (URIs/DIDs) - Remove incorrect BCR-2024-009 attribution for double-signing pattern - Codepoints 300-301 in Reserved range (was Community range) This BCR is renumbered to 004 as it establishes foundational concepts needed by other BCRs and requires only internal approval. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Major Rewrite: BCR-2026-006 → BCR-2026-004 Signing Event AttestationsThis PR has been substantially rewritten and renumbered. Why Renumber to 004?This BCR establishes foundational concepts (the signing mental model, double-signing pattern) that other BCRs in this suite depend on. It also:
Key ChangesMental Model Clarification:
Terminology:
Double-Signing Pattern:
New Content:
Predicates:
File Changes
The branch name remains |
Some signature schemes don't embed or allow recovery of the public key: - EdDSA/Ed25519: key hashed in Fiat-Shamir transform - BBS+: zero-knowledge proofs are unlinkable - Longfellow: designed to hide signer identity This is a key technical rationale for why the signer predicate is necessary - in these schemes there's no key to "look up" from the signature alone. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Update (2026-02-04): Signature Scheme RationaleAdded technical rationale for why Why
In these schemes, there is no public key to "look up" from the signature alone. The Added references to BBS (IETF draft) and Longfellow (IETF draft) specifications. |
"Assertion" is the technical term for Envelope predicate-object pairs. Existing BCRs (2024-009, 2024-010, 2025-004) consistently use this term. BCRs are technical specifications; technical terminology is appropriate. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Update (2026-02-04): Terminology ChangeRenamed from "Signing Event Attestations" to "Signing Event Assertions". Rationale:
The semantic intent is preserved — signers are still making formal declarations about signing events — but the vocabulary now aligns with established Envelope terminology. |
Clarifies that "assertion" is Envelope vocabulary (predicate-object pair) while "attestation" is general vocabulary (act of declaring/testifying). The signer *attests* to facts; these are expressed as *assertions*. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Primary: signature-with-assertions (signer's own assertions) Secondary: wrapped signing (third-party assertions) References BCR-2024-009 as structural foundation. All examples updated to new structure. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Update (2026-02-04): Adopted BCR-2024-009 PatternMajor structural change: Now documents two signing patterns instead of just double-signing. Pattern 1: Signature-with-Assertions (Primary)For signer's own assertions about their signing act — uses BCR-2024-009's structure: The Signature object carries its assertions, wrapped and signed as a self-contained unit. Pattern 2: Wrapped Signing (Third-Party)For third-party assertions about already-signed content (timestamps, notarization, witnessing): Third party wraps signed content, adds their assertions, signs. Key Changes
|
- Reduce document from ~560 to ~289 lines - Remove verbose explanations, keep direct statements - Validate all examples with envelope-cli: - Signature-with-assertions pattern (BCR-2024-009 style) - Wrapped signing for third-party assertions - Parallel signatures - Counter-signatures - Both inner and outer signatures verify correctly Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Prose Cleanup & Validation UpdateChanges:
Envelope CLI Validation:
Terminology:
|
Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Security Considerations UpdateExpanded Security Considerations to be self-contained for verification: Added:
This ensures readers don't need to read BCR-2024-009 to understand verification requirements, while keeping implementation details in the appropriate spec. |
Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Ready for Final ReviewChanges in This Update
Checklist Before Merge
Post-Merge Tasks
|
Codepoints 300-303 are already assigned (asset, Bitcoin, Ethereum, Tezos). Moving to 800-801 for 3-byte CBOR encoding on decade boundary. Signed-off-by: Christopher Allen <ChristopherA@LifeWithAlacrity.com>
Codepoint UpdateUpdated codepoints to avoid collision with existing registry:
Reason: Codepoints 300-303 are already assigned ( New range: 800-801 provides 3-byte CBOR encoding on decade boundary. |
Proposes Known Values for expressing the context and capacity in which signatures are made.
Predicates defined:
signingAs— Capacity or role in which the entity is signingonBehalfOf— Principal on whose behalf the signature is madedelegatedBy— Entity that delegated the signing authoritydelegationChain— Reference to the full delegation audit trailCodepoints: Community range 1020-1023
Applies to all signature types: self-attestations, peer endorsements, and binding agreements.
Seeking rough consensus; willing to use 100000+ range if community prefers.