Decision Capsules — Audit-Grade Evidence Bundles

Status: Concept reference for v1.0.0-RC1 · CLI surface verified 2026-07-28 Audience: Technical buyers, security architects, compliance teams

Executive Summary

Stella Ops isn’t just another scanner—it’s a different product category: deterministic, evidence-linked vulnerability decisions that survive auditors, regulators, and supply-chain propagation.

Decision Capsules are the mechanism that makes this possible: content-addressed bundles that seal every scan result with all inputs, outputs, and evidence needed to reproduce and verify vulnerability decisions. This is the heart of audit-grade assurance—every decision becomes a provable, replayable fact.

Key message: “Prove every fix, audit every finding.”


What is a Decision Capsule?

A Decision Capsule is a signed, immutable bundle containing:

ComponentDescriptionPurpose
Exact SBOMThe precise software bill of materials used for the scanReproducibility
Vuln feed snapshotsFrozen advisory data (NVD, OSV, GHSA, etc.) at scan timeConsistency
Reachability evidenceStatic call-graph artifacts + runtime tracesProof of analysis
Policy versionLattice rules and threshold configurationExplainability
Derived VEXThe vulnerability status decision with justificationOutcome
DSSE signaturesCryptographic signatures over all contentsIntegrity
┌─────────────────────────────────────────────────────────────┐
│                    Decision Capsule                          │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────────┐  ┌──────────────────┐        │
│  │  SBOM   │  │ Vuln Feeds  │  │ Reachability     │        │
│  │ (exact) │  │ (snapshots) │  │ Evidence         │        │
│  └─────────┘  └─────────────┘  └──────────────────┘        │
│                                                              │
│  ┌─────────────┐  ┌─────────────┐  ┌──────────────────┐    │
│  │ Policy Ver  │  │ Derived VEX │  │ DSSE Signatures  │    │
│  │ + Lattice   │  │ + Justify.  │  │ (integrity)      │    │
│  └─────────────┘  └─────────────┘  └──────────────────┘    │
└─────────────────────────────────────────────────────────────┘

Why Decision Capsules Matter

For Security Teams

For Compliance Teams

For Developers


Competitive Differentiation

CapabilityStella OpsCompetitors
Sealed evidenceDecision Capsules with DSSE signaturesScan reports (mutable)
ReproducibilityBit-for-bit replay from frozen feeds“Re-scan” with current data
Evidence linkingEvery VEX decision has proof pointersVEX statements without proof
Offline verificationFull verification without networkRequires SaaS connection

Battlecard one-liner: “Prove every fix, audit every finding—Decision Capsules seal evidence so you can replay scans bit-for-bit.”


Technical Details

Capsule Format

apiVersion: capsule.stellaops.dev/v1
metadata:
  id: "cap-2025-12-11-abc123"
  timestamp: "2025-12-11T14:30:00Z"
  scan_id: "scan-xyz789"
inputs:
  sbom:
    format: "cyclonedx@1.6"
    digest: "sha256:..."
  feeds:
    - name: "nvd"
      snapshot: "2025-12-11"
      digest: "sha256:..."
    - name: "osv"
      snapshot: "2025-12-11"
      digest: "sha256:..."
  policy:
    version: "corp-policy@2025-12-01"
    digest: "sha256:..."
  reachability:
    graph_hash: "blake3:..."
    edge_bundles: ["bundle:001", "bundle:002"]
outputs:
  vex:
    format: "openvex"
    digest: "sha256:..."
  findings:
    digest: "sha256:..."
signatures:
  - scheme: "DSSE"
    profile: "FIPS-140-3"
    signer: "build-ca@corp"

CLI Commands

There is no stella capsule command. “Decision Capsule” is the concept name used on this page and in marketing copy; the shipped CLI surface for it is stella evidence. Verified 2026-07-28 against src/Cli/StellaOps.Cli/bin/Debug/net10.0/StellaOps.Cli.exe: stella capsule verify exits 2 with Unrecognized command or argument 'capsule'. Never add a command to this page without running it against the shipped binary first.

The real surface, with real flags:

# Export an evidence pack as a single-file evidence card
stella evidence card export <pack-id> --output card.evidence-card.json

# Verify DSSE signatures and Rekor receipts in a card
stella evidence card verify card.evidence-card.json

# Verify fully offline (air-gapped: skips the Rekor transparency-log lookup)
stella evidence card verify card.evidence-card.json --offline --trust-root ./trust-root.json

# Export a full evidence bundle for an audit, and verify it fail-closed
stella evidence export <bundle-id> --include-rekor-proofs
stella evidence export --release <release-id>      # "the audit bundle for release X"
stella evidence verify-offline evidence-bundle-<id>.tar.gz

--format on stella evidence card export accepts json (default) or yaml — there is no audit-bundle value. <pack-id> is an evidence pack ID (e.g. evp-2026-01-14-abc123), not a release name.

Deterministic replay is a separate command group, and it takes a run manifest rather than a capsule file:

# Replay from a run manifest and write the resulting verdict
stella replay --manifest run-manifest.json --output verdict.json

# Replay twice and assert the two runs agree
stella replay verify --manifest run-manifest.json

# Compare two verdict files
stella replay diff --a verdict-a.json --b verdict-b.json

There is no --assert-digest flag; determinism is asserted by stella replay verify (replay twice, compare) or by stella replay diff against a stored verdict.

SBOM generation is stella sbom generate; stella scan is a command group with no --image option of its own and no --capsule-out flag anywhere in the CLI.

stella sbom generate --image reg/app@sha256:... --format cyclonedx --output sbom.json

Confirm any invocation on this page with stella <verb> --help before relying on it.


Integration with Four Capabilities

Decision Capsules connect all four capabilities:

  1. Signed Reachability → Reachability evidence sealed in capsule
  2. Deterministic Replay → Capsule enables bit-for-bit replay
  3. Explainable Policy → Policy version + derived VEX in capsule
  4. Sovereign Offline → Capsule verifiable without network

Customer Scenarios

Scenario 1: Regulatory Audit

“Show me the evidence for this CVE decision from 6 months ago.” → Replay the Decision Capsule, get identical results, provide the signed evidence bundle.

Scenario 2: Incident Response

“This vulnerability was marked not_affected—prove it.” → Extract the reachability evidence from the capsule showing the vulnerable code path is not reachable.

Scenario 3: Supply Chain Attestation

“Provide proof that this image was scanned and passed policy.” → Share the Decision Capsule; downstream consumers can verify the signature independently.