#[non_exhaustive]pub enum ComplianceLevel {
Show 16 variants
Minimum,
Standard,
NtiaMinimum,
CraPhase1,
CraPhase2,
FdaMedicalDevice,
NistSsdf,
Eo14028,
Cnsa2,
NistPqc,
BsiTr03183_2,
CraOssSteward,
EuccSubstantial,
EuAiAct,
BsiSbomForAi,
Comprehensive,
}Expand description
Compliance level/profile
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Minimum
Minimum viable SBOM (basic identification)
Standard
Standard compliance (recommended fields)
NtiaMinimum
NTIA Minimum Elements compliance
CraPhase1
EU CRA Phase 1 — Reporting obligations (deadline: 11 Dec 2027)
CraPhase2
EU CRA Phase 2 — Full compliance (deadline: 11 Dec 2029)
FdaMedicalDevice
FDA Medical Device SBOM requirements
NistSsdf
NIST SP 800-218 Secure Software Development Framework
Eo14028
Executive Order 14028 Section 4 — Enhancing Software Supply Chain Security
Cnsa2
NSA CNSA 2.0 — Commercial National Security Algorithm Suite 2.0
NistPqc
NIST PQC Readiness — Post-Quantum Cryptography migration (IR 8547 + FIPS 203/204/205)
BsiTr03183_2
BSI TR-03183-2 (German national CRA-aligned SBOM technical guideline). Free, ENISA-cited; stricter than NTIA on hashes and identifiers.
CraOssSteward
CRA Article 24 — Open-source software steward profile (lighter obligations than CraPhase1/2). SBOM, vulnerability handling process, and CVD policy are still required; manufacturer email, EU DoC, and conformity-assessment-module gating are NOT.
EuccSubstantial
EUCC Substantial assurance level (Reg. (EU) 2024/482) — reference-only profile for Annex IV products. Verifies that the SBOM/sidecar carries a Common-Criteria Protection-Profile reference, Target-of-Evaluation reference, ITSEF identifier, and a valid-until date. Does not perform a Common-Criteria evaluation itself.
EuAiAct
EU AI Act (Regulation (EU) 2024/1689) Annex IV technical-documentation READINESS. Maps the Annex IV documentation obligations for high-risk AI systems onto the AI-BOM metadata sbom-tools already parses (model card, training-data characteristics, validation/testing metrics, limitations, energy disclosure). This is a documentation-readiness assessment, not a legal-conformity guarantee, and does not classify a system as high-risk. Returns N/A for SBOMs with no ML-model or dataset metadata.
BsiSbomForAi
BSI/G7 “SBOM for AI — Minimum Elements” (Feb 2026) READINESS. Scores an AI-BOM element-by-element against the seven clusters (Metadata, System-Level, Models, Datasets, Infrastructure, Security, plus the document-author elements) of the BSI/G7 minimum-elements guidance, using the AI-BOM metadata sbom-tools already parses (model card, training-data characteristics, weight hashes with NIST-approved algorithms, dataset provenance). This is a minimum-elements readiness assessment, not a legal-conformity guarantee. Returns N/A for SBOMs with no ML-model or dataset metadata.
Comprehensive
Comprehensive compliance (all recommended fields)
Implementations§
Source§impl ComplianceLevel
impl ComplianceLevel
Sourcepub const fn short_name(&self) -> &'static str
pub const fn short_name(&self) -> &'static str
Get compact tab label (max ~8 chars) for terminal display.
Sourcepub const fn description(&self) -> &'static str
pub const fn description(&self) -> &'static str
Get description of what this level checks
Trait Implementations§
Source§impl Clone for ComplianceLevel
impl Clone for ComplianceLevel
Source§fn clone(&self) -> ComplianceLevel
fn clone(&self) -> ComplianceLevel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ComplianceLevel
Source§impl Debug for ComplianceLevel
impl Debug for ComplianceLevel
Source§impl<'de> Deserialize<'de> for ComplianceLevel
impl<'de> Deserialize<'de> for ComplianceLevel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ComplianceLevel
Source§impl PartialEq for ComplianceLevel
impl PartialEq for ComplianceLevel
Source§fn eq(&self, other: &ComplianceLevel) -> bool
fn eq(&self, other: &ComplianceLevel) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ComplianceLevel
impl Serialize for ComplianceLevel
impl StructuralPartialEq for ComplianceLevel
Auto Trait Implementations§
impl Freeze for ComplianceLevel
impl RefUnwindSafe for ComplianceLevel
impl Send for ComplianceLevel
impl Sync for ComplianceLevel
impl Unpin for ComplianceLevel
impl UnsafeUnpin for ComplianceLevel
impl UnwindSafe for ComplianceLevel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more