Understanding ML-BOM in AI Catalog

Learn ML-BOM scope, fields, and editability for models in JFrog AI Catalog.

ML-BOM (Machine Learning Bill of Materials) is a standardized metadata record attached to models governed in JFrog AI Catalog. It gives ML engineers, platform teams, and compliance officers a single place to review model provenance, license, architecture, inputs and outputs, training context, and risk assessment. You can export that record as CycloneDX v1.7 or SPDX v3.0 JSON for audits.

The system auto-harvests available metadata from the model source (for example, AI Registry and AI Gateway details for external models, AI Catalog for package models, and JFrog ML job logs for custom models). You can enrich editable fields in the UI where your permissions allow.

Where ML-BOM Appears

In the JFrog Platform, ML-BOM appears on the ML-BOM tab in AI Catalog Registry. For navigation steps, see View, Edit, and Export ML-BOM.

ML-BOM Scope by Model Type

ML-BOM scope depends on the model type.

Model typeWhere to open ML-BOMBOM scope
External modelsModel page in Registry, with tabs Model info, Runtime, and ML-BOMOne ML-BOM per model
Model packagesSame as external models. Model page in Registry with ML-BOM tabOne ML-BOM per model
Custom modelsModel Version page, with tabs Overview, Builds, and ML-BOMOne ML-BOM per model version
Custom model buildsIndividual Build page, with tabs Logs, Code, Security, Deployments, and ML-BOMSame ML-BOM as parent version (when build originates from a version)

For custom model builds that originate from a version, the ML-BOM on the build page matches the ML-BOM on the parent version. You see the same metadata whether you open ML-BOM on the version or on a build created from that version.

Note: Package models follow the same per-model scope as external models.

ML-BOM Fields

Each ML-BOM exposes 13 standardized fields. The search field on the ML-BOM tab filters fields in the table.

FieldDescription
Model NameStandardized slug or display name in the registry.
Model VersionImmutable version ID (SemVer or weights hash).
Supplier / ProviderUpstream vendor or organization behind the model.
AuthorIdentity that triggered the push or register event.
Unique ID (PURL)Globally unique Package URL (PURL) to identify and fetch the model.
Release DateISO-8601 build or promotion timestamp.
LicenseDefined license of the model (for example, MIT or a provider terms-of-use string).
Model ArchitectureModel structure and framework.
ParametersParameter count and hyperparameters.
Inputs / OutputsI/O schema: tensor shapes and modalities.
Compute ResourcesHardware, training time, and FLOPS used for training.
Dataset Name / IDTraining data URI, description, or checksum.
Risk AssessmentKnown biases, vulnerabilities, and guardrails.

Example values from the UI:

  • External model PURL: pkg:generic/google/gemini-2.0-flash
  • Custom model PURL: pkg:jfrog-ml/credit_risk_catboost@v005
  • External MaaS models may show Parameters as Undisclosed, Compute Resources as N/A (MaaS), and Dataset Name / ID as N/A (MaaS).

Field Editability by Model Type

Most fields are read-only because they are harvested from the registry, training job, or provider metadata. Editable fields vary by model type.

FieldCustom modelsModel packagesExternal models
Supplier / ProviderEditableRead-onlyRead-only
AuthorEditableRead-onlyRead-only
LicenseEditableRead-onlyRead-only
Compute ResourcesEditable when not auto-harvestedRead-onlyN/A (MaaS)
Dataset Name / IDEditableRead-onlyN/A (MaaS)
Risk AssessmentEditableEditableEditable
All other fieldsRead-onlyRead-onlyRead-only

On external and package models, Risk Assessment is typically the primary field users enrich manually. On custom models, you can also edit Supplier / Provider, Author, License, Compute Resources (when the value was not harvested from a training job), and Dataset Name / ID.

For step-by-step edit instructions, see View, Edit, and Export ML-BOM.

Auto-Harvested Metadata

ML-BOM data is populated automatically when a model is registered or a custom model version is created, with no required manual input for read-only fields.

Model typePrimary harvest sources
Custom modelsJFrog ML job logs and SDK-logged training context (architecture, parameters, dataset name/ID, release date, compute resources when available)
Model packagesAI Catalog metadata (including Hugging Face model card fields where available)
External modelsAI Registry and AI Gateway endpoint details (provider, author, license, parameters, inputs/outputs)

Frequently Asked Questions

This section provides answers to frequently asked questions about ML-BOM in AI Catalog.

plusFAQs
Q: Where do I find ML-BOM for a package model versus a custom model?

A: Package and external models expose ML-BOM on the model page in Registry (alongside Model info and Runtime). Custom models expose ML-BOM on each Version page and on individual Build pages. See ML-BOM Scope by Model Type.

Q: Is the ML-BOM on a build page different from the version ML-BOM?

A: For builds that originate from a version, the build ML-BOM matches the parent version's ML-BOM. See ML-BOM Scope by Model Type.

Q: Which ML-BOM fields can I edit?

A: It depends on model type. All model types allow editing Risk Assessment. Custom models also allow editing Supplier / Provider, Author, License, Compute Resources when that field was not auto-harvested, and Dataset Name / ID. See Field Editability by Model Type.

Q: What is the Unique ID (PURL) field?

A: PURL (Package URL) is a globally unique identifier for the model in the registry. Examples include pkg:generic/google/gemini-2.0-flash for an external model and pkg:jfrog-ml/credit_risk_catboost@v005 for a custom model version.

Related Topics