Safeguard
Supply Chain•

Which VEX format should a software vendor publish?

A decision guide to publishing VEX as CSAF, CycloneDX or OpenVEX: what each carries, what customers tend to ask for, and how to avoid maintaining three.

Safeguard Security Team
3 min read

Publish the format your customers' tools already read, and that your existing process can produce. CISA names CSAF, CycloneDX and OpenVEX as formats that can contain or generate VEX. If you already publish advisories, use CSAF. If you ship CycloneDX SBOMs, consider CycloneDX. For a minimal standalone file, OpenVEX.

What the three formats are

CISA's minimum requirements say that CSAF, CycloneDX and OpenVEX can contain or be used to generate VEX documents, and that CSAF and CycloneDX provide information beyond what VEX requires. The requirements are format independent, so any of them can satisfy the same minimum elements.

How they differ in practice

FormatShapeVEX specifics from the sources
CSAF 2.0Security advisory framework in JSONA VEX document uses the category csaf_vex. Each known_not_affected product needs an impact statement, and each known_affected product needs an action statement
CycloneDXBill of materials standard that can also carry VEXCan contain VEX content alongside inventory data
OpenVEXSmall purpose built VEX formatFour statuses, justification labels, purl preferred as a product identifier, document and statement versions

OpenVEX's spec lists the same four statuses CISA names (not_affected, affected, fixed, under_investigation) and the same five justification labels. A not-affected statement needs a justification or an impact statement.

A decision guide

  1. List what your customers have asked for in writing. Their tooling is the deciding factor.
  2. Check what you already publish. A team with a CSAF advisory process gets VEX nearly free by using the VEX profile.
  3. Check how you ship SBOMs. If you already produce one format, keeping VEX in the same family reduces mapping errors.
  4. If you have no advisory process, a small standalone format has the lowest setup cost.
  5. Keep one internal source of truth for statuses and render to formats from it, so you never edit three files by hand.

What to avoid

Do not publish the same statement in two formats with different wording. Generate both from one record. Also avoid free text where a label exists. The OpenVEX spec warns that free text impact statements break automation and interoperability, so prefer the justification label and add text only as a supplement.

Related: mapping CycloneDX analysis states to OpenVEX statuses.

Try it yourself

Open the demo and notice that the exploitability result is a status plus a reason. That pair is what every format encodes.

Click through it at your own pace, or open it full screen.

Quick check

Is one format more official than the others?

CISA's minimum requirements are format independent and name all three as able to carry VEX. None is singled out.

Can we publish more than one?

Yes, if they are generated from the same record and say the same thing.

Safeguard's reachability analysis and SBOM and dependency scanning give you evidence for the statuses, and the free scan is a way to start.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.