Compliance Readiness Tracker

Version: 1.1.1 Created: 2026-01-15 Last Updated: 2026-05-31 Status: Active

This document tracks implementation progress against the 7-item Compliance Readiness Checklist that regulated customers expect Stella Ops to satisfy before deployment. It is for product, engineering, and customer-success leads who need a single, current view of what is shipped, what is in flight, and which sprint owns each gap.

For the product framing of compliance and the canonical claim-boundary wording, start at Assurance and Compliance Packs. Source under src/ is the ground truth for any technical claim below.

June 2026 code-verified reconciliation (2026-06-16): This tracker covers the 7-item offline/air-gap readiness checklist. The separate EU regime trackers (CRA/NIS2/DORA) were reconciled against src/ on 2026-06-16; see State of European Union compliance (2026-06) for the code-verified per-regime status and the remaining gap clusters (CRA C1-C5, NIS2 N1-N5, DORA D1-D4). The cross-cutting remediation-log items X1 (attestor verdict-ledger write-on-seal) and X4 (Authority seed-gate) are DONE and live-verified; X2 (events-flag projection tables) is retired as a non-gap; X3 (eIDAS soft provider) is reconciliation-only (a real ECDSA provider, registered and gated). The only externally-blocked item is the DORA major-incident EBA XBRL/XSD taxonomy (D1/X5): no valid upstream DORA-IR taxonomy package exists, so conformance there is honestly not-claimed. The offline/operator-support claim boundary is unchanged: Stella produces and signs evidence; the regulated customer remains the reporting party. Most remaining EU gaps are HTTP/write-path parity (code) rather than capability gaps; live security mailbox/key, on-call, and standards-mapping sign-off are org-process. No status in the 7-item table below changes.

Executive Summary

ItemDescriptionCoverageStatusTarget
1Attestation caching (offline)75%In ProgressDemo Ready
2Offline RBAC & break-glass60%In ProgressDemo Ready
3Signed SBOM archives55%In ProgressDemo Ready
4HSM / key escrow50%In ProgressRFP Ready
5Local Rekor mirrors60%In ProgressRFP Ready
6Offline policy engine80%In ProgressRFP Ready
7Upgrade & evidence migration45%In ProgressAudit Ready

Sprint Allocation

Phase 1: Demo Blockers (016)

Target: Features needed for 10-minute compliance demo.

Sprint files for items 016/017/018 have been archived; links point to docs-archive/implplan/.

SprintModuleDescriptionStatus
016_CLI_attest_verify_offlineCLIOffline attestation verification CLITODO
016_CLI_sbom_verify_offlineCLIOffline SBOM verification CLITODO
016_SCANNER_signed_sbom_archive_specScannerSigned SBOM archive formatTODO
016_DOCS_blue_green_deploymentDocsBlue/green deployment guideTODO

Phase 2: RFP Compliance (017)

Target: Features needed to pass RFP security questionnaires.

SprintModuleDescriptionStatus
017_CRYPTO_pkcs11_hsm_implementationCryptoPKCS#11 HSM implementationTODO
017_ATTESTOR_periodic_rekor_syncAttestorPeriodic Rekor checkpoint syncTODO
017_ATTESTOR_checkpoint_divergence_detectionAttestorCheckpoint divergence detectionTODO
017_POLICY_cvss_threshold_gatePolicyCVSS threshold policy gateTODO
017_POLICY_sbom_presence_gatePolicySBOM presence policy gateTODO
017_POLICY_signature_required_gatePolicySignature required policy gateTODO

Phase 3: Audit Readiness (018)

Target: Features needed to pass security audits.

SprintModuleDescriptionStatus
018_SIGNER_dual_control_ceremoniesSignerDual-control signing ceremoniesTODO
018_CRYPTO_key_escrow_shamirCryptoKey escrow with ShamirTODO
018_AUTH_local_rbac_fallbackAuthorityLocal RBAC policy fallbackTODO
018_EVIDENCE_reindex_toolingEvidenceEvidence re-index toolingTODO
018_DOCS_upgrade_runbook_evidence_continuityDocsUpgrade runbook with evidenceTODO

Detailed Item Status

Item 1: Attestation Caching (Offline)

Why it matters: Regulated shops can’t reach public Sigstore/Rekor during audits.

DSSE verdict caching, offline Rekor receipt verification, and exportable hash-manifested evidence bundles are implemented in Attestor + EvidenceLocker (src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Verification/, src/Attestor/__Libraries/StellaOps.Attestor.TrustVerdict/Caching/, src/EvidenceLocker/.../Services/EvidencePortableBundleService.cs). Remaining work is the operator-facing surface: an offline stella attest verify path with golden fixtures and a bundled VERIFY.md script.

RequirementStatusSprint
DSSE caching, transparency proofs, exportable bundles, hash manifestDONEExisting
Offline CLI verify (stella attest verify --offline) + golden fixturesTODO016_CLI
VERIFY.md generation (bundled verification script)TODO016_SCANNER

Proof Artifacts:

Item 2: Offline RBAC & Break-Glass

Why it matters: No cloud IdP during outages/air-gap. Auditors want least-privilege and emergency access trails.

Incident-mode access is live: a dedicated incident scope, freshness-bound (auth_time) tokens carrying a reason claim, and an Authority audit endpoint that records entry/exit. Scope and claim constants are canonical in src/Authority/StellaOps.Authority/StellaOps.Auth.Abstractions/StellaOpsScopes.cs and the adjacent StellaOpsClaimTypes.cs; do not re-enumerate them here. Remaining work is a fully offline fallback path: a file-backed policy store, a bootstrap break-glass account, and session auto-revocation.

RequirementStatusSprint
Incident-mode tokens, freshness validation, reason codes, audit endpointDONEExisting
Local file-backed policy storeTODO018_AUTH
Bootstrap break-glass account + auto-revocationTODO018_AUTH

Proof Artifacts:

Item 3: Signed SBOM Archives (Immutable)

Why it matters: SBOMs must be tamper-evident and tied to exact build inputs.

CycloneDX/SPDX export and DSSE signing exist in Scanner + Signer. The remaining work is an immutable archive format that binds the SBOM to its build inputs (tool versions, scanner image digest) plus a one-click stella sbom verify. The format is specified in docs/modules/scanner/signed-sbom-archive-spec.md — that spec is authoritative for the archive layout and metadata.json shape. RFC 3161 timestamping is deferred.

RequirementStatusSprint
CycloneDX/SPDX export, DSSE signingDONEExisting
Signed archive format (tool versions + source digest)TODO016_SCANNER
One-click stella sbom verifyTODO016_CLI
RFC 3161 TSA integrationDEFERREDFuture

Proof Artifacts:

Item 4: HSM / Key Escrow Patterns

Why it matters: Key custody is a governance hotspot.

Key management runs through the crypto plugin layer (src/Cryptography/): a PKCS#11 HSM plugin and key-rotation service exist, with optional KMS clients (src/__Libraries/StellaOps.Cryptography.Kms/) available as plugins for customers who require them — never as a default, per the on-prem-first posture. Operator config is authoritative in the HSM setup runbook. Remaining governance work is dual-control (M-of-N) signing ceremonies and Shamir-based key escrow.

RequirementStatusSprint
PKCS#11 HSM plugin, key rotation, optional KMS plugin clientsDONE/PARTIALExisting
Dual-control (M-of-N) ceremoniesTODO018_SIGNER
Key escrow (Shamir secret sharing)TODO018_CRYPTO

Proof Artifacts:

Item 5: Local Rekor (Transparency) Mirrors

Why it matters: Auditors want inclusion proofs even when offline.

Tile verification, checkpoint-signature verification, and offline receipt verification are implemented in Attestor Core (src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Verification/). Remaining work is a persistent local mirror: periodic checkpoint sync into a Postgres-backed checkpoint store, plus root-divergence detection (see the checkpoint-divergence runbook).

RequirementStatusSprint
Tile verification, checkpoint verify, offline receiptsDONEExisting
Periodic sync + Postgres checkpoint storeTODO017_ATTESTOR
Divergence detection (root-mismatch alarms)TODO017_ATTESTOR

Proof Artifacts:

Item 6: Offline Policy Engine (OPA/Conftest-class)

Why it matters: Gates must hold when the network doesn’t.

Versioned policy bundles, a sealed (air-gap) evaluation mode, and the existing gate family — VEX proof/trust, unknowns budget, evidence freshness — are implemented in the Policy engine (src/Policy/StellaOps.Policy.Engine/AirGap/ for sealed mode; src/Policy/__Libraries/StellaOps.Policy/Gates/ for the gate catalog, which is authoritative for the full gate list). Remaining work adds three release-control gates: CVSS threshold, SBOM presence, signature-required.

RequirementStatusSprint
Policy bundles, sealed mode, VEX/unknowns/evidence gatesDONEExisting
CVSS threshold gateTODO017_POLICY
SBOM presence gateTODO017_POLICY
Signature-required gateTODO017_POLICY

Proof Artifacts:

Item 7: Upgrade & Evidence-Migration Paths

Why it matters: “Can we upgrade without invalidating proofs?” is a top blocker.

Forward-only DB migrations (see ADR-004), Merkle-rooted evidence manifests, and per-module backup/restore are in place. Operator procedures live in the blue/green deployment and upgrade runbook docs. Remaining work is tooling to re-index evidence across an upgrade (stella evidence reindex) and cross-reference old/new Merkle roots for proof continuity.

RequirementStatusSprint
Forward-only DB migrations, Merkle-rooted manifests, backup/restoreDONEExisting
Evidence re-index tooling + old/new root cross-referenceTODO018_EVIDENCE

Proof Artifacts:

Documentation Deliverables

DocumentPathStatus
Blue/Green Deploymentdocs/operations/blue-green-deployment.mdDONE
Upgrade Runbookdocs/operations/upgrade-runbook.mdDONE
HSM Setup Runbookdocs/operations/hsm-setup-runbook.mdDONE
Signed SBOM Specdocs/modules/scanner/signed-sbom-archive-spec.mdDONE
Break-Glass Accountdocs/modules/authority/operations/break-glass-account.mdDONE

Demo Script (10 Minutes)

A ~10-minute, network-off walkthrough that exercises each readiness item end to end. The scenarios below give the narrative and what each proves; for the exact stella subcommands and flags, see the CLI command source (src/Cli/StellaOps.Cli/Commands/) — it is authoritative and avoids drift from aspirational flag names. Several commands map to TODO items above and only land as those sprints complete.

#Scenario (~2 min each)ProvesReadiness item
1Verify an attestation bundle and a signed SBOM archive offline against a local trust rootOffline DSSE + SBOM verification with pass/fail and hash-chain output1, 3
2Evaluate a policy gate that blocks a high-CVSS artifact, add a signed VEX exception, re-evaluate to a passLocal policy gating + justified VEX exception flow without network2, 6
3List the active signing key, rotate it in the HSM, re-sign, and re-verifyHSM key rotation preserving attestation continuity4
4Query the local Rekor mirror and verify an inclusion proof against a local checkpoint offlineTransparency inclusion proofs hold offline5
5Run an upgrade pre-check, simulate the upgrade, re-index proofs, and produce a before/after continuity reportUpgrade without invalidating proofs (unchanged digests)7

Stakeholder Sign-Off

RoleNameDateSignature
Engineering Lead
Security Lead
Product Manager
Customer Success

Change Log

DateVersionAuthorChanges
2026-01-151.0.0PlanningInitial tracker creation
2026-05-301.1.0DocsRight-sized to tracker altitude: collapsed per-item implementation-class enumerations and the exhaustive demo CLI script into shape summaries + pointers to src/ and authoritative runbooks/specs; repointed archived sprint links.
2026-05-311.1.1DocsVerified all pointers resolve against src/ and docs tree; de-elided the Item-2 Authority path to the exact StellaOps.Auth.Abstractions/ location.
2026-06-161.1.2DocsAdded June 2026 code-verified reconciliation note pointing to docs/europe/state-of-european-union-compliance-2026-06.md; summarized CRA/NIS2/DORA gap clusters and cross-cutting X1/X4 (DONE), X2 (retired), X3 (reconciliation-only), D1/X5 (externally-blocked). No 7-item readiness status changed.