Use cases

Real jobs, for the people who have to show their work.

Connected-product teams already produce evidence — across builds, source, SBOMs, vulnerability records, VEX decisions, tests and approvals — and it is scattered. Every job below starts from the build you actually ship and ends with evidence a human can review, hand off, and reproduce. Built for connected and embedded products first: embedded Linux and industrial IoT, firmware-driven appliances, robotics, smart cameras and edge AI, building controls and OT, and network appliances.

Best fit today: small-to-mid-size embedded Linux and industrial IoT manufacturers with firmware CI and product-security ownership. The same record serves a software team with no device at all — language ecosystems and container images are first-class inputs, and a run assumes no regulation — so this is a statement about who we have worked with, not about what the engine can read.

  • Illustrative brand image, synthetic: a bone-white DIN-rail industrial controller module with terminal blocks Embedded Linux & industrial IoT
  • Illustrative brand image, synthetic: a compact rugged embedded appliance box with two antennas Firmware-driven appliances
  • Illustrative brand image, synthetic: a small bone-white collaborative robotic arm in a curled pose Robotics
  • Illustrative brand image, synthetic: a matte white consumer smart camera on a soft ivory background Smart cameras & edge AI
  • Illustrative brand image, synthetic: a wall-mounted building climate control panel with a blank screen and one dial Building controls & OT
  • Illustrative brand image, synthetic: a matte white industrial network gateway on a soft ivory background Network appliances
Six benches, one release-record discipline — illustrative brand images · synthetic, not customer products

Who it is for

Eight roles, and what each one gets.

The same record answers a different question for each person who touches a release. For every role: the problem, what you bring, what you get back, what stays your decision, and where to go next.

Connected-device manufacturer

The problem. Placing a product on the EU market means showing technical evidence per release, and the CRA’s reporting clock lands on releases you have already shipped.

You bring. The release tree or firmware build, the SBOMs your suppliers send, and an offline advisory snapshot.

You get. A release-backed evidence pack with CRA coverage and gaps stated plainly — an engineering gap assessment you can hand to whoever assesses you.

Still yours. The conformity judgment, with your assessor, notified body or counsel. SBOMFlow never files a report.

Prepare CRA evidence

Product-security lead

The problem. Triage arrives without exploitation context, and the SBOM request from a customer lands in the middle of a sprint.

You bring. The release evidence, an advisory snapshot or an explicit network opt-in, and any supplier VEX you hold.

You get. Findings with confidence and provenance, exploitation signals as labelled inputs, VEX written from your decisions, and SBOM exports on demand.

Still yours. Every triage outcome, every VEX status, and what is allowed to leave the building.

Triage with context Answer a questionnaire

Release engineer

The problem. Either there is no release gate, or there is one nobody can explain when it blocks.

You bring. The release candidate, an optional policy you wrote, and the CI you already run.

You get. A deterministic, explainable gate decision with the reason recorded, a dry run to rehearse it, and native annotations on the pull or merge request.

Still yours. The policy. The gate is informational until you enforce one, and it never decides what is acceptable.

Gate a release in CI

Engineering manager

The problem. “What changed since the last approved release, and did anyone actually look?” has no answer that survives a quarter.

You bring. Two analysed releases, or a local release store that keeps every release’s record.

You get. Drift between any two releases, a portfolio view across products, and an audit trail that names who decided what.

Still yours. Whether a change blocks a release. Drift is context; it never closes a finding by itself.

Track what changed Sign off with accountability

Reviewer or assurance professional

The problem. Evidence arrives as screenshots and spreadsheets that cannot be reproduced, and observed status is presented as if it had been reviewed.

You bring. An evidence bundle or assurance passport a manufacturer handed you.

You get. A static reviewer console that opens in a browser with nothing installed, every hash re-verified offline, and observed evidence kept apart from reviewed evidence.

Still yours. What you accept. A recorded approval attributes a decision to a person; it is not a statement that the decision was correct.

Read a bundle Sign off with accountability

AI-enabled product team

The problem. Models, services and agents ship alongside packages, and no release record holds them.

You bring. A release tree with model files or serving configuration — and, if you have one, your own declaration of the AI in the release.

You get. An AI inventory observed from bytes, a comparison with what you declared, and AI drift against the previous release, under the same review discipline as everything else.

Still yours. Resolving any disagreement between declared and observed. Nothing here runs, scores or certifies a model.

Understand AI change AI Evidence status

Design partner

The problem. You want to know whether this fits your release process before anyone commits to anything.

You bring. One representative release, run in your own controlled environment. Every artifact stays with you.

You get. A real evidence run on your build, a written list of what the v0.5.0 tester build does not yet do, and a structured place to say where it fits and where it does not.

Still yours. Whether to continue. This is an invitation, not a roster: no organisation is represented here as a customer.

The design-partner programme Request tester access

Researcher or educator

The problem. Studying or teaching release evidence needs a tool whose claims are testable and whose limits are written down.

You bring. Questions. The public documentation, a labelled synthetic sample run and the stated limitations are open to read.

You get. An evidence-first design with explicit reproducibility boundaries, uncertainty kept visible, and machine assistance separated from source-of-truth evidence.

Still yours. The methodology and the critique. We would rather discuss a limitation than have it discovered.

Inspect the sample run Stated limitations Write to us

The jobs

What each job is, and what it produces.

Card images are illustrative and synthetic — never product UI or customer data.

Every job below runs offline by default: nothing reaches the network unless you pass a named opt-in flag or enable one in config. Each job is labelled by how far our own release testing has taken it; none is customer-validated yet, and the evidence behind all eight is synthetic or open-source. The badge answers a different question from the status labels on the product page: there, “Available today” means an operator can reach a capability in this build; here, the badge says whether the whole job has been proven end to end. Both are enforced by tests, and neither is a claim about any real product.

01

Prepare release-backed CRA evidence

In development · verified on synthetic and open-source inputs

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

For
product owners and compliance leads at connected-device manufacturers
Inputs
a local product or release directory, or a CycloneDX/SPDX SBOM — optionally an offline advisory snapshot
Workflow
one offline audit → composition, findings, CRA coverage, gaps → review workspace
Human boundary
SBOMFlow observes. It never asserts CRA conformity, never files a report, and every CRA Article 14 output is a watermarked UNSIGNED DRAFT
Outputs
evidence-pack.json · cra-coverage.json · an optional Annex VII technical-documentation pack — full inventory
Outcome
a completed run means the listed artifacts were produced and validate — it does not mean the product is conformant, secure, or defect-free
Proof so far
an installed run of this job completed, and refused correctly when given a bad target, on synthetic and open-source builds; not yet verified on a customer’s release
02

Gate a firmware or software release in CI

In development · verified on synthetic and open-source inputs

Run on every release candidate in the CI you already have. The gate is informational until you choose a policy to enforce — then it blocks on the conditions you set, with the exact reason recorded and a dry-run to rehearse first.

For
firmware, embedded and platform engineers who own the release pipeline
Inputs
the release candidate tree or its SBOM, an optional release-gate policy, and the CI you already run (GitHub Actions, GitLab, Jenkins)
Workflow
run on the candidate → evaluate the policy you wrote → annotate the pull or merge request → record the decision
Human boundary
the gate enforces a policy a human wrote; it never decides what is acceptable. Waivers are recorded, time-boxed, and surfaced before expiry
Outputs
release-gate.json · an exit code · CI annotations and SARIF — full inventory
Outcome
a deterministic, explainable decision. Exit 0 with no policy enforced means informational only — it is not a pass
Proof so far
an installed run of this job completed, and an enforced gate refused correctly on an unmet requirement, on synthetic and open-source builds; not yet verified on a customer’s release
03

Answer an SBOM or security questionnaire

In development · verified on synthetic and open-source inputs

Produce validated CycloneDX and SPDX SBOMs, VEX statements, and a coverage summary on demand — so a customer or downstream operator request becomes an export from evidence you already hold, not a sprint.

For
anyone who fields customer, importer or distributor requests — sales engineering, product security, compliance
Inputs
an existing SBOMFlow output directory for the shipped release
Workflow
choose a redaction profile → export → hand over a bundle the recipient can verify without installing anything
Human boundary
redaction profiles are chosen by a human; SBOMFlow never decides what may leave the building
Outputs
evidence-bundle.zip · a sharing pack with CycloneDX and SPDX exports and VEX in OpenVEX, CycloneDX and CSAF — full inventory
Outcome
a produced bundle is a reviewer handoff — not a conformity conclusion, and not an attestation that its contents are accurate
Proof so far
an installed run produced and verified a bundle, and refused a bundle with a missing member by name, on synthetic and open-source builds; not yet verified on a customer’s release
04

Triage vulnerabilities with real context

In development · verified on synthetic and open-source inputs

Correlate components against public advisories and layer in exploitation signals — known-exploited status, exploit probability, conservative reachability — as inputs for human triage, never automatic verdicts. Matching shows its own confidence, and a range it cannot order becomes “needs verification”, never a silent decision.

For
product security and PSIRT analysts
Inputs
the release evidence, plus an offline advisory snapshot — or an explicit OSV/NVD opt-in
Workflow
correlate components against advisories → layer in exploitation context → reviewers triage → VEX written from their decisions
Human boundary
triage outcomes and VEX status come only from reviewers. Known-exploited status, exploit probability and reachability are inputs to a human determination, never the decision
Outputs
findings with confidence and provenance · vex.json written from reviewer decisions — full inventory
Outcome
a finding list is what current scanners observed. Zero findings never means no vulnerability
Proof so far
the capabilities behind this job are verified on synthetic and open-source inputs; the job itself has not yet been exercised end to end by our installed-journey testing, and never on a customer’s release
05

Sign off a release with accountability

In development · verified on synthetic and open-source inputs

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

For
release managers, and the compliance and quality reviewers who sign
Inputs
the release evidence, plus your approval-role and quorum configuration
Workflow
review queue → multi-role approval with separation of duties → recorded exceptions → hash-chained trail
Human boundary
every approval is a named human act; observed status never becomes acceptance on its own
Outputs
an approvals record · hash-chained audit-log.jsonlfull inventory
Outcome
a recorded approval attributes a decision to a person. It is not a statement that the decision was correct
Proof so far
an installed run recorded a review, an attributed approval and an enforced gate, and refused an unmet approval role without recording anything, on synthetic and open-source builds; not yet verified on a customer’s release
06

Track what changed between releases

In development · verified on synthetic and open-source inputs

Compare any two releases — new and resolved findings, component and coverage drift, support-period changes — from a local, content-addressed release store, and share a redacted evidence pack downstream when importers or distributors ask.

For
release managers and product owners tracking a line of releases over time
Inputs
two SBOMFlow output directories, or a content-addressed release store
Workflow
store each release → compare any pair → roll up a portfolio view → share a redacted pack downstream when asked
Human boundary
drift is engineering context; it never replaces human review or a tracker closure decision
Outputs
release-record.json · release-drift.jsonfull inventory
Outcome
a clean comparison means the compared artifacts agree — not that the release is safe. A comparison that never happened is reported as exactly that, never as “no drift”
Proof so far
the capabilities behind this job are verified on synthetic and open-source inputs; the job itself has not yet been exercised end to end by our installed-journey testing, and never on a customer’s release
07

Keep evidence alive after you ship

Limited preview · experimental

When a new advisory lands, open a PSIRT case on an append-only journal: intake with provenance and duplicate detection, correlation against shipped releases into exposure candidates, recorded human triage, remediation verification, time-boxed risk acceptance, and watermarked UNSIGNED DRAFT advisories. SBOMFlow never files or publishes anything.

For
PSIRT and product-security teams carrying a shipped fleet
Inputs
a stored release, plus new advisory data — an offline snapshot, or an explicit opt-in
Workflow
intake with provenance → correlate against shipped releases into exposure candidates → human triage → remediation verification → unsigned draft advisory
Human boundary
reportability is an authorised human’s determination. SBOMFlow never files or transmits a report, and a candidate is never an “affected” verdict
Outputs
a case journal · recheck results · a draft advisory, watermarked UNSIGNED — full inventory
Outcome
a recheck reports what changed since the release. It is not a statement that the product remains safe
Proof so far
a limited preview: the capabilities are exercised on synthetic inputs, the interfaces may still change, and no end-to-end run of the job is recorded — this is the one job on the page labelled limited preview rather than in development
08

Understand AI-component and service change

In development · design-partner programme

For AI-enabled products: know which model files, agents, tools, services and MCP servers shipped in a release, and how they changed since the last approved one — under the same review discipline as everything else. The full AI evidence workflow is in development, and it is the track we most want design partners to shape.

For
AI platform and assurance teams inside connected-product organisations
Inputs
a release tree with model files or serving configuration — and, if you have one, your own declared AI manifest
Workflow
identify model files from bytes → inventory the agents, tools, services and MCP servers it can see statically → reconcile against your declaration → compare with the previous release
Human boundary
SBOMFlow never loads or executes a model, and declared AI facts are never rendered as observed. A conflict is surfaced, never resolved for you
Outputs
ai-evidence.json · AI drift against the previous release · optional CycloneDX ML-BOM and SPDX 3.0.1 AI-profile exports — full inventory
Outcome
an AI inventory reports what was statically observed. It is not a statement that the release contains no other AI component, and an empty inventory is evidence that nothing recognisable was found — and only when the walk completed
Proof so far
the capabilities behind this job are verified on synthetic and open-source inputs; the job itself has not yet been exercised end to end by our installed-journey testing, and never on a customer’s release. Each link in the AI evidence chain carries the status shown on the AI Evidence page

Your job isn’t on this page?

Tell us what your release and post-market process actually looks like — you will get a straight answer on whether SBOMFlow fits, and where it doesn’t yet. v0.5.0 is available to approved private testers.