Skip to content

feat(auth): add versioned authorization context contract - #3564

Draft
cea-block wants to merge 9 commits into
fsola/corporate-identityfrom
cea/shared-auth-context
Draft

feat(auth): add versioned authorization context contract#3564
cea-block wants to merge 9 commits into
fsola/corporate-identityfrom
cea/shared-auth-context

Conversation

@cea-block

@cea-block cea-block commented Jul 29, 2026

Copy link
Copy Markdown

Why

Authorization providers and protected transports need one immutable, provider-neutral context that preserves the verified actor, optional federated principal, binding state, delegation, transport, and time bounds used for a decision.

What

  • Add a versioned authorization context finalized from server-verified evidence
  • Keep the authenticated Nostr actor distinct from an optional issuer-qualified federated principal
  • Represent active bindings with stable identifiers, positive versions, provenance, and authoritative lifecycle results
  • Keep direct authorization, delegated-owner authorization, and owner admission distinct
  • Add stable decision reasons and redacted diagnostics
  • Rename the existing relay connection context so it remains distinct from the new authorization contract

Review guide

  • The main review surface is the buzz-auth authorization-context contract and its invariant tests
  • Relay changes are limited to adopting the distinct connection-context name and compile-time seams
  • This PR does not add persistence, migrations, configuration, provider adapters, or new runtime authorization behavior

Risk assessment

Low. This PR adds a contract and type-level integration seams without activating new authorization behavior.

Testing

  • Authorization-context construction and invariant tests
  • Negative cases for domain, transport, principal, key, delegation, attestation, lifecycle, and time mismatches
  • Formatting, linting, and hosted repository checks

References

@cea-block
cea-block force-pushed the cea/shared-auth-context branch 2 times, most recently from a0f9706 to 8194b88 Compare July 29, 2026 21:48
@cea-block
cea-block force-pushed the fsola/corporate-identity branch from 0390d06 to a28957d Compare August 3, 2026 13:36
@cea-block
cea-block force-pushed the cea/shared-auth-context branch from 8194b88 to 49af926 Compare August 3, 2026 15:34
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
(cherry picked from commit 49af926)
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
* commit '29c467ddcababf97b7df987155bd0e93acce6b72':
  test(desktop): stabilize off-relay video menu
  fix(desktop): keep sidebar within size limit

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant