Skip to content

SCOPE 2.0 authorization hardening and transactional ledgers - #11

Merged
fraware merged 29 commits into
mainfrom
feat/scope-2.0-authorization-hardening
Jul 22, 2026
Merged

SCOPE 2.0 authorization hardening and transactional ledgers#11
fraware merged 29 commits into
mainfrom
feat/scope-2.0-authorization-hardening

Conversation

@fraware

@fraware fraware commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Introduce AuthorizationEnvelope partial-order capabilities, VerifiedDecision grant gating, issuer-signed grants, and fail-closed IAL/SAL policy.
  • Add SQLite/Postgres transactional ledgers, LocalAppendSink vs S3 Object Lock WORM, Merkle-verified remote delivery, REST principal lockdown, trust manifests, and policy schema validation.
  • Harden CI (SHA pins, CodeQL, SBOM, Hypothesis) and document 2.0 migration, DoD, limitations, and release manifest.

Test plan

  • CI green on this branch
  • Unit tests for envelopes, decision verification, SQLite/Postgres ledgers, WORM/verified remote, session export
  • REST API tests confirm non-authoritative spoofable headers/paths
  • Pilot reconstruction script runs against fixture chain

fraware added 29 commits July 22, 2026 14:45
Replace truncated fragment IDs with full UUID4 hex so artifacts stay collision-resistant across tenants.
Cross-family envelopes are incomparable; narrowing is capability-set inclusion within a family.
Retire total-order hierarchy for authorization comparisons while keeping legacy scope names as aliases.
Support fail-closed verification of remote ledger acknowledgments against an inclusion proof.
Add a mandatory cryptographic verification pipeline so grants never accept a plain signed dict.
Resolve SAL from verified key material and require local signature verification instead of placeholder accepts.
Track attestation metadata, revocation, and rotation so high assurance signing claims are evidence-backed.
Load minimum IAL policy and require verifier-backed SAML/OIDC claims instead of defaulting to domain_scientist.
Sign grants under institutional issuer authority and reference decision signatures instead of copying them as grant authority.
Stop calling local append WORM; add S3 Object Lock sink and fail-closed verified remote delivery with outbox semantics.
Provide a single-node BEGIN IMMEDIATE reference ledger with hash chaining and high-risk sink delivery.
Offer an institutional reference ledger using JSONB events, idempotency keys, and outbox delivery.
Derive tenant and caller from credentials; drop spoofable path/header authority and filesystem path request fields.
Write per-session artifact packs and validate session grant provenance for multi-reviewer credentials.
Digest the full policy/authorization surface so trust root hashes cover what actually authorizes.
Validate core and optional policy files structurally and semantically before the store accepts a bundle.
Route artifact and event ID allocation through the shared UUID4 helpers and harden hash field handling.
Select SQLite/Postgres ledgers from config and fail closed when production REST requirements are missing.
Expose 2.0 authorization and verification paths on the package surface used by CLI and adapters.
Surface institutional live-contract status so deployments can require verified ecosystem integrations.
Reconstruct and verify pilot ledger chains so institutional demos can prove end-to-end integrity.
Catch regressions in envelope containment and hash stability under randomized inputs.
Pin action SHAs, expand supply-chain scanning, and enable property-based tests in the CI toolchain.
Document breaking authorization changes and what remains out of scope for institutional readiness claims.
Use ledger-backed completion paths and updated verification expectations in Akta review flows.
Keep quality metrics correct against transactional ledger event fields.
Match tests to complete trust manifests, global IDs, and session export behavior.
Keep example current_context artifacts consistent with the redesigned authorization model.
Mark the authorization redesign and security hardening as the 2.0 package line.
@fraware
fraware merged commit 41b0faf into main Jul 22, 2026
6 checks passed
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

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.

2 participants