@mitre/hdf-schema 3.0.1 → 3.1.0-rc.1

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,6 +1,6 @@
1
1
  {
2
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",
3
+ "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-evidence-package/v3.1.0",
4
4
  "title": "HDF Evidence Package",
5
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
6
  "type": "object",
@@ -34,7 +34,7 @@
34
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
35
  },
36
36
  "preparedBy": {
37
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
37
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
38
38
  "description": "Identity of who prepared this evidence package."
39
39
  },
40
40
  "preparedAt": {
@@ -55,7 +55,7 @@
55
55
  "description": "Summary of assessment completeness and compliance status."
56
56
  },
57
57
  "signature": {
58
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
58
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
59
59
  "description": "Digital signature covering the entire evidence package."
60
60
  },
61
61
  "labels": {
@@ -66,7 +66,7 @@
66
66
  "description": "Optional key-value labels for grouping and querying evidence packages."
67
67
  },
68
68
  "integrity": {
69
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
69
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0#/$defs/Integrity",
70
70
  "description": "Cryptographic integrity information for verifying this evidence package has not been tampered with."
71
71
  },
72
72
  "version": {
@@ -74,7 +74,7 @@
74
74
  "description": "Version of this evidence package."
75
75
  },
76
76
  "generator": {
77
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
77
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0#/$defs/Generator",
78
78
  "description": "Information about the tool that generated this document."
79
79
  }
80
80
  },
@@ -111,7 +111,7 @@
111
111
  "description": "URI to the document. Can be a relative path or absolute URL."
112
112
  },
113
113
  "checksum": {
114
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
114
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
115
115
  "description": "Cryptographic checksum for verifying the referenced document's integrity."
116
116
  },
117
117
  "description": {
@@ -205,9 +205,9 @@
205
205
  "description": "Informational summary of assessment completeness. Not authoritative — tools should compute these from the referenced documents.",
206
206
  "title": "Completeness Check"
207
207
  },
208
- "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0": {
208
+ "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0": {
209
209
  "$schema": "https://json-schema.org/draft/2020-12/schema",
210
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0",
210
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0",
211
211
  "title": "HDF Common Primitives",
212
212
  "description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
213
213
  "$defs": {
@@ -1023,9 +1023,9 @@
1023
1023
  }
1024
1024
  }
1025
1025
  },
1026
- "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0": {
1026
+ "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0": {
1027
1027
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1028
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0",
1028
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.1.0",
1029
1029
  "title": "HDF Extension Primitives",
1030
1030
  "description": "Extension types for waivers, attestations, generators, and integrity.",
1031
1031
  "$defs": {
@@ -1034,52 +1034,67 @@
1034
1034
  "unevaluatedProperties": false,
1035
1035
  "required": [
1036
1036
  "type",
1037
- "status",
1038
1037
  "reason",
1039
1038
  "appliedBy",
1040
1039
  "appliedAt",
1041
1040
  "expiresAt"
1042
1041
  ],
1042
+ "anyOf": [
1043
+ {
1044
+ "required": [
1045
+ "status"
1046
+ ]
1047
+ },
1048
+ {
1049
+ "required": [
1050
+ "impact"
1051
+ ]
1052
+ }
1053
+ ],
1043
1054
  "properties": {
1044
1055
  "type": {
1045
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Override_Type",
1046
- "description": "The type of status override applied to this requirement."
1056
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Override_Type",
1057
+ "description": "The type of override applied to this requirement."
1047
1058
  },
1048
1059
  "status": {
1049
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
1050
- "description": "The new status this override sets for the requirement. This intentionally changes the compliance status."
1060
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
1061
+ "description": "The new status this override sets for the requirement. Optional when only impact is being overridden."
1062
+ },
1063
+ "impact": {
1064
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0#/$defs/Impact_Override",
1065
+ "description": "Override to the requirement's impact score. At least one of status or impact must be set."
1051
1066
  },
1052
1067
  "reason": {
1053
1068
  "type": "string",
1054
- "description": "Explanation for why this status override was applied."
1069
+ "description": "Explanation for why this override was applied."
1055
1070
  },
1056
1071
  "appliedBy": {
1057
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
1058
- "description": "Identity of who applied this status override. For simple cases, use type 'simple' with just an identifier."
1072
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
1073
+ "description": "Identity of who applied this override. For simple cases, use type 'simple' with just an identifier."
1059
1074
  },
1060
1075
  "appliedAt": {
1061
1076
  "type": "string",
1062
1077
  "format": "date-time",
1063
- "description": "Timestamp when this status override was applied. ISO 8601 format."
1078
+ "description": "Timestamp when this override was applied. ISO 8601 format."
1064
1079
  },
1065
1080
  "expiresAt": {
1066
1081
  "type": "string",
1067
1082
  "format": "date-time",
1068
- "description": "Timestamp when this status override expires and must be reviewed/renewed. REQUIRED - no permanent status overrides allowed. ISO 8601 format."
1083
+ "description": "Timestamp when this override expires and must be reviewed/renewed. REQUIRED - no permanent overrides allowed. ISO 8601 format."
1069
1084
  },
1070
1085
  "signature": {
1071
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
1086
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
1072
1087
  "description": "Optional digital signature for enhanced trust and non-repudiation. Supports hardware security tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other signing methods."
1073
1088
  },
1074
1089
  "evidence": {
1075
1090
  "type": "array",
1076
1091
  "items": {
1077
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
1092
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
1078
1093
  },
1079
- "description": "Supporting evidence for this status override, such as screenshots demonstrating manual verification for attestations."
1094
+ "description": "Supporting evidence for this override, such as screenshots demonstrating manual verification for attestations."
1080
1095
  },
1081
1096
  "previousChecksum": {
1082
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1097
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
1083
1098
  "description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
1084
1099
  }
1085
1100
  },
@@ -1095,6 +1110,41 @@
1095
1110
  "appliedAt": "2025-12-01T10:00:00Z",
1096
1111
  "expiresAt": "2026-12-01T00:00:00Z"
1097
1112
  },
1113
+ {
1114
+ "type": "riskAdjustment",
1115
+ "impact": {
1116
+ "value": 0.3
1117
+ },
1118
+ "reason": "CVE-123 is in a dead code path, unreachable from any entry point",
1119
+ "appliedBy": {
1120
+ "identifier": "dev@org.gov",
1121
+ "type": "email"
1122
+ },
1123
+ "appliedAt": "2026-04-14T10:00:00Z",
1124
+ "expiresAt": "2026-10-14T00:00:00Z"
1125
+ },
1126
+ {
1127
+ "type": "falsePositive",
1128
+ "status": "passed",
1129
+ "reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
1130
+ "appliedBy": {
1131
+ "identifier": "assessor@agency.gov",
1132
+ "type": "email"
1133
+ },
1134
+ "appliedAt": "2026-04-14T10:00:00Z",
1135
+ "expiresAt": "2026-10-14T00:00:00Z"
1136
+ },
1137
+ {
1138
+ "type": "falsePositive",
1139
+ "status": "notApplicable",
1140
+ "reason": "CVE scanner matched library signature but the vulnerable code path is not present — dependency compiled with affected module disabled",
1141
+ "appliedBy": {
1142
+ "identifier": "dev@org.gov",
1143
+ "type": "email"
1144
+ },
1145
+ "appliedAt": "2026-04-14T10:00:00Z",
1146
+ "expiresAt": "2026-10-14T00:00:00Z"
1147
+ },
1098
1148
  {
1099
1149
  "type": "attestation",
1100
1150
  "status": "passed",
@@ -1122,7 +1172,7 @@
1122
1172
  ]
1123
1173
  }
1124
1174
  ],
1125
- "description": "An intentional change to a requirement's compliance status (waiver or attestation). Status overrides change the effectiveStatus of the requirement. All status overrides must have an expiration date to enforce periodic review.",
1175
+ "description": "An intentional change to a requirement's compliance status and/or impact score. At least one of status or impact must be set. Overrides change the effectiveStatus or impact of the requirement. All overrides must have an expiration date to enforce periodic review.",
1126
1176
  "title": "Status Override"
1127
1177
  },
1128
1178
  "POAM": {
@@ -1140,16 +1190,17 @@
1140
1190
  "enum": [
1141
1191
  "remediation",
1142
1192
  "mitigation",
1143
- "riskAcceptance"
1193
+ "riskAcceptance",
1194
+ "vendorDependency"
1144
1195
  ],
1145
- "description": "The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via compensating controls. 'riskAcceptance' documents decision to accept risk."
1196
+ "description": "The type of POA&M. 'remediation' fixes root cause. 'mitigation' reduces risk via compensating controls. 'riskAcceptance' documents decision to accept risk. 'vendorDependency' tracks a fix that depends on a vendor releasing a patch or update."
1146
1197
  },
1147
1198
  "explanation": {
1148
1199
  "type": "string",
1149
1200
  "description": "Detailed explanation of the plan, including what actions will be taken."
1150
1201
  },
1151
1202
  "appliedBy": {
1152
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
1203
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
1153
1204
  "description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
1154
1205
  },
1155
1206
  "appliedAt": {
@@ -1165,23 +1216,23 @@
1165
1216
  "milestones": {
1166
1217
  "type": "array",
1167
1218
  "items": {
1168
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
1219
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
1169
1220
  },
1170
1221
  "description": "Optional array of milestones tracking progress toward completion."
1171
1222
  },
1172
1223
  "signature": {
1173
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
1224
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
1174
1225
  "description": "Optional digital signature for enhanced trust and non-repudiation."
1175
1226
  },
1176
1227
  "evidence": {
1177
1228
  "type": "array",
1178
1229
  "items": {
1179
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
1230
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
1180
1231
  },
1181
1232
  "description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
1182
1233
  },
1183
1234
  "previousChecksum": {
1184
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1235
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
1185
1236
  "description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
1186
1237
  }
1187
1238
  },
@@ -1332,7 +1383,7 @@
1332
1383
  },
1333
1384
  "properties": {
1334
1385
  "algorithm": {
1335
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Hash_Algorithm",
1386
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Hash_Algorithm",
1336
1387
  "description": "The hash algorithm used for the checksum."
1337
1388
  },
1338
1389
  "checksum": {
@@ -1365,36 +1416,66 @@
1365
1416
  }
1366
1417
  }
1367
1418
  },
1368
- "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0": {
1419
+ "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0": {
1369
1420
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1370
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0",
1421
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.1.0",
1371
1422
  "title": "HDF Amendment Primitives",
1372
- "description": "Types for waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status.",
1423
+ "description": "Types for waivers, attestations, and POA&Ms that modify requirement compliance status.",
1373
1424
  "$defs": {
1374
1425
  "Override_Type": {
1375
1426
  "type": "string",
1376
1427
  "enum": [
1377
1428
  "waiver",
1378
1429
  "attestation",
1379
- "exception",
1380
1430
  "poam",
1381
- "inherited"
1431
+ "inherited",
1432
+ "falsePositive",
1433
+ "riskAdjustment",
1434
+ "operationalRequirement"
1382
1435
  ],
1383
- "description": "The type of amendment. 'waiver': risk accepted (AO). 'attestation': manually verified (assessor). 'exception': not applicable (system owner + AO). 'poam': remediation tracked (no status change). 'inherited': control provided by another component or system (overrides to notApplicable/passed).",
1436
+ "description": "The type of amendment, aligned with FedRAMP deviation request categories. 'waiver': risk accepted by Authorizing Official. 'attestation': manually verified by assessor. 'poam': remediation tracked (no status change). 'inherited': control provided by another component or system. 'falsePositive': scanner incorrectly identified a finding — for compliance scans (STIG, CIS), the check actually passes, so status is typically set to 'passed'; for vulnerability scans (CVE, SCA), the flagged vulnerability does not apply to this system, so status is typically set to 'notApplicable'. The disposition field on the requirement distinguishes false positives from genuinely not-applicable findings. 'riskAdjustment': impact score adjusted based on environmental context (FedRAMP Risk Adjustment); does not change pass/fail status, only impact via the impact field. 'operationalRequirement': deviation required by operational constraints (FedRAMP Operational Requirement); the finding cannot be remediated because the system requires the affected functionality. Remains an open risk. Migration note: 'exception' was removed in v3.1.0 — use 'waiver' with status 'notApplicable' instead.",
1384
1437
  "title": "Override Type"
1385
1438
  },
1439
+ "Impact_Override": {
1440
+ "type": "object",
1441
+ "required": [
1442
+ "value"
1443
+ ],
1444
+ "unevaluatedProperties": false,
1445
+ "properties": {
1446
+ "value": {
1447
+ "type": "number",
1448
+ "minimum": 0,
1449
+ "maximum": 1,
1450
+ "description": "The overridden impact score (0.0–1.0)."
1451
+ }
1452
+ },
1453
+ "description": "An override to the requirement's impact score. The prior impact is the original result value or the preceding override in the chain.",
1454
+ "title": "Impact Override"
1455
+ },
1386
1456
  "Standalone_Override": {
1387
1457
  "type": "object",
1388
1458
  "unevaluatedProperties": false,
1389
1459
  "required": [
1390
1460
  "type",
1391
1461
  "requirementId",
1392
- "status",
1393
1462
  "reason",
1394
1463
  "appliedBy",
1395
1464
  "appliedAt",
1396
1465
  "expiresAt"
1397
1466
  ],
1467
+ "anyOf": [
1468
+ {
1469
+ "required": [
1470
+ "status"
1471
+ ]
1472
+ },
1473
+ {
1474
+ "required": [
1475
+ "impact"
1476
+ ]
1477
+ }
1478
+ ],
1398
1479
  "properties": {
1399
1480
  "type": {
1400
1481
  "$ref": "#/$defs/Override_Type",
@@ -1409,15 +1490,19 @@
1409
1490
  "description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
1410
1491
  },
1411
1492
  "status": {
1412
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
1413
- "description": "The new status this amendment sets. For POA&Ms, this is the current status (POA&Ms track work, they don't change status)."
1493
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0#/$defs/Result_Status",
1494
+ "description": "The new status this amendment sets. Optional when only impact is being overridden."
1495
+ },
1496
+ "impact": {
1497
+ "$ref": "#/$defs/Impact_Override",
1498
+ "description": "Override to the requirement's impact score. At least one of status or impact must be set."
1414
1499
  },
1415
1500
  "reason": {
1416
1501
  "type": "string",
1417
1502
  "description": "Justification for this amendment."
1418
1503
  },
1419
1504
  "appliedBy": {
1420
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
1505
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Identity",
1421
1506
  "description": "Identity of who applied this amendment."
1422
1507
  },
1423
1508
  "appliedAt": {
@@ -1433,22 +1518,22 @@
1433
1518
  "evidence": {
1434
1519
  "type": "array",
1435
1520
  "items": {
1436
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
1521
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Evidence"
1437
1522
  },
1438
1523
  "description": "Supporting evidence (screenshots, logs, URLs, documents)."
1439
1524
  },
1440
1525
  "signature": {
1441
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
1526
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Signature",
1442
1527
  "description": "Digital signature for non-repudiation."
1443
1528
  },
1444
1529
  "previousChecksum": {
1445
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1530
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Checksum",
1446
1531
  "description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
1447
1532
  },
1448
1533
  "milestones": {
1449
1534
  "type": "array",
1450
1535
  "items": {
1451
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
1536
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.1.0#/$defs/Milestone"
1452
1537
  },
1453
1538
  "description": "Remediation milestones (primarily for POA&M type amendments)."
1454
1539
  },
@@ -1484,6 +1569,46 @@
1484
1569
  }
1485
1570
  ]
1486
1571
  },
1572
+ {
1573
+ "type": "falsePositive",
1574
+ "requirementId": "SV-258010",
1575
+ "baselineRef": "RHEL9-STIG",
1576
+ "status": "passed",
1577
+ "reason": "STIG check misidentified sshd_config syntax; manual review confirms compliant configuration",
1578
+ "appliedBy": {
1579
+ "type": "email",
1580
+ "identifier": "assessor@agency.gov"
1581
+ },
1582
+ "appliedAt": "2026-04-14T10:00:00Z",
1583
+ "expiresAt": "2026-10-14T00:00:00Z"
1584
+ },
1585
+ {
1586
+ "type": "falsePositive",
1587
+ "requirementId": "CVE-2026-12345",
1588
+ "status": "notApplicable",
1589
+ "reason": "CVE scanner matched library signature but the vulnerable code path is not present in our build — dependency is compiled with the affected module disabled",
1590
+ "appliedBy": {
1591
+ "type": "email",
1592
+ "identifier": "dev@org.gov"
1593
+ },
1594
+ "appliedAt": "2026-04-14T10:00:00Z",
1595
+ "expiresAt": "2026-10-14T00:00:00Z"
1596
+ },
1597
+ {
1598
+ "type": "riskAdjustment",
1599
+ "requirementId": "SV-258020",
1600
+ "baselineRef": "RHEL9-STIG",
1601
+ "impact": {
1602
+ "value": 0.3
1603
+ },
1604
+ "reason": "CVE-123 is in a dead code path, unreachable from any entry point",
1605
+ "appliedBy": {
1606
+ "type": "email",
1607
+ "identifier": "dev@org.gov"
1608
+ },
1609
+ "appliedAt": "2026-04-14T10:00:00Z",
1610
+ "expiresAt": "2026-10-14T00:00:00Z"
1611
+ },
1487
1612
  {
1488
1613
  "type": "poam",
1489
1614
  "requirementId": "SV-258001",
@@ -1524,14 +1649,14 @@
1524
1649
  "expiresAt": "2026-09-26T00:00:00Z"
1525
1650
  }
1526
1651
  ],
1527
- "description": "A standalone amendment that modifies a requirement's compliance status. Extends the inline Status_Override concept with requirementId and baselineRef for use outside of results documents.",
1652
+ "description": "A standalone amendment that modifies a requirement's compliance status and/or impact score. At least one of status or impact must be set. Extends the inline Override concept with requirementId and baselineRef for use outside of results documents.",
1528
1653
  "title": "Standalone Override"
1529
1654
  }
1530
1655
  }
1531
1656
  },
1532
- "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0": {
1657
+ "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0": {
1533
1658
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1534
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0",
1659
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.1.0",
1535
1660
  "title": "HDF Result Primitives",
1536
1661
  "description": "Types for representing assessment results and statuses.",
1537
1662
  "$defs": {