System of record · cybersecurity release evidence

The release-evidence layer for connected-device security.

SBOMFlow turns every firmware and software release into traceable, reviewer-ready evidence — what shipped, which vulnerabilities matter, how it maps to the EU Cyber Resilience Act, and who signed it off. Deterministic, offline by default, and built so your people still make the calls.

Offline by default Deterministic Human review stays central
release-evidence/ offline
$ sbomflow audit ./firmware-build
 scan     components · dependencies · file hashes
 sbom     cyclonedx · spdx  (validated)
 vulns    offline by default · KEV · EPSS · reachability
 cra      Annex I · VII · Art. 14  (2024/2847)
 review   queue · sign-off · approvals
 gate     you decide what blocks a release
 bundle   portable, hash-verified handoff
 observed evidence — pending human review
Illustrative run · sample data labelled non-real human review required
Built on open standards CycloneDX SPDX OSV NVD CISA KEV FIRST EPSS OpenVEX CSAF SARIF SSVC CRA 2024/2847

Why now

A continent-sized deadline is arriving on a published schedule.

The EU Cyber Resilience Act makes cybersecurity evidence a condition of market access for products with digital elements. These are the dates the official sources currently state.

  1. 10 Dec 2024 In force The Cyber Resilience Act (Regulation (EU) 2024/2847) entered into force.
  2. 11 Sep 2026 Reporting begins Article 14 reporting obligations apply, and ENISA's single reporting platform is scheduled to be operational.
  3. 11 Dec 2027 Main obligations Secure-by-design, vulnerability handling, technical documentation, and conformity assessment apply across the market.

Today the proof of a release's security is scattered across build outputs, SBOM tools, trackers, spreadsheets, PDFs, and manual reviews — assembled by hand, under deadline pressure, with little of it tracing back to the exact build that shipped or the person who accepted it. It should be a system, not a scramble — one that can reproduce the decision two years later, when an auditor or customer asks. Source: European Commission ↗ Reporting details ↗

What SBOMFlow is

A deterministic evidence engine — not an AI compliance chatbot.

SBOMFlow reads a real build and the files around it, gathers the security facts about what's actually inside a release, organises them into evidence you can trace and hand to a reviewer, and leaves the judgment calls to your team. Pin the inputs and run context, and the evidence is reproducible.

Reproducible

Deterministic by design

Pinned inputs and run context produce stable identifiers, hashes, and byte-reproducible release artifacts, so a result can be re-checked long after the release. Operational timing data is kept separate.

No paid APIs

Offline-first & private

Runs in locked-down CI and customer environments with zero required dependencies. Your code stays put; it reaches the network only when you explicitly ask it to.

Observed ≠ reviewed

Human-led, never overclaims

What the engine observes is kept separate from what a person has reviewed and accepted. Evidence is never quietly turned into a compliance conclusion.

Embedded-native

Built for connected devices

Firmware build systems, embedded package managers, and container images are first-class — not an afterthought bolted onto a web-app scanner.

The depth behind it

Not a wrapper. A serious engine.

0
Required runtime dependencies
9,600+
Deterministic offline tests
14
Mandatory evidence artifacts on every successful analysis run (more when the inputs warrant them)
300+
Stable, documented warning codes — nothing fails silently
10+
Package ecosystems, plus embedded & containers
100%
Offline by default — no telemetry, no lock-in

Every output is a portable file you own and can diff — not rows in a black box. Every change is held to a strict engineering bar: tests, provenance, and a human-review boundary. The full pipeline — parser, malformed-input, determinism, integrity, and boundary testing, plus a ten-archetype synthetic manufacturer stress corpus — is documented openly in Testing & trust.

Use cases

What teams actually use it for.

Concrete jobs SBOMFlow does today — each one starts from a real build and ends with evidence a human can review, hand off, and reproduce.

01

Prepare for CRA readiness work

Assemble traceable, build-backed evidence for one product release and see exactly where it maps to the regulation — and where the gaps are — without claiming conformity.

Outcome a reviewer-ready evidence pack & coverage map

02

Gate a firmware release in CI

Run on every release candidate. The gate is informational until you choose a policy to enforce — then it blocks on the conditions you set, with the exact reason recorded.

Outcome a deterministic, explainable release decision

03

Answer an SBOM or security questionnaire

Produce validated CycloneDX and SPDX SBOMs, VEX statements, and a coverage summary on demand — so a customer or downstream operator request takes minutes, not a sprint.

Outcome standards-based artifacts you can send today

04

Triage vulnerabilities with real context

Correlate components against public advisories and layer in exploitation signals — known-exploited status, exploit probability, and conservative reachability — as inputs for human triage, never automatic verdicts.

Outcome less false-positive noise, clearer priorities

05

Sign off a release with accountability

Route findings and evidence through a review queue, require multi-role approval with separation of duties, and record time-boxed exceptions in an append-only, hash-chained trail designed to expose later modification.

Outcome a defensible record of who decided what, and why

06

Track what changed between releases

Compare any two releases — new and resolved findings, component and coverage drift, support-period changes — and share a redacted evidence pack downstream to importers and distributors.

Outcome release-to-release continuity you can prove

01

Composition & SBOMs

  • Reads real builds, firmware trees, container images, and supplier SBOMs — Buildroot, Yocto, and Zephyr included — and generates validated, reproducible CycloneDX and SPDX from what it observed, nothing fetched or guessed.
  • Speaks the embedded ecosystems, not just the web onesConan for C/C++ and NuGet for .NET alongside npm, pnpm, yarn, Go, Rust, Python, Ruby, and PHP — and resolves declared and file-based licences into SPDX expressions as first-class evidence.
02

Vulnerability & exploitation context

  • Correlates components against advisories — offline by default — and layers in KEV, EPSS, conservative reachability, and reviewer-driven VEX as inputs for human triage, never automatic rulings.
  • Matching that shows its own confidence. Version-range-aware matching (semver, PEP 440, Debian epochs) with a match-confidence signal on every finding; withdrawn and rejected advisories are excluded and recorded, a disputed advisory stays visible as context, and cross-source aliases are reconciled so one real vulnerability is never double-counted. A range it can’t order becomes “needs verification” — never a silent decision.
03

CRA-oriented evidence

  • Maps observed evidence to a versioned model of the regulation — Annex I, Annex VII, Article 14 — with technical-documentation workspaces and drafts that are always unsigned and never filed.
  • SBOM field-presence checks against NTIA minimum elements and BSI TR-03183-2 ship in every run — presence facts a reviewer can act on, never a conformance verdict.
04

Review, approvals & gates

  • A review queue, multi-role sign-off with separation of duties and a configurable approval quorum, and explainable release gates — informational by default, blocking only under the policies you enforce, on a tamper-evident audit chain. Time-boxed waivers surface before they expire, so an exception can’t quietly outlive its window.
  • Licence risk is a gate too. Enforce a licence deny-list on a release the same way you enforce vulnerabilities — and rehearse any gate with a dry run before you let it fail a build.
05

Fits your existing workflow

  • Runs in CI (GitHub Actions, GitLab, Jenkins), exports SARIF and CSV, and syncs to GitHub, Jira, ServiceNow, and Dependency-Track — dry-run by default, opt-in to apply.
  • The verdict lands where reviewers already are — gate results become native annotations on a GitHub pull request or a GitLab merge request, offline and output-only, even when the gate blocked the build.
06

Provenance & trust

  • Hashes every scanned file, surfaces 300+ documented warning codes instead of failing silently, and defends its own parsing boundaries against hostile inputs.
07

Release memory

  • Evidence accumulates — this is what makes it a system of record. A local, content-addressed store keeps every release's evidence; query it across products and versions, roll up a portfolio view, and compare any two releases. The decision history stays yours, in open formats, on your machine.
  • Bring your history with you. Past releases can be backfilled into the store as clearly-labelled declared records — useful for continuity, and never presented as observed evidence.
08

Post-market & sharing

Limited preview · experimental
  • A PSIRT case workflow you can run today, offline. Open a case on an append-only, hash-chained journal; intake an advisory with provenance and duplicate detection; correlate it against your shipped releases into exposure candidates — never automatic “affected” verdicts; record human triage, remediation verification, time-boxed risk acceptance, and communications. Advisory exports are watermarked UNSIGNED DRAFTs — SBOMFlow never files or publishes anything.
  • An assurance passport for customers. Issue a self-contained, hash-attested sharing pack per release — redaction-audited, counts-only decision summary, optional Ed25519 signature — that a recipient can verify offline without installing SBOMFlow.

How it works

From a real build to reviewer-ready evidence.

01

Point it at a real build

Run SBOMFlow against an actual product or firmware build — the same one you ship — plus any SBOMs, test results, and evidence you already have.

input · your build

02

Gather the facts & generate SBOMs

It identifies components and dependencies, produces standards-based SBOMs, and hashes every scanned file — so each piece of evidence traces to the exact bytes it came from.

observed, not assumed · cyclonedx · spdx

03

Add vulnerability & CRA context

It correlates known issues, layers in exploitation context only when you ask, and maps what it observed to a versioned model of the regulation — keeping judgment areas clearly separate.

offline by default · Annex I · 2024/2847

04

Put humans in control

Findings and evidence flow through a review queue, multi-role approvals, and a release gate you configure. What the engine observes never becomes acceptance on its own.

observed ≠ accepted

05

Hand off clean, reproducible evidence

It produces a consistent set of outputs — an evidence pack, a release-gate decision, a portable reviewer bundle, and an audit trail — for a release call a human still owns.

reproducible outputs · hash-verified

06

Keep it current after release Limited preview · design partners

Shipping today as an experimental preview. When a new advisory arrives, the post-market case workflow shows which shipped releases are exposure candidates and carries your assessments, decisions, and human-reviewed unsigned reporting drafts — so post-market work builds on the release evidence instead of restarting it. Design partners are shaping it toward production. Consequential calls stay human decisions, and SBOMFlow never files a report.

limited preview · design partners · never files

Product walkthrough

Inspect what one offline run actually produces.

This is real SBOMFlow output — a pinned, offline sample run of the bundled example gateway, projected straight from the generated artifacts. Step through the release evidence the way a reviewer would.

Interactive product walkthrough · illustrative sample data · advisory data labelled non-real (CVE-SAMPLE-*) · human review required

One offline sbomflow audit of the sample gateway release (Example Embedded Linux Gateway 2.4.1) observes 22 components, matches 2 sample advisory findings (CVE-SAMPLE-OPENSSL-001, CVE-SAMPLE-BUSYBOX-001), maps evidence to the CRA Annex I model, records 7 evidence gaps, and leaves 6 observed items awaiting human review. The release gate stays informational until you enforce a policy — with --fail-on-gaps the same run blocks with the exact reason and exit code 1.

The interactive view needs JavaScript. Everything in it also exists as plain files: see evidence outputs and your first offline audit.

Who it's for

Built for the people who sign off on a release.

Product owners

Connected-device manufacturers

Embedded Linux, industrial IoT, robotics, and firmware-driven products heading into the EU market.

Engineering

Firmware & embedded teams

Connect build outputs, firmware manifests, and security tests to release evidence — in the pipeline you already run.

Security

Product-security teams

Triage vulnerabilities, reachability, and evidence gaps from real artifacts — not guesswork.

Review

Compliance & quality reviewers

Prepare structured evidence and documentation workspaces without overclaiming.

Release

Release managers

Use consistent artifacts and explicit gates to support repeatable, defensible release decisions.

Readiness

CRA readiness owners

Assemble traceable, build-backed evidence for EU Cyber Resilience Act work.

Best fit today: small-to-mid-size embedded Linux and industrial IoT manufacturers with firmware CI and product-security ownership, preparing for CRA obligations. SBOMFlow is built for connected and embedded products — not only web apps.

Where it stands, and where it's going

From release evidence to the connected-product security lifecycle.

One evidence record, across the life of a connected product — develop, release, operate, prove. The release-evidence core is real and runs offline today, with a strict no-overclaim discipline; it's where design partners start. The operate phase — keeping that record useful after a product ships, when new vulnerabilities and incidents arrive — ships today as an experimental limited preview, and design partners are shaping it toward production. You run the core today as a CLI & CI engine; the surfaces and deeper post-market workflows around it follow as demand pulls them.

Now

A deep, trustworthy core

A deterministic, offline engine that turns a real build into traceable evidence, with review, approvals, and gates — proven on real product builds.

August 2026 · testing

Design-partner releases

Hardening the engine on real partner artifacts and running the full evidence-and-sign-off workflow end to end with a handful of early teams.

September 2026 · early launch

A focused first release

An early, narrow launch around the CRA reporting go-live — followed by shared review surfaces, team workspaces, and deeper integrations as demand pulls them.

In engineering now — the road to the system of record

Planned · not yet available

Accuracy — the remaining tail

  • Maven-native version-range ordering. Today such ranges surface as low-confidence “needs verification” for a human instead of deciding silently; native ordering closes that tail.
  • SBOM export conformance and round-trip stability across CycloneDX and SPDX.
  • Expanding the adversarial accuracy laboratory into the full pre-launch integration gate.

Post-market, production-grade

  • Hardening the limited-preview PSIRT case workflow — advisory intake, exposure candidates, human triage, remediation, unsigned reporting drafts — into a production post-market surface, shaped with design partners on their real shipped products.
  • A fuller reviewer lifecycle on the release review queue, with assignment and explicit review states.

Sharing & worldwide coverage

  • Supplier-facing VEX authoring for downstream operators, on top of today’s redacted sharing packs and assurance passports.
  • Worldwide regime coverage maps, demand-driven — the same evidence pack, mapped to what FDA §524B (US medical cyber devices), UNECE R155/R156 (automotive), IEC 62443-4-1 (industrial), the UK/AU/SG/JP consumer-IoT rules, and India’s CERT-In BOM guidelines ask for — observed facts and gaps, never a verdict.

This is our direction, not a commitment. Roadmap items are not yet available, may change, and imply no delivery date or compliance guarantee.

Trust & security

Trust the tool before you trust the evidence.

SBOMFlow runs over your source, firmware, and reviewer notes — so its own security posture is documented, not assumed. A CISO can read the full threat model and a control-by-control security-review self-assessment — each control mapped to where it is enforced, stated plainly as a self-assessment and not an external audit — before adopting it.

01

Nothing leaves by default

Your code, SBOMs, and notes are read locally and written only to your output directory. Network egress happens only on explicit, named opt-in paths.

02

Secrets stay in the environment

Integration tokens are read only from environment variables, never from config or flags, and never written into any artifact.

03

Hardened network surface

The opt-in HTTP client enforces a scheme allowlist, an SSRF address guard (loopback / cloud-metadata / private ranges refused), redirect re-validation, and a response-size cap.

04

Its own supply chain is thin

Zero required runtime dependencies, and SBOMFlow runs on itself — its own source tree goes through the same engine to produce its own SBOM. The prepared release workflow builds that SBOM + checksums and uses PyPI Trusted Publishing with attestations when the first tagged public release is approved.

Boundaries that don't move — enforced in the engine, not just on this page:

  • Outputs are engineering evidence and gap assessments, never conformity claims.
  • Observed is not reviewed — what the engine sees never becomes acceptance on its own.
  • The reviewer has the final word on VEX status, evidence, and release decisions.
  • It never files, transmits, or signs anything to a regulator — drafts stay unsigned and yours.
  • AI is never the source of truth; the core makes no required AI calls.
  • Provenance is mandatory — every result states its data source, and scanned files are hashed.

Tested for accuracy the way customers will actually use it

Engineering gate

SBOMFlow runs over your source, firmware, and reviewer notes, so we prove its accuracy the way a real, messy manufacturer estate will: an in-house deterministic laboratory of ten synthetic connected-device businesses — full customer-shaped estates built to test both accuracy and robustness — driven through the production CLI with their answer keys held out of reach.

Ten synthetic manufacturer estates (fictional; every name, domain, and file is non-real) Aegis · industrial gateways Northstar · medical wearables Verdant · building controls Voltara · EV charging Lumina · cameras & hubs OrbitForge · robotics FieldNest · agritech sensors Polaris · maritime navigation HelixGrid · smart metering ApexLink · network appliances
01

Ten customer-shaped estates

Full repositories across Yocto, Zephyr, Buildroot, ESP-IDF, OpenWrt, ThreadX, and RPM — with supplier SBOMs, release rooms, linked historical releases, and dependency-scale workspaces. Real-world messy, not tidy scanner fixtures.

02

Planted truth, held out of reach

Each estate hides deliberately planted inconsistencies, and every answer key lives outside the scan root — so no evaluation can ingest, hash, or be biased by its own ground truth. The tool has to earn the result.

03

Positive & negative controls

Known-affected cases must be caught — a false-negative guard — and known-clean cases must stay clean. Accuracy is measured against transcribed real advisory ranges, not assumed.

04

Per-fact semantic scoring

An executable evaluation fails on any silent omission, false merge, false positive, missing provenance, or overclaim — the exact failure modes a customer would catch first.

05

Hostile inputs & a network tripwire

Malformed lockfiles, nested archives, and encoding edge cases (UTF-16, BOM, CRLF) go through the shipped command; a tripwire fails the run if any path reaches for the network when it shouldn’t.

06

Secret & mutation controls

A poisoned environment proves no secret escapes into any artifact, log, or subprocess, and mutation self-checks confirm the tests actually fail when the engine misbehaves — so a green run means something.

A strong engineering gate — not a security certification or a proof of CRA conformity. It measures how accurately and safely the tool behaves under customer-shaped pressure. It makes no claim about your product.

Read the public security and privacy documentation for data flows, network boundaries, secret handling, and residual risks — and Testing & trust for the verification pipeline behind every release. Stated honestly, with no compliance or conformity claims.

What you get

Outputs you can read, diff, and hand to a reviewer.

A consistent set of evidence you actually own — portable files, not a black box. Each one is observed evidence pending human review, not proof of compliance.

SBOMs
CycloneDX and SPDX (2.3 & 3.0.1) component inventories — validated and reproducible.
Evidence pack
One structured, machine-readable record of components, findings, coverage, and provenance.
Assessment report
A human-readable view that separates observed evidence from reviewed evidence.
CRA coverage
Where evidence maps to the regulation's requirements — and where gaps remain.
Release gate & approvals
A pass/fail decision with the exact policy, reason, and sign-off state — informational unless you enforce it.
Reviewer console & bundles
A single-file static reviewer console you open in a browser, a portable verifiable handoff, a redactable importer/distributor pack, and a no-install auditor package.
Audit trail & drift
A tamper-evident, hash-chained run record and a release-to-release comparison.
SARIF · CSV · VEX · traceability
VEX in OpenVEX, CycloneDX, and CSAF 2.0, plus SARIF, CSV, and a cross-entity index — so evidence drops into the tools and trackers you already run.

With inputs and run context pinned, release artifacts are reproducible; opt-in phase durations are explicitly excluded from determinism checks. Many outputs are optional, and any draft declaration is clearly marked unsigned and incomplete for a person to finish.

FAQ

Straight answers, no overclaiming.

Does SBOMFlow make us CRA compliant?

No. SBOMFlow helps you collect, connect, and review cybersecurity evidence; it is not a certification and grants no regulatory approval. It produces engineering evidence and gap assessments to support CRA-oriented work, and qualified human review is always required.

Will it expose or leak our source, firmware, or IP?

No. It runs offline by default with no paid APIs, and your code is never sent to third-party services by default. It only reaches the network for specific public vulnerability sources, and only when you explicitly enable them. Outputs carry identifiers, counts, and hashes — never your secrets or source.

How do you know its results are accurate?

We measure it, adversarially. The engine is driven through an in-house laboratory of ten synthetic manufacturer estates whose answer keys are held outside the scan root, with positive and negative controls — known-affected findings must be caught, known-clean components must stay clean — and per-fact scoring that fails on any silent omission, false merge, or overclaim. When something can’t be determined, it’s surfaced for human verification, never quietly dropped. The full verification pipeline is documented in Testing & trust — and it’s an engineering gate, not a claim of perfection.

How is this different from an SBOM generator or vulnerability scanner?

A generator answers “what’s in this build?” — SBOMFlow answers what happens next. It builds validated SBOMs from what it observes and also ingests the output of tools you already run (Syft, Trivy, Grype, supplier SBOMs), then adds the layer those tools stop at: human review with recorded decisions, multi-role approvals, an explainable release gate, release-to-release drift, and a tamper-evident audit trail — the record of who decided what, and why, that you keep across every release.

What do we need to run it?

Python 3.11+ and a real build tree — that’s it. Zero required runtime dependencies, no accounts, no server, nothing to send anywhere. It runs fully offline on a laptop or in locked-down CI (GitHub Actions, GitLab, Jenkins), and a first audit produces a complete evidence pack from your build in minutes. Start with your first offline audit.

Can auditors or customers read the evidence without installing SBOMFlow?

Yes. Every output is a portable file: a static reviewer console and evidence bundle open in any browser with nothing installed, a no-install auditor package is built for exactly that handoff, and a redactable sharing pack covers importers and distributors. Hashes travel with the evidence, so a recipient can verify nothing was altered. See read an evidence bundle.

What does it cost?

Pricing is under validation and arranged directly while we work with a small number of design partners — it’s scoped to your product class, repositories, firmware variants, and release cadence rather than per-seat tooling. The offline CLI is free to trial. Tell us about your product and we’ll give you a straight answer.

Does it replace our legal, security, or compliance review?

No. The engine observes; your people review and decide. It is designed to make expert review faster and better-evidenced — not to replace lawyers, consultants, auditors, or your own sign-off.

Is this an AI tool?

Not in the way you might expect. SBOMFlow is deterministic: its evidence comes from real builds, files, and human decisions. AI may help draft or explain at the edges, but it is never the source of truth, and the core makes no required AI calls.

Does it file CRA reports for us?

No. SBOMFlow never files, transmits, submits, or signs anything, and never contacts a regulator or reporting platform. Any incident or declaration output is a clearly-marked draft for a person to complete and submit.

Is it only for web apps?

No. It is built for connected and embedded products — embedded Linux, industrial IoT, robotics, and firmware-driven hardware, including container images — alongside common software ecosystems.

Is it production-ready?

The engine is deep and tested; the product experience is still being built. SBOMFlow runs offline today with a broad capability set and 9,600+ deterministic tests. Shared review surfaces and a hosted experience are roadmap. We're proving the core on real builds before adding gloss.

How can I follow along, partner, or get in touch?

SBOMFlow is in active development and looking for design partners. If you build connected products, advise on CRA, or invest in the space, the fastest way to reach us is to book a 20-minute CRA evidence review.

You can also follow @SBOMFlow on X or @SBOMFlow on Instagram for progress.

Something we haven’t answered? Ask us directly at hello@sbomflow.com — straight answers only.

Pricing

Priced around the painful job, not per-seat tooling.

One thing done well: a traceable CRA/SBOM/vulnerability evidence pack from your real build, with a human-review boundary. Release-readiness support — never a compliance guarantee.

Pricing
Pricing is under validation. Contact SBOMFlow to discuss your product and release workflow.
CRA evidence-pack sprint
The wedge — a reviewer-ready CRA/SBOM/vulnerability evidence pack from your real build, with a human-review boundary. Scoped to your product class, repositories, firmware variants, and release frequency.
Repeat-release & annual support
Ongoing per-release monitoring and annual software support after a sprint, scoped to product lines, variants, release cadence, and integrations.
Channel & advisory
By arrangement with embedded-security consultancies, CE/conformity advisors, and certification labs.
Offline CLI
Free to trial. The deterministic engine runs locally with zero required dependencies.

We're taking a small number of design partners for validation work arranged directly. Read the documentation to understand the workflow and evidence outputs. We provide release-readiness support — not legal advice, and not a statement that a product is conformant.

Get in touch

Build the release-evidence layer with us.

We're looking for a small number of design partners — connected-device manufacturers preparing for the CRA — and, separately, for product-security and PSIRT leads to shape the experimental post-market preview with us. We're also happy to talk with advisors and investors who see the same wave coming. Tell us what your release and post-market process actually looks like; we'll show you where SBOMFlow fits.

Release-evidence design partners · Post-market (PSIRT) design partners · Advisors · Investors · No spam