Requirement regimes (optional; CRA available today)

Runs assess CRA unless none is chosen; views are opt-in. This page documents every command in the regimes group, in the order sbomflow help regimes lists them. Each command's section is generated from the command itself — its summary, description and options from the parser, and its reads, writes, exit codes, examples and see-also from the command catalog — so it says exactly what sbomflow <command> --help says. Every example below is executed offline by the test suite, and every non-zero exit code is either produced by an executed probe or carries a recorded reason why no offline probe can produce it.

See the CLI overview for how the thirteen groups fit together and the command reference for every command's options in one place.

Overview#

Nothing in this group runs unless you choose a regime. regime-view and regime-profile work with requirement-regime profiles; emit-user-info, standards-view and the validate-*-model / validate-graph commands are the EU CRA views available today, described in CRA. Their outputs are engineering gap assessments and UNSIGNED DRAFTs, never a conformity claim.

Every regime id SBOMFlow ships is listed in one packaged regime registry: cra (a requirement regime), none (no requirement regime, by your choice), sbomflow-demo (a demonstration view profile) and cra-article-14 (the Article 14 reporting stages, which are only ever unsigned drafts). requirement_regime accepts cra or none; regime-view --regime accepts the packaged view profiles; a profile you author yourself can use any id the registry does not list. sbomflow schema and sbomflow help warning mark the artifact families and warning codes that belong to the cra regime, so a run under none — or under a regime you describe in your own profile — can tell them apart from the engine's own. The registry names regimes; it carries no requirement text and states nothing about any product.

Who this is for: integrators, process owners, CRA leads and radio-equipment leads.

sbomflow regime-view#

Read an existing verified pack through a versioned regime profile (read-only).

text
Read a finished, verified output directory through one versioned regime
profile, a packaged profile id or a local profile file, and write what
that profile asks against what the pack observed. The pack is never
modified, an unknown profile id is refused rather than defaulted, and
the view is never a conformity claim.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimeany
Readsan existing output directory, which is never modified, and one regime profile.
Writesregime-view.json (into the directory, or at --output); stdout (with --json, the same document)
--output namesone file
Networkoffline — This command has no network-capable path.
Exit codes0 ok · 2 an unknown profile id or an unusable directory
Machine outputhas-json — read-only view of an existing verified pack through a versioned profile; one versioned JSON document on stdout

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
EVIDENCE_DIREVIDENCE_DIRnoneanyyesAn analyze/audit output directory (read-only; never modified).
--regimeREGIMEnoneanynoPackaged profile id to apply: a regime profile id, not the requirement regime of the run. An unknown id is refused, never defaulted. Supply this or --regime-file.
--outputOUTPUTnoneanynoWrite regime-view.json here (file). Default: EVIDENCE_DIR/regime-view.json.
--json(flag)false—noPrint the view as JSON to stdout instead of writing the default file; an --output named beside it is written too, with the same document.
--as-ofAS_OFnoneanynoPinned timestamp recorded in the view.
--regime-fileREGIME_FILEnoneanynoApply a LOCAL, customer-authored profile file instead of a packaged profile id. Mutually exclusive with --regime.

Examples

Read a finished run through the packaged demo profile.

sh
sbomflow regime-view out --regime sbomflow-demo

Print the view as JSON, at a pinned time.

sh
sbomflow regime-view out --regime sbomflow-demo --json --as-of 2026-07-01T00:00:00Z

Read it through a local, organisation-authored profile.

sh
sbomflow regime-view out --regime-file profile.json

Refuse a profile id nobody packaged, rather than defaulting. Exits 2.

sh
sbomflow regime-view out --regime no-such-profile

See also: sbomflow regime-profile, sbomflow standards-view, sbomflow help regimes.

sbomflow regime-profile#

Author, validate, inspect and carry a LOCAL, customer-authored regime profile.

text
Work with a local regime profile an organisation authors itself: init
writes an empty profile that asks nothing yet, validate reports every
structural problem, inspect explains each selector, and export copies
the profile with a manifest to a clean directory. Offline; it writes
profile files only, never evidence, and is never legal advice or a
conformity claim. An option the chosen action does not read is named
on stderr and not applied.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimeany
Readsthe profile file named, for validate, inspect and export.
Writesregime-profile-validation.json (validate, at --output); regime-profile-manifest.json (export, with the profile, into an empty --destination); init writes the empty profile file named
--output namesone file
Networkoffline — This command has no network-capable path.
Exit codes0 ok · 2 a missing or invalid profile, or a refused init
Machine outputhas-json — local profile authoring kit; under --json every action prints one document (the profile it wrote, the validation, the inspection or the export manifest), and every action writes only profile files, never evidence

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
{init,validate,inspect,export}{init,validate,inspect,export}noneinit, validate, inspect, exportyesinit: write an empty profile (no legal asks). validate: report every structural problem. inspect: explain each selector. export: copy the profile plus a manifest to a clean directory (never evidence).
profileprofilenoneanyyesProfile file to write (init) or read (validate/inspect/export).
--profile-idPROFILE_IDnoneanynoinit only: the local profile id. May not shadow a packaged profile.
--organisationORGANISATIONnoneanynoinit only: the organisation authoring this profile. Required.
--titleTITLEnoneanynoinit only: a human-readable title for the profile.
--destinationDESTINATIONnoneanynoexport only: an empty directory to write the profile and manifest into.
--outputOUTPUTnoneanynovalidate only: write regime-profile-validation.json here (file).
--json(flag)false—noPrint JSON to stdout instead of the text report; validate also writes an --output named beside it, with the same document.
--as-ofAS_OFnoneanynoPinned timestamp recorded in the output.

Examples

Write an empty local profile that asks nothing yet.

sh
sbomflow regime-profile init profile.json --organisation 'Example Devices Ltd' --profile-id example-local --title 'Example profile'

Report every structural problem in a profile.

sh
sbomflow regime-profile validate profile.json

Explain each selector, as JSON.

sh
sbomflow regime-profile inspect profile.json --json

Copy the profile and a manifest to a clean directory.

sh
sbomflow regime-profile export profile.json --destination profile-export

Refuse a local id that would shadow a packaged profile. Exits 2.

sh
sbomflow regime-profile init profile.json --profile-id sbomflow-demo --organisation 'Example Devices Ltd'

See also: sbomflow regime-view, sbomflow help regimes.

sbomflow emit-user-info#

Emit an UNSIGNED CRA Annex II user-information draft from an output directory (offline).

text
Assemble an UNSIGNED DRAFT of the CRA Annex II information and instructions
to the user from an existing analyze/audit output directory.

The draft is NOT user documentation and asserts no conformity: every item is
auto_backed (observed evidence), supplied_by_manufacturer, or a loud
requires_manufacturer_input placeholder, and it stays complete: false until
every item has content.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimecra
Readsevidence-pack.json (identity, support period, VDP and update signals) and an optional manufacturer inputs file.
Writesuser-information.DRAFT.json and user-information.DRAFT.md, an UNSIGNED DRAFT
Networkoffline — This command has no network-capable path.
Exit codes0 ok · 2 missing or invalid artifacts
Machine outputartifact-suffices — writes the UNSIGNED CRA Annex II user-information draft files

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
EVIDENCE_DIREVIDENCE_DIRnoneanyyesDirectory produced by 'analyze'/'audit'.
--inputsANNEX_II_INPUTSnoneanynoOptional annex_ii_inputs.json with manufacturer-supplied item content/files.

Examples

Assemble the CRA Annex II user-information draft from a finished run.

sh
sbomflow emit-user-info out

See also: sbomflow standards-view, sbomflow validate-annexii-model, sbomflow help goal cra.

sbomflow standards-view#

Group an output's CRA coverage by EN 18031 section (PROVISIONAL, offline).

text
Group a finished run's CRA requirement coverage by EN 18031 section, from its
cra-coverage.json. The section mapping is PROVISIONAL engineering context, not
a harmonised-standard assessment; it writes standards-view.json, or prints it
with --json (and also writes an --output named beside it).
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilityexperimental
Regimecra
Readscra-coverage.json in an existing output directory.
Writesstandards-view.json into the directory, or at --output; stdout (with --json, the same document)
--output namesone file
Networkoffline — This command has no network-capable path.
Exit codes0 ok · 2 missing or unusable directory
Machine outputhas-json — read/status surface; one versioned JSON document on stdout

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
EVIDENCE_DIREVIDENCE_DIRnoneanyyesAn analyze/audit output directory (reads cra-coverage.json).
--outputOUTPUTnoneanynoWrite standards-view.json here (file). Default: <output_dir>/standards-view.json.
--json(flag)false—noPrint the view as JSON to stdout instead of writing the default file; an --output named beside it is written too, with the same document.

Examples

Group a run's CRA coverage by EN 18031 section.

sh
sbomflow standards-view out

Print it as JSON instead.

sh
sbomflow standards-view out --json

Write it to a named file.

sh
sbomflow standards-view out --output standards-view.json

See also: sbomflow regime-view, sbomflow emit-user-info, sbomflow help goal cra.

sbomflow validate-graph#

Validate the packaged or supplied CRA requirement graph.

text
Validate the packaged CRA Annex I requirement graph, or a supplied one,
against its schema and reference rules. The exit code is the contract: a
missing or invalid graph exits 4.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimecra
Readsthe packaged CRA Annex I requirement graph, or the graph file named.
Writesstdout (the validation result)
Networkoffline — This command has no network-capable path.
Exit codes0 the graph is valid · 4 the graph is missing or invalid
Machine outputhuman-only-by-design — packaged-model self-check; the machine contract is the exit code (0 pass, non-zero fail)

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
[graph_path][graph_path]noneanynoOptional CRA graph JSON file. Defaults to packaged Annex I graph.

Examples

Validate the packaged CRA Annex I requirement graph.

sh
sbomflow validate-graph

A graph file that is not there fails and exits 4. Exits 4.

sh
sbomflow validate-graph missing.json

See also: sbomflow validate-techdoc-model, sbomflow validate-annexii-model, sbomflow validate-config.

sbomflow validate-techdoc-model#

Validate the packaged or supplied CRA Annex VII technical-documentation model.

text
Validate the packaged CRA Annex VII technical-documentation model, or a
supplied one, against its schema and reference rules. The exit code is the
contract: a missing or invalid model exits 4.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimecra
Readsthe packaged CRA Annex VII technical-documentation model, or the file named.
Writesstdout (the validation result)
Networkoffline — This command has no network-capable path.
Exit codes0 the model is valid · 4 the model is missing or invalid
Machine outputhuman-only-by-design — packaged-model self-check; the machine contract is the exit code (0 pass, non-zero fail)

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
[model_path][model_path]noneanynoOptional Annex VII model JSON file. Defaults to packaged model.

Examples

Validate the packaged Annex VII technical-documentation model.

sh
sbomflow validate-techdoc-model

A model file that is not there fails and exits 4. Exits 4.

sh
sbomflow validate-techdoc-model missing.json

See also: sbomflow validate-graph, sbomflow validate-annexii-model, sbomflow analyze.

sbomflow validate-article14-model#

Validate the packaged or supplied CRA Article 14 reporting model.

text
Validate the packaged CRA Article 14 reporting model, or a supplied one, and
print its reconciliation summary. SBOMFlow never files a report; the model
shapes UNSIGNED DRAFTS only. A missing or invalid model exits 4.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimecra
Readsthe packaged CRA Article 14 reporting model, or the file named.
Writesstdout (the validation result, with the model's reconciliation summary)
Networkoffline — This command has no network-capable path.
Exit codes0 the model is valid · 4 the model is missing or invalid
Machine outputhuman-only-by-design — packaged-model self-check; the machine contract is the exit code (0 pass, non-zero fail)

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
[model_path][model_path]noneanynoOptional Article 14 model JSON file. Defaults to packaged model.

Examples

Validate the packaged Article 14 reporting model.

sh
sbomflow validate-article14-model

A model file that is not there fails and exits 4. Exits 4.

sh
sbomflow validate-article14-model missing.json

See also: sbomflow validate-graph, sbomflow case disclose, sbomflow help goal cra.

sbomflow validate-annexii-model#

Validate the packaged or supplied CRA Annex II information-to-users model.

text
Validate the packaged CRA Annex II information-to-users model, or a supplied
one, against its schema and reference rules. The exit code is the contract: a
missing or invalid model exits 4.
FactValue
Groupregimes — Requirement regimes (optional; CRA available today)
Stabilitystable
Regimecra
Readsthe packaged CRA Annex II user-information model, or the file named.
Writesstdout (the validation result)
Networkoffline — This command has no network-capable path.
Exit codes0 the model is valid · 4 the model is missing or invalid
Machine outputhuman-only-by-design — packaged-model self-check; the machine contract is the exit code (0 pass, non-zero fail)

Options

OptionValueDefaultAllowedRequiredHelp
-h, --help(flag)none—noshow this help message and exit
[model_path][model_path]noneanynoOptional Annex II model JSON file. Defaults to packaged model.

Examples

Validate the packaged Annex II user-information model.

sh
sbomflow validate-annexii-model

A model file that is not there fails and exits 4. Exits 4.

sh
sbomflow validate-annexii-model missing.json

See also: sbomflow emit-user-info, sbomflow validate-graph, sbomflow validate-techdoc-model.