Hardware Components

Introduction

Bills of Materials (BOMs) play a pivotal role in manufacturing, documenting the components needed to assemble products efficiently and accurately. However, hardware BOMs extend beyond the factory floor. They are increasingly being leveraged by Configuration Management Databases (CMDB) and IT Asset Management (ITAM) systems to track hardware components throughout their lifecycle. This cross-functional use of BOMs ensures that organizations maintain visibility into their hardware assets, from procurement and deployment to maintenance and decommissioning.

CycloneDX enhances this capability by supporting hardware BOMs with its extensible cdx:device namespace. This taxonomy allows for detailed descriptions of hardware-specific attributes, including component types, serial numbers, certifications, and unique global identifiers like GTINs. By integrating hardware BOMs into CMDB and ITAM systems, organizations gain a powerful tool to improve asset traceability, streamline inventory processes, and meet compliance requirements with greater efficiency.

The CycloneDX Property Taxonomy provides a standardized structure for extending BOMs to capture domain-specific details. Organizations and open-source projects are encouraged to register their own namespaces, fostering a collaborative ecosystem of shared standards. The taxonomy can be explored in detail at CycloneDX Property Taxonomy, while the hardware-specific cdx:device namespace is documented at CycloneDX Device Taxonomy. This extensibility ensures that CycloneDX remains adaptable to evolving hardware inventory needs.

Examples

{
  "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "serialNumber": "urn:uuid:456e1234-e89b-12d3-a456-426614174001",
  "version": 1,
  "components": [
    {
      "bom-ref": "device-sensor-module",
      "type": "device",
      "name": "Industrial Sensor Module",
      "description": "A high-precision temperature and humidity sensor for industrial environments.",
      "properties": [
        {
          "name": "cdx:device:quantity",
          "value": "1"
        },
        {
          "name": "cdx:device:function",
          "value": "temperature and humidity sensing"
        },
        {
          "name": "cdx:device:location",
          "value": "PCB1, slot 5"
        },
        {
          "name": "cdx:device:deviceType",
          "value": "SMD"
        },
        {
          "name": "cdx:device:serialNumber",
          "value": "THS1234567890"
        },
        {
          "name": "cdx:device:sku",
          "value": "SENSOR-IND-001"
        },
        {
          "name": "cdx:device:lotNumber",
          "value": "LOT20231234"
        },
        {
          "name": "cdx:device:prodTimestamp",
          "value": "2023-12-01T10:00:00Z"
        },
        {
          "name": "cdx:device:macAddress",
          "value": "00:1B:44:11:3A:B7"
        },
        {
          "name": "cdx:device:bom:ebom",
          "value": "https://example.com/ebom.json"
        },
        {
          "name": "cdx:device:bom:mbom",
          "value": "https://example.com/mbom.json"
        },
        {
          "name": "cdx:device:certifications:US:FCC:id",
          "value": "1234567"
        },
        {
          "name": "cdx:device:certifications:US:FCC:url",
          "value": "https://fccid.io/1234567"
        },
        {
          "name": "cdx:device:gs1:gtin-12",
          "value": "012345678905"
        }
      ]
    }
  ]
}