@mitre/hdf-schema 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +83 -40
  3. package/dist/go/hdf.go +148 -104
  4. package/dist/index.d.ts +26 -1
  5. package/dist/index.js +26 -1
  6. package/dist/schemas/hdf-amendments.schema.json +178 -53
  7. package/dist/schemas/hdf-baseline.schema.json +181 -56
  8. package/dist/schemas/hdf-comparison.schema.json +523 -108
  9. package/dist/schemas/hdf-evidence-package.schema.json +175 -50
  10. package/dist/schemas/hdf-plan.schema.json +181 -56
  11. package/dist/schemas/hdf-results.schema.json +502 -87
  12. package/dist/schemas/hdf-system.schema.json +190 -65
  13. package/dist/ts/hdf-amendments.d.ts +43 -15
  14. package/dist/ts/hdf-amendments.js +18 -7
  15. package/dist/ts/hdf-amendments.ts +44 -15
  16. package/dist/ts/hdf-results.d.ts +91 -37
  17. package/dist/ts/hdf-results.js +40 -20
  18. package/dist/ts/hdf-results.ts +91 -36
  19. package/package.json +44 -45
  20. package/dist/python/hdf_amendments.py +0 -695
  21. package/dist/python/hdf_baseline.py +0 -782
  22. package/dist/python/hdf_comparison.py +0 -1771
  23. package/dist/python/hdf_evidence_package.py +0 -593
  24. package/dist/python/hdf_plan.py +0 -363
  25. package/dist/python/hdf_results.py +0 -2163
  26. package/dist/python/hdf_system.py +0 -904
  27. package/src/schemas/hdf-amendments.schema.json +0 -97
  28. package/src/schemas/hdf-baseline.schema.json +0 -190
  29. package/src/schemas/hdf-comparison.schema.json +0 -107
  30. package/src/schemas/hdf-evidence-package.schema.json +0 -227
  31. package/src/schemas/hdf-plan.schema.json +0 -92
  32. package/src/schemas/hdf-results.schema.json +0 -304
  33. package/src/schemas/hdf-system.schema.json +0 -136
  34. package/src/schemas/primitives/amendments.schema.json +0 -155
  35. package/src/schemas/primitives/common.schema.json +0 -814
  36. package/src/schemas/primitives/comparison.schema.json +0 -809
  37. package/src/schemas/primitives/component.schema.json +0 -518
  38. package/src/schemas/primitives/data-flow.schema.json +0 -158
  39. package/src/schemas/primitives/extensions.schema.json +0 -342
  40. package/src/schemas/primitives/parameter.schema.json +0 -128
  41. package/src/schemas/primitives/plan.schema.json +0 -128
  42. package/src/schemas/primitives/platform.schema.json +0 -32
  43. package/src/schemas/primitives/result.schema.json +0 -133
  44. package/src/schemas/primitives/runner.schema.json +0 -83
  45. package/src/schemas/primitives/statistics.schema.json +0 -71
  46. package/src/schemas/primitives/system.schema.json +0 -132
  47. package/src/schemas/primitives/target.schema.json +0 -523
@@ -1,97 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-amendments/v3.0.0",
4
- "title": "HDF Amendments",
5
- "description": "Waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status. Amendments are standalone documents that can be applied to results via merge operations.",
6
- "type": "object",
7
- "unevaluatedProperties": false,
8
- "required": [
9
- "name",
10
- "overrides"
11
- ],
12
- "properties": {
13
- "amendmentId": {
14
- "type": "string",
15
- "format": "uuid",
16
- "description": "Unique identifier for this amendments document. Useful for cross-referencing when multiple amendment documents target the same results."
17
- },
18
- "name": {
19
- "type": "string",
20
- "description": "Human-readable name for this amendments document. Example: 'Portal Q1 2026 Waivers'."
21
- },
22
- "description": {
23
- "type": "string",
24
- "description": "Description of the amendments' purpose and scope."
25
- },
26
- "systemRef": {
27
- "type": "string",
28
- "format": "uri-reference",
29
- "description": "URI to the hdf-system document these amendments apply to."
30
- },
31
- "appliedBy": {
32
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
33
- "description": "Default identity of who created this amendments document. Individual overrides may specify their own appliedBy."
34
- },
35
- "approvedBy": {
36
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
37
- "description": "Identity of the authorizing official who approved these amendments."
38
- },
39
- "overrides": {
40
- "type": "array",
41
- "minItems": 1,
42
- "items": {
43
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Standalone_Override"
44
- },
45
- "description": "The set of amendments (waivers, attestations, exceptions, POA&Ms)."
46
- },
47
- "labels": {
48
- "type": "object",
49
- "additionalProperties": {
50
- "type": "string"
51
- },
52
- "description": "Optional key-value labels for grouping and querying amendments."
53
- },
54
- "integrity": {
55
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
56
- "description": "Cryptographic integrity information for verifying this amendments document has not been tampered with."
57
- },
58
- "signature": {
59
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
60
- "description": "Document-level digital signature covering all amendments."
61
- },
62
- "version": {
63
- "type": "string",
64
- "description": "Version of this amendments document."
65
- },
66
- "generator": {
67
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
68
- "description": "Information about the tool that generated this document."
69
- }
70
- },
71
- "examples": [
72
- {
73
- "name": "Portal Q1 2026 Waivers",
74
- "systemRef": "portal-prod.hdf-system.json",
75
- "approvedBy": { "type": "email", "identifier": "ao@agency.gov" },
76
- "overrides": [
77
- {
78
- "type": "waiver",
79
- "requirementId": "SV-257777",
80
- "baselineRef": "RHEL9-STIG",
81
- "status": "passed",
82
- "reason": "Compensating control: session timeout set to 15 min",
83
- "appliedBy": { "type": "email", "identifier": "ao@agency.gov" },
84
- "appliedAt": "2026-01-15T10:00:00Z",
85
- "expiresAt": "2026-06-30T00:00:00Z",
86
- "evidence": [
87
- {
88
- "type": "url",
89
- "data": "https://jira.agency.gov/CYBER-4521",
90
- "description": "ISSM approval with compensating control documentation"
91
- }
92
- ]
93
- }
94
- ]
95
- }
96
- ]
97
- }
@@ -1,190 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-baseline/v3.0.0",
4
- "type": "object",
5
- "unevaluatedProperties": false,
6
- "required": [
7
- "name",
8
- "requirements"
9
- ],
10
- "allOf": [
11
- {
12
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Baseline_Metadata"
13
- }
14
- ],
15
- "properties": {
16
- "requirements": {
17
- "type": "array",
18
- "minItems": 1,
19
- "items": {
20
- "$ref": "#/$defs/Baseline_Requirement"
21
- },
22
- "description": "The set of requirements - contains no findings as the assessment has not yet occurred."
23
- },
24
- "groups": {
25
- "type": "array",
26
- "items": {
27
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Requirement_Group"
28
- },
29
- "description": "A set of descriptions for the requirement groups."
30
- },
31
- "inputs": {
32
- "type": "array",
33
- "items": {
34
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/parameter/v3.0.0#/$defs/Input"
35
- },
36
- "description": "The input(s) or attribute(s) to be used in the run."
37
- },
38
- "integrity": {
39
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
40
- "description": "Cryptographic integrity information for verifying this baseline has not been tampered with."
41
- },
42
- "remediation": {
43
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Remediation",
44
- "description": "Optional reference to automated remediation resources (Ansible playbooks, Terraform scripts, etc.) for implementing the security controls defined in this baseline."
45
- },
46
- "depends": {
47
- "type": "array",
48
- "items": {
49
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Dependency"
50
- },
51
- "description": "The set of dependencies this baseline depends on."
52
- },
53
- "generator": {
54
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
55
- "description": "The tool that generated this file."
56
- }
57
- },
58
- "examples": [
59
- {
60
- "name": "ubuntu-2204-stig-baseline",
61
- "title": "Canonical Ubuntu 22.04 LTS STIG Baseline",
62
- "version": "1.2.0",
63
- "maintainer": "DISA STIG Team",
64
- "license": "Apache-2.0",
65
- "summary": "Security Technical Implementation Guide for Ubuntu 22.04 LTS",
66
- "supports": [
67
- {
68
- "platformName": "ubuntu",
69
- "platformFamily": "debian",
70
- "release": "22.04"
71
- }
72
- ],
73
- "requirements": [
74
- {
75
- "id": "SV-260476",
76
- "title": "Ubuntu 22.04 LTS must enforce password complexity",
77
- "impact": 0.5,
78
- "tags": {
79
- "nist": ["IA-5"],
80
- "severity": "medium",
81
- "gtitle": "SRG-OS-000069-GPOS-00037"
82
- },
83
- "descriptions": [
84
- {
85
- "label": "default",
86
- "data": "Use of a complex password helps to increase the time and resources required to compromise the password."
87
- },
88
- {
89
- "label": "check",
90
- "data": "Verify the value of 'minlen' in /etc/security/pwquality.conf is 15 or more."
91
- },
92
- {
93
- "label": "fix",
94
- "data": "Configure Ubuntu 22.04 LTS to enforce a minimum 15-character password length by adding 'minlen = 15' to /etc/security/pwquality.conf."
95
- }
96
- ]
97
- },
98
- {
99
- "id": "SV-260477",
100
- "title": "Ubuntu 22.04 LTS must configure audit logging",
101
- "impact": 0.7,
102
- "tags": {
103
- "nist": ["AU-3", "AU-12"],
104
- "severity": "high",
105
- "gtitle": "SRG-OS-000037-GPOS-00015"
106
- },
107
- "descriptions": [
108
- {
109
- "label": "default",
110
- "data": "Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate security incidents."
111
- }
112
- ]
113
- }
114
- ],
115
- "groups": [
116
- {
117
- "id": "controls/SV-260476.rb",
118
- "title": "Password Configuration",
119
- "requirements": ["SV-260476"]
120
- }
121
- ]
122
- }
123
- ],
124
- "description": "Information on the set of requirements that can be assessed, including baseline metadata and requirement definitions.",
125
- "title": "HDF Baseline",
126
- "$defs": {
127
- "Baseline_Requirement": {
128
- "type": "object",
129
- "unevaluatedProperties": false,
130
- "required": [
131
- "id",
132
- "impact",
133
- "tags",
134
- "descriptions"
135
- ],
136
- "allOf": [
137
- {
138
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Requirement_Core"
139
- }
140
- ],
141
- "properties": {
142
- "descriptions": {
143
- "$ref": "#/$defs/Baseline_Requirement_Descriptions",
144
- "description": "Array of labeled descriptions. At least one description with label 'default' must be present. Convention: place default description first. Common labels: 'default', 'check', 'fix', 'rationale'."
145
- },
146
- "severity": {
147
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Severity",
148
- "description": "Explicit severity rating. Typically derived from impact score but provided explicitly for clarity."
149
- }
150
- },
151
- "description": "A requirement definition without assessment results.",
152
- "title": "Baseline Requirement"
153
- },
154
- "Baseline_Requirement_Descriptions": {
155
- "type": "array",
156
- "minItems": 1,
157
- "items": {
158
- "type": "object",
159
- "unevaluatedProperties": false,
160
- "required": [
161
- "label",
162
- "data"
163
- ],
164
- "properties": {
165
- "label": {
166
- "type": "string",
167
- "description": "Description category. The 'default' label is required for the primary description. Common labels: 'default', 'check', 'fix', 'rationale'. Tools may use custom labels."
168
- },
169
- "data": {
170
- "type": "string",
171
- "description": "The description text content."
172
- }
173
- }
174
- },
175
- "contains": {
176
- "type": "object",
177
- "required": [
178
- "label"
179
- ],
180
- "properties": {
181
- "label": {
182
- "const": "default"
183
- }
184
- }
185
- },
186
- "description": "Array of labeled descriptions. At least one description with label 'default' must be present.",
187
- "title": "Baseline Requirement Descriptions"
188
- }
189
- }
190
- }
@@ -1,107 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-comparison/v3.0.0",
4
- "type": "object",
5
- "unevaluatedProperties": false,
6
- "required": [
7
- "formatVersion",
8
- "comparisonMode",
9
- "sources",
10
- "summary",
11
- "requirementDiffs"
12
- ],
13
- "properties": {
14
- "formatVersion": {
15
- "type": "string",
16
- "const": "1.0.0",
17
- "description": "Schema version for this comparison format."
18
- },
19
- "comparisonMode": {
20
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Comparison_Mode",
21
- "description": "The mode of comparison being performed."
22
- },
23
- "timestamp": {
24
- "type": "string",
25
- "format": "date-time",
26
- "description": "When this comparison was performed."
27
- },
28
- "generator": {
29
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
30
- "description": "Information about the tool that generated this comparison."
31
- },
32
- "sources": {
33
- "type": "array",
34
- "minItems": 2,
35
- "items": {
36
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Source"
37
- },
38
- "description": "The source documents being compared. At least two sources are required."
39
- },
40
- "matching": {
41
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Matching_Config",
42
- "description": "Configuration for how requirements were matched across sources."
43
- },
44
- "summary": {
45
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Comparison_Summary",
46
- "description": "Summary statistics for the overall comparison."
47
- },
48
- "baselineDiffs": {
49
- "type": "array",
50
- "items": {
51
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Baseline_Diff"
52
- },
53
- "description": "Comparison of baselines between sources."
54
- },
55
- "requirementDiffs": {
56
- "type": "array",
57
- "items": {
58
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Requirement_Diff"
59
- },
60
- "description": "Detailed comparison of individual requirements between sources."
61
- },
62
- "componentDiffs": {
63
- "type": "array",
64
- "items": {
65
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Component_Diff"
66
- },
67
- "description": "Comparison of components between two system documents. Used in systemDrift mode."
68
- },
69
- "packageDiffs": {
70
- "type": "array",
71
- "items": {
72
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Package_Diff"
73
- },
74
- "description": "Comparison of packages between two SBOMs. Used in systemDrift mode for SBOM comparison."
75
- },
76
- "systemRef": {
77
- "type": "string",
78
- "format": "uri-reference",
79
- "description": "URI identifying the system being compared in systemDrift mode."
80
- },
81
- "drift": {
82
- "type": "array",
83
- "items": {
84
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Requirement_Diff"
85
- },
86
- "description": "External/metadata changes separate from status changes (Terraform pattern)."
87
- },
88
- "annotations": {
89
- "type": "object",
90
- "additionalProperties": {
91
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/comparison/v3.0.0#/$defs/Annotation"
92
- },
93
- "description": "Map of annotation IDs to annotation objects, providing context or action items for requirement diffs."
94
- },
95
- "integrity": {
96
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
97
- "description": "Cryptographic integrity information for verifying this comparison document."
98
- },
99
- "extensions": {
100
- "type": "object",
101
- "additionalProperties": true,
102
- "description": "Reserved for tool-specific data not defined in the HDF standard."
103
- }
104
- },
105
- "description": "Structured comparison between two or more HDF security assessment documents. Supports temporal, baseline, fleet, and multi-source comparison modes.",
106
- "title": "HDF Comparison"
107
- }
@@ -1,227 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-evidence-package/v3.0.0",
4
- "title": "HDF Evidence Package",
5
- "description": "Bundles references to all HDF documents for audit, authorization, and compliance review. Each content entry references a document by type, URI, and checksum for integrity verification.",
6
- "type": "object",
7
- "unevaluatedProperties": false,
8
- "required": [
9
- "name",
10
- "contents"
11
- ],
12
- "properties": {
13
- "packageId": {
14
- "type": "string",
15
- "format": "uuid",
16
- "description": "Unique identifier for this evidence package. Optional in casual use, expected in production ATO submissions. Auto-generated if omitted during creation."
17
- },
18
- "name": {
19
- "type": "string",
20
- "description": "Human-readable name for this evidence package. Example: 'Enterprise Portal ATO Evidence - Q1 2026'."
21
- },
22
- "description": {
23
- "type": "string",
24
- "description": "Description of the evidence package's purpose and scope."
25
- },
26
- "systemRef": {
27
- "type": "string",
28
- "format": "uri-reference",
29
- "description": "URI to the hdf-system document this evidence package covers."
30
- },
31
- "planRef": {
32
- "type": "string",
33
- "format": "uri-reference",
34
- "description": "URI to the hdf-plan document that drove this assessment. Used for completeness verification — every baseline in the plan should have a corresponding results document in this package."
35
- },
36
- "preparedBy": {
37
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
38
- "description": "Identity of who prepared this evidence package."
39
- },
40
- "preparedAt": {
41
- "type": "string",
42
- "format": "date-time",
43
- "description": "When this evidence package was prepared. ISO 8601 format."
44
- },
45
- "contents": {
46
- "type": "array",
47
- "minItems": 1,
48
- "items": {
49
- "$ref": "#/$defs/Content_Reference"
50
- },
51
- "description": "References to HDF documents included in this evidence package."
52
- },
53
- "completenessCheck": {
54
- "$ref": "#/$defs/Completeness_Check",
55
- "description": "Summary of assessment completeness and compliance status."
56
- },
57
- "signature": {
58
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
59
- "description": "Digital signature covering the entire evidence package."
60
- },
61
- "labels": {
62
- "type": "object",
63
- "additionalProperties": {
64
- "type": "string"
65
- },
66
- "description": "Optional key-value labels for grouping and querying evidence packages."
67
- },
68
- "integrity": {
69
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
70
- "description": "Cryptographic integrity information for verifying this evidence package has not been tampered with."
71
- },
72
- "version": {
73
- "type": "string",
74
- "description": "Version of this evidence package."
75
- },
76
- "generator": {
77
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
78
- "description": "Information about the tool that generated this document."
79
- }
80
- },
81
- "$defs": {
82
- "Content_Type": {
83
- "type": "string",
84
- "enum": [
85
- "hdf-system",
86
- "hdf-baseline",
87
- "hdf-plan",
88
- "hdf-results",
89
- "hdf-amendments",
90
- "hdf-comparison",
91
- "sbom"
92
- ],
93
- "description": "The type of document referenced in the evidence package.",
94
- "title": "Content Type"
95
- },
96
- "Content_Reference": {
97
- "type": "object",
98
- "unevaluatedProperties": false,
99
- "required": [
100
- "type",
101
- "uri"
102
- ],
103
- "properties": {
104
- "type": {
105
- "$ref": "#/$defs/Content_Type",
106
- "description": "The type of HDF document being referenced."
107
- },
108
- "uri": {
109
- "type": "string",
110
- "format": "uri-reference",
111
- "description": "URI to the document. Can be a relative path or absolute URL."
112
- },
113
- "checksum": {
114
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
115
- "description": "Cryptographic checksum for verifying the referenced document's integrity."
116
- },
117
- "description": {
118
- "type": "string",
119
- "description": "Optional description of this content entry."
120
- },
121
- "componentRef": {
122
- "type": "string",
123
- "format": "uuid",
124
- "description": "componentId of the component this content entry relates to. Use to link SBOMs, results, or other documents to a specific system component."
125
- }
126
- },
127
- "examples": [
128
- {
129
- "type": "hdf-system",
130
- "uri": "portal-prod.hdf-system.json",
131
- "checksum": { "algorithm": "sha256", "value": "aaa111..." }
132
- },
133
- {
134
- "type": "hdf-results",
135
- "uri": "portal-scan-march-2026.json",
136
- "checksum": { "algorithm": "sha256", "value": "ddd444..." },
137
- "description": "March 2026 monthly scan results"
138
- },
139
- {
140
- "type": "sbom",
141
- "uri": "https://artifacts.agency.gov/sbom/webtier.cdx.json",
142
- "description": "WebTier CycloneDX SBOM"
143
- }
144
- ],
145
- "description": "A reference to an HDF document or SBOM included in the evidence package.",
146
- "title": "Content Reference"
147
- },
148
- "SBOM_Coverage": {
149
- "type": "object",
150
- "unevaluatedProperties": false,
151
- "properties": {
152
- "componentsWithSbom": {
153
- "type": "integer",
154
- "minimum": 0,
155
- "description": "Number of system components that have an associated SBOM."
156
- },
157
- "totalComponents": {
158
- "type": "integer",
159
- "minimum": 0,
160
- "description": "Total number of components in the system."
161
- }
162
- },
163
- "description": "SBOM coverage statistics for the system.",
164
- "title": "SBOM Coverage"
165
- },
166
- "Completeness_Check": {
167
- "type": "object",
168
- "unevaluatedProperties": false,
169
- "properties": {
170
- "allBaselinesAssessed": {
171
- "type": "boolean",
172
- "description": "Whether all baselines referenced by system components have assessment results."
173
- },
174
- "allComponentsCovered": {
175
- "type": "boolean",
176
- "description": "Whether all system components have at least one matching target in the results."
177
- },
178
- "expiredWaivers": {
179
- "type": "integer",
180
- "minimum": 0,
181
- "description": "Number of waivers/amendments that have expired."
182
- },
183
- "unresolvedPoams": {
184
- "type": "integer",
185
- "minimum": 0,
186
- "description": "Number of POA&M items that are still open (not completed)."
187
- },
188
- "compliancePercent": {
189
- "type": "number",
190
- "minimum": 0,
191
- "maximum": 100,
192
- "description": "Overall compliance percentage across all assessments."
193
- },
194
- "sbomCoverage": {
195
- "$ref": "#/$defs/SBOM_Coverage",
196
- "description": "SBOM coverage across system components."
197
- }
198
- },
199
- "description": "Informational summary of assessment completeness. Not authoritative — tools should compute these from the referenced documents.",
200
- "title": "Completeness Check"
201
- }
202
- },
203
- "examples": [
204
- {
205
- "name": "Enterprise Portal ATO Evidence - Q1 2026",
206
- "systemRef": "portal-prod.hdf-system.json",
207
- "preparedBy": { "type": "email", "identifier": "compliance@agency.gov" },
208
- "preparedAt": "2026-03-31T12:00:00Z",
209
- "contents": [
210
- { "type": "hdf-system", "uri": "portal-prod.hdf-system.json", "checksum": { "algorithm": "sha256", "value": "aaa111" } },
211
- { "type": "hdf-baseline", "uri": "rhel9-stig.hdf-baseline.json", "checksum": { "algorithm": "sha256", "value": "bbb222" } },
212
- { "type": "hdf-plan", "uri": "portal-monthly-scan.hdf-plan.json", "checksum": { "algorithm": "sha256", "value": "ccc333" } },
213
- { "type": "hdf-results", "uri": "portal-scan-march.json", "checksum": { "algorithm": "sha256", "value": "ddd444" } },
214
- { "type": "hdf-amendments", "uri": "portal-waivers-q1.json", "checksum": { "algorithm": "sha256", "value": "eee555" } },
215
- { "type": "hdf-comparison", "uri": "portal-diff-feb-mar.json", "checksum": { "algorithm": "sha256", "value": "fff666" } }
216
- ],
217
- "completenessCheck": {
218
- "allBaselinesAssessed": true,
219
- "allComponentsCovered": true,
220
- "expiredWaivers": 0,
221
- "unresolvedPoams": 2,
222
- "compliancePercent": 95.8,
223
- "sbomCoverage": { "componentsWithSbom": 3, "totalComponents": 5 }
224
- }
225
- }
226
- ]
227
- }