Skip to content

feat(auth): enforce fail-closed protected authorization - #4774

Closed
cea-block wants to merge 19 commits into
cea/o3-enterprise-identity-frozen-basefrom
cea/o4-fail-closed-protected-authorization
Closed

feat(auth): enforce fail-closed protected authorization#4774
cea-block wants to merge 19 commits into
cea/o3-enterprise-identity-frozen-basefrom
cea/o4-fail-closed-protected-authorization

Conversation

@cea-block

@cea-block cea-block commented Aug 4, 2026

Copy link
Copy Markdown

Why

Build on #4772 by ensuring protected operations consume a single validated authorization context and fail closed when identity evidence, provider provenance, or revocation state is missing, stale, or ambiguous.

What

  • Add typed authorization evidence, provider provenance, binding, reason, lease, and finalization contracts
  • Enforce deny-protected defaults and route coverage across relay, database, media, git, audio, and workflow paths
  • Add durable revocation and invalidation, authority epochs, client-status projections, and provider-neutral runtime conformance coverage
  • Add SQLx migrations 0030 through 0045 in one unique linear sequence

Risk Assessment

High — this changes core authorization and protected data paths across several server components and includes database migrations. The PR is draft-only and does not deploy or activate the feature.

References

Generated with Codex

Canonical O4 slice: 01_header_ambiguity
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 02_iat_clock_skew
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 03_jwks_hard_age_metrics
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 04_protected_authority
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 05_protected_transports
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 06_protected_route_wiring
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 07_revocation_invalidation
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 08_enrollment_policy
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
Canonical O4 slice: 09_provider_installation
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

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>
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>
@cea-block cea-block closed this Aug 4, 2026
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