monora-ai 2.1.3 → 2.1.4
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.
- package/README.md +15 -8
- package/dist/assessment.d.ts.map +1 -1
- package/dist/assessment.js +20 -1
- package/dist/attribution.js +1 -1
- package/dist/cli.js +18 -5
- package/dist/complianceConsolidation.d.ts +17 -0
- package/dist/complianceConsolidation.d.ts.map +1 -0
- package/dist/complianceConsolidation.js +68 -0
- package/dist/complianceTargets.d.ts +1 -1
- package/dist/complianceTargets.d.ts.map +1 -1
- package/dist/complianceTargets.js +2 -2
- package/dist/config.js +1 -1
- package/dist/config_schema.js +1 -1
- package/dist/control_backbone.d.ts +9 -3
- package/dist/control_backbone.d.ts.map +1 -1
- package/dist/control_backbone.js +153 -25
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/onboarding.d.ts.map +1 -1
- package/dist/onboarding.js +56 -3
- package/dist/runtime.d.ts +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -0
- package/dist/schemas/config.schema.json +1 -1
- package/dist/templates/controls/gdpr_control_catalog.json +261 -0
- package/dist/templates/controls/soc2_control_catalog.json +163 -0
- package/dist/templates/standards/iso42001_claims.json +72 -0
- package/dist/trust_package.d.ts +1 -0
- package/dist/trust_package.d.ts.map +1 -1
- package/dist/trust_package.js +2 -1
- package/package.json +1 -1
- package/templates/controls/gdpr_control_catalog.json +261 -0
- package/templates/controls/soc2_control_catalog.json +163 -0
- package/templates/standards/iso42001_claims.json +72 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
{
|
|
2
|
+
"catalog_id": "gdpr_gap_catalog_monora",
|
|
3
|
+
"standard": "GDPR",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"generated_at": "2026-02-16T00:00:00+00:00",
|
|
6
|
+
"notes": "Default GDPR article coverage catalog for workflow gap analysis.",
|
|
7
|
+
"controls": [
|
|
8
|
+
{
|
|
9
|
+
"control_id": "art5",
|
|
10
|
+
"clause": "Art.5",
|
|
11
|
+
"title": "Principles Relating to Processing",
|
|
12
|
+
"requirement": "Apply lawfulness, fairness, transparency, minimization, and integrity principles.",
|
|
13
|
+
"guidance": "Maintain data handling policies and minimization controls.",
|
|
14
|
+
"evidence_types": ["data_handling_policy", "data_minimization_review"],
|
|
15
|
+
"frequency": "quarterly",
|
|
16
|
+
"owner": "Privacy Officer",
|
|
17
|
+
"system": "privacy_governance",
|
|
18
|
+
"collection_method": "manual",
|
|
19
|
+
"status": "gap",
|
|
20
|
+
"priority": "high"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"control_id": "art6",
|
|
24
|
+
"clause": "Art.6",
|
|
25
|
+
"title": "Lawfulness of Processing",
|
|
26
|
+
"requirement": "Document lawful basis for processing.",
|
|
27
|
+
"guidance": "Track legal basis per data processing purpose.",
|
|
28
|
+
"evidence_types": ["lawful_basis_register"],
|
|
29
|
+
"frequency": "quarterly",
|
|
30
|
+
"owner": "Privacy Officer",
|
|
31
|
+
"system": "privacy_governance",
|
|
32
|
+
"collection_method": "manual",
|
|
33
|
+
"status": "gap",
|
|
34
|
+
"priority": "high"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"control_id": "art7",
|
|
38
|
+
"clause": "Art.7",
|
|
39
|
+
"title": "Conditions for Consent",
|
|
40
|
+
"requirement": "Collect and manage valid consent where required.",
|
|
41
|
+
"guidance": "Track consent status and revocation.",
|
|
42
|
+
"evidence_types": ["consent_log", "consent_revocation_log"],
|
|
43
|
+
"frequency": "monthly",
|
|
44
|
+
"owner": "Privacy Officer",
|
|
45
|
+
"system": "consent_management",
|
|
46
|
+
"collection_method": "manual",
|
|
47
|
+
"status": "gap",
|
|
48
|
+
"priority": "high"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"control_id": "art12",
|
|
52
|
+
"clause": "Art.12",
|
|
53
|
+
"title": "Transparent Information and Communication",
|
|
54
|
+
"requirement": "Provide transparent communications to data subjects.",
|
|
55
|
+
"guidance": "Maintain clear rights and request channels.",
|
|
56
|
+
"evidence_types": ["privacy_notice", "communication_record"],
|
|
57
|
+
"frequency": "quarterly",
|
|
58
|
+
"owner": "Privacy Officer",
|
|
59
|
+
"system": "transparency",
|
|
60
|
+
"collection_method": "manual",
|
|
61
|
+
"status": "gap",
|
|
62
|
+
"priority": "medium"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"control_id": "art13",
|
|
66
|
+
"clause": "Art.13",
|
|
67
|
+
"title": "Information to Be Provided (Direct Collection)",
|
|
68
|
+
"requirement": "Provide required information when collecting data directly.",
|
|
69
|
+
"guidance": "Maintain direct collection notices and acknowledgments.",
|
|
70
|
+
"evidence_types": ["privacy_notice", "notice_acknowledgement"],
|
|
71
|
+
"frequency": "quarterly",
|
|
72
|
+
"owner": "Privacy Officer",
|
|
73
|
+
"system": "transparency",
|
|
74
|
+
"collection_method": "manual",
|
|
75
|
+
"status": "gap",
|
|
76
|
+
"priority": "medium"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"control_id": "art14",
|
|
80
|
+
"clause": "Art.14",
|
|
81
|
+
"title": "Information to Be Provided (Indirect Collection)",
|
|
82
|
+
"requirement": "Provide required information when data is not collected directly.",
|
|
83
|
+
"guidance": "Maintain indirect collection notice process.",
|
|
84
|
+
"evidence_types": ["privacy_notice", "indirect_collection_log"],
|
|
85
|
+
"frequency": "quarterly",
|
|
86
|
+
"owner": "Privacy Officer",
|
|
87
|
+
"system": "transparency",
|
|
88
|
+
"collection_method": "manual",
|
|
89
|
+
"status": "gap",
|
|
90
|
+
"priority": "medium"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"control_id": "art15",
|
|
94
|
+
"clause": "Art.15",
|
|
95
|
+
"title": "Right of Access",
|
|
96
|
+
"requirement": "Respond to access requests within legal timelines.",
|
|
97
|
+
"guidance": "Track request intake and fulfillment.",
|
|
98
|
+
"evidence_types": ["data_subject_request_log"],
|
|
99
|
+
"frequency": "monthly",
|
|
100
|
+
"owner": "Privacy Officer",
|
|
101
|
+
"system": "rights_management",
|
|
102
|
+
"collection_method": "manual",
|
|
103
|
+
"status": "gap",
|
|
104
|
+
"priority": "high"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"control_id": "art16",
|
|
108
|
+
"clause": "Art.16",
|
|
109
|
+
"title": "Right to Rectification",
|
|
110
|
+
"requirement": "Correct inaccurate personal data.",
|
|
111
|
+
"guidance": "Track rectification workflow and completion.",
|
|
112
|
+
"evidence_types": ["rectification_log"],
|
|
113
|
+
"frequency": "monthly",
|
|
114
|
+
"owner": "Privacy Officer",
|
|
115
|
+
"system": "rights_management",
|
|
116
|
+
"collection_method": "manual",
|
|
117
|
+
"status": "gap",
|
|
118
|
+
"priority": "medium"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"control_id": "art17",
|
|
122
|
+
"clause": "Art.17",
|
|
123
|
+
"title": "Right to Erasure",
|
|
124
|
+
"requirement": "Erase data when erasure conditions are met.",
|
|
125
|
+
"guidance": "Track erasure requests and outcomes.",
|
|
126
|
+
"evidence_types": ["erasure_log"],
|
|
127
|
+
"frequency": "monthly",
|
|
128
|
+
"owner": "Privacy Officer",
|
|
129
|
+
"system": "rights_management",
|
|
130
|
+
"collection_method": "manual",
|
|
131
|
+
"status": "gap",
|
|
132
|
+
"priority": "high"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"control_id": "art18",
|
|
136
|
+
"clause": "Art.18",
|
|
137
|
+
"title": "Right to Restriction",
|
|
138
|
+
"requirement": "Restrict processing when requested and applicable.",
|
|
139
|
+
"guidance": "Track restriction states and enforcement.",
|
|
140
|
+
"evidence_types": ["restriction_log"],
|
|
141
|
+
"frequency": "monthly",
|
|
142
|
+
"owner": "Privacy Officer",
|
|
143
|
+
"system": "rights_management",
|
|
144
|
+
"collection_method": "manual",
|
|
145
|
+
"status": "gap",
|
|
146
|
+
"priority": "medium"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"control_id": "art20",
|
|
150
|
+
"clause": "Art.20",
|
|
151
|
+
"title": "Right to Data Portability",
|
|
152
|
+
"requirement": "Provide portable personal data where applicable.",
|
|
153
|
+
"guidance": "Track portability requests and delivery.",
|
|
154
|
+
"evidence_types": ["portability_log"],
|
|
155
|
+
"frequency": "monthly",
|
|
156
|
+
"owner": "Privacy Officer",
|
|
157
|
+
"system": "rights_management",
|
|
158
|
+
"collection_method": "manual",
|
|
159
|
+
"status": "gap",
|
|
160
|
+
"priority": "medium"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"control_id": "art21",
|
|
164
|
+
"clause": "Art.21",
|
|
165
|
+
"title": "Right to Object",
|
|
166
|
+
"requirement": "Honor objections to processing.",
|
|
167
|
+
"guidance": "Track objections and resulting actions.",
|
|
168
|
+
"evidence_types": ["objection_log"],
|
|
169
|
+
"frequency": "monthly",
|
|
170
|
+
"owner": "Privacy Officer",
|
|
171
|
+
"system": "rights_management",
|
|
172
|
+
"collection_method": "manual",
|
|
173
|
+
"status": "gap",
|
|
174
|
+
"priority": "medium"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"control_id": "art22",
|
|
178
|
+
"clause": "Art.22",
|
|
179
|
+
"title": "Automated Decision-Making and Profiling",
|
|
180
|
+
"requirement": "Provide safeguards for automated decisions.",
|
|
181
|
+
"guidance": "Maintain human oversight and challenge workflow.",
|
|
182
|
+
"evidence_types": ["human_oversight_record", "automated_decision_review"],
|
|
183
|
+
"frequency": "monthly",
|
|
184
|
+
"owner": "Responsible AI Lead",
|
|
185
|
+
"system": "automated_decisioning",
|
|
186
|
+
"collection_method": "hybrid",
|
|
187
|
+
"status": "gap",
|
|
188
|
+
"priority": "high"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"control_id": "art25",
|
|
192
|
+
"clause": "Art.25",
|
|
193
|
+
"title": "Data Protection by Design and by Default",
|
|
194
|
+
"requirement": "Implement privacy by design/default safeguards.",
|
|
195
|
+
"guidance": "Document privacy design reviews.",
|
|
196
|
+
"evidence_types": ["privacy_design_review", "data_minimization_review"],
|
|
197
|
+
"frequency": "quarterly",
|
|
198
|
+
"owner": "Privacy Officer",
|
|
199
|
+
"system": "privacy_engineering",
|
|
200
|
+
"collection_method": "manual",
|
|
201
|
+
"status": "gap",
|
|
202
|
+
"priority": "high"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"control_id": "art30",
|
|
206
|
+
"clause": "Art.30",
|
|
207
|
+
"title": "Records of Processing Activities",
|
|
208
|
+
"requirement": "Maintain records of processing activities.",
|
|
209
|
+
"guidance": "Track purposes, categories, recipients, and safeguards.",
|
|
210
|
+
"evidence_types": ["processing_activity_register"],
|
|
211
|
+
"frequency": "quarterly",
|
|
212
|
+
"owner": "Privacy Officer",
|
|
213
|
+
"system": "records_management",
|
|
214
|
+
"collection_method": "manual",
|
|
215
|
+
"status": "gap",
|
|
216
|
+
"priority": "high"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"control_id": "art32",
|
|
220
|
+
"clause": "Art.32",
|
|
221
|
+
"title": "Security of Processing",
|
|
222
|
+
"requirement": "Implement appropriate technical and organizational security.",
|
|
223
|
+
"guidance": "Demonstrate confidentiality, integrity, and resilience controls.",
|
|
224
|
+
"evidence_types": ["security_control_report", "incident_response_record"],
|
|
225
|
+
"frequency": "monthly",
|
|
226
|
+
"owner": "Security Lead",
|
|
227
|
+
"system": "security",
|
|
228
|
+
"collection_method": "hybrid",
|
|
229
|
+
"status": "gap",
|
|
230
|
+
"priority": "critical"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"control_id": "art33",
|
|
234
|
+
"clause": "Art.33",
|
|
235
|
+
"title": "Breach Notification to Supervisory Authority",
|
|
236
|
+
"requirement": "Notify authority within required timeframe for qualifying breaches.",
|
|
237
|
+
"guidance": "Track breach timeline and authority notifications.",
|
|
238
|
+
"evidence_types": ["breach_notification_log"],
|
|
239
|
+
"frequency": "on_incident",
|
|
240
|
+
"owner": "Security Lead",
|
|
241
|
+
"system": "incident_management",
|
|
242
|
+
"collection_method": "manual",
|
|
243
|
+
"status": "gap",
|
|
244
|
+
"priority": "critical"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"control_id": "art35",
|
|
248
|
+
"clause": "Art.35",
|
|
249
|
+
"title": "Data Protection Impact Assessment",
|
|
250
|
+
"requirement": "Perform DPIA for high-risk processing.",
|
|
251
|
+
"guidance": "Maintain DPIA methodology, outcomes, and approvals.",
|
|
252
|
+
"evidence_types": ["dpia_report", "risk_register"],
|
|
253
|
+
"frequency": "per_release",
|
|
254
|
+
"owner": "Responsible AI Lead",
|
|
255
|
+
"system": "risk_management",
|
|
256
|
+
"collection_method": "manual",
|
|
257
|
+
"status": "gap",
|
|
258
|
+
"priority": "high"
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"catalog_id": "soc2_gap_catalog_monora",
|
|
3
|
+
"standard": "SOC2",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"generated_at": "2026-02-16T00:00:00+00:00",
|
|
6
|
+
"notes": "Default SOC 2 Trust Services Criteria control catalog for workflow coverage and gap prioritization.",
|
|
7
|
+
"controls": [
|
|
8
|
+
{
|
|
9
|
+
"control_id": "CC1",
|
|
10
|
+
"clause": "CC",
|
|
11
|
+
"title": "Control Environment",
|
|
12
|
+
"requirement": "Establish integrity and ethical values.",
|
|
13
|
+
"guidance": "Document governance and accountability structure.",
|
|
14
|
+
"evidence_types": ["governance_charter", "policy_document"],
|
|
15
|
+
"frequency": "annual",
|
|
16
|
+
"owner": "Compliance Lead",
|
|
17
|
+
"system": "governance",
|
|
18
|
+
"collection_method": "manual",
|
|
19
|
+
"status": "gap",
|
|
20
|
+
"priority": "high"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"control_id": "CC2",
|
|
24
|
+
"clause": "CC",
|
|
25
|
+
"title": "Communication and Information",
|
|
26
|
+
"requirement": "Maintain internal/external communication for controls.",
|
|
27
|
+
"guidance": "Document control communication channels.",
|
|
28
|
+
"evidence_types": ["communication_plan", "review_minutes"],
|
|
29
|
+
"frequency": "quarterly",
|
|
30
|
+
"owner": "Compliance Lead",
|
|
31
|
+
"system": "governance",
|
|
32
|
+
"collection_method": "manual",
|
|
33
|
+
"status": "gap",
|
|
34
|
+
"priority": "medium"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"control_id": "CC3",
|
|
38
|
+
"clause": "CC",
|
|
39
|
+
"title": "Risk Assessment",
|
|
40
|
+
"requirement": "Identify and analyze risks.",
|
|
41
|
+
"guidance": "Maintain risk register and periodic reviews.",
|
|
42
|
+
"evidence_types": ["risk_register", "risk_review_minutes"],
|
|
43
|
+
"frequency": "quarterly",
|
|
44
|
+
"owner": "Risk Lead",
|
|
45
|
+
"system": "risk_management",
|
|
46
|
+
"collection_method": "hybrid",
|
|
47
|
+
"status": "gap",
|
|
48
|
+
"priority": "high"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"control_id": "CC4",
|
|
52
|
+
"clause": "CC",
|
|
53
|
+
"title": "Monitoring Activities",
|
|
54
|
+
"requirement": "Monitor controls and remediate deficiencies.",
|
|
55
|
+
"guidance": "Track monitoring outcomes and corrective actions.",
|
|
56
|
+
"evidence_types": ["monitoring_report", "corrective_action_log"],
|
|
57
|
+
"frequency": "monthly",
|
|
58
|
+
"owner": "Internal Audit Lead",
|
|
59
|
+
"system": "monitoring",
|
|
60
|
+
"collection_method": "hybrid",
|
|
61
|
+
"status": "gap",
|
|
62
|
+
"priority": "high"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"control_id": "CC5",
|
|
66
|
+
"clause": "CC",
|
|
67
|
+
"title": "Control Activities",
|
|
68
|
+
"requirement": "Implement and enforce control procedures.",
|
|
69
|
+
"guidance": "Enforce policies and document exceptions.",
|
|
70
|
+
"evidence_types": ["policy_configuration", "exception_log"],
|
|
71
|
+
"frequency": "monthly",
|
|
72
|
+
"owner": "Security Lead",
|
|
73
|
+
"system": "policy_enforcement",
|
|
74
|
+
"collection_method": "hybrid",
|
|
75
|
+
"status": "gap",
|
|
76
|
+
"priority": "high"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"control_id": "CC6",
|
|
80
|
+
"clause": "CC",
|
|
81
|
+
"title": "Logical and Physical Access Controls",
|
|
82
|
+
"requirement": "Restrict system access to authorized users.",
|
|
83
|
+
"guidance": "Track identity controls and least-privilege access.",
|
|
84
|
+
"evidence_types": ["identity_and_mfa_report", "access_review"],
|
|
85
|
+
"frequency": "monthly",
|
|
86
|
+
"owner": "Security Lead",
|
|
87
|
+
"system": "access_control",
|
|
88
|
+
"collection_method": "hybrid",
|
|
89
|
+
"status": "gap",
|
|
90
|
+
"priority": "critical"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"control_id": "CC7",
|
|
94
|
+
"clause": "CC",
|
|
95
|
+
"title": "System Operations",
|
|
96
|
+
"requirement": "Detect and respond to operational anomalies.",
|
|
97
|
+
"guidance": "Track runtime integrity and incident response.",
|
|
98
|
+
"evidence_types": ["runtime_observability_report", "incident_response_record"],
|
|
99
|
+
"frequency": "monthly",
|
|
100
|
+
"owner": "Operations Lead",
|
|
101
|
+
"system": "operations",
|
|
102
|
+
"collection_method": "hybrid",
|
|
103
|
+
"status": "gap",
|
|
104
|
+
"priority": "high"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"control_id": "CC8",
|
|
108
|
+
"clause": "CC",
|
|
109
|
+
"title": "Change Management",
|
|
110
|
+
"requirement": "Manage changes through controlled workflow.",
|
|
111
|
+
"guidance": "Document approvals and deployment controls.",
|
|
112
|
+
"evidence_types": ["change_approval_record", "deployment_approval_records"],
|
|
113
|
+
"frequency": "monthly",
|
|
114
|
+
"owner": "Engineering Lead",
|
|
115
|
+
"system": "change_management",
|
|
116
|
+
"collection_method": "manual",
|
|
117
|
+
"status": "gap",
|
|
118
|
+
"priority": "medium"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"control_id": "CC9",
|
|
122
|
+
"clause": "CC",
|
|
123
|
+
"title": "Risk Mitigation",
|
|
124
|
+
"requirement": "Mitigate identified risks with documented actions.",
|
|
125
|
+
"guidance": "Track mitigation plans and completion.",
|
|
126
|
+
"evidence_types": ["risk_register", "mitigation_plan"],
|
|
127
|
+
"frequency": "quarterly",
|
|
128
|
+
"owner": "Risk Lead",
|
|
129
|
+
"system": "risk_management",
|
|
130
|
+
"collection_method": "hybrid",
|
|
131
|
+
"status": "gap",
|
|
132
|
+
"priority": "high"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"control_id": "P_SERIES",
|
|
136
|
+
"clause": "P",
|
|
137
|
+
"title": "Privacy",
|
|
138
|
+
"requirement": "Operate in accordance with privacy commitments.",
|
|
139
|
+
"guidance": "Document notices, consent, and subject rights handling.",
|
|
140
|
+
"evidence_types": ["privacy_notice", "data_subject_request_log"],
|
|
141
|
+
"frequency": "quarterly",
|
|
142
|
+
"owner": "Privacy Officer",
|
|
143
|
+
"system": "privacy_program",
|
|
144
|
+
"collection_method": "manual",
|
|
145
|
+
"status": "gap",
|
|
146
|
+
"priority": "high"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"control_id": "PI_SERIES",
|
|
150
|
+
"clause": "PI",
|
|
151
|
+
"title": "Processing Integrity",
|
|
152
|
+
"requirement": "Ensure complete, valid, and accurate processing.",
|
|
153
|
+
"guidance": "Track processing controls and integrity validation.",
|
|
154
|
+
"evidence_types": ["processing_integrity_report", "integrity_validation_log"],
|
|
155
|
+
"frequency": "monthly",
|
|
156
|
+
"owner": "Operations Lead",
|
|
157
|
+
"system": "processing_integrity",
|
|
158
|
+
"collection_method": "hybrid",
|
|
159
|
+
"status": "gap",
|
|
160
|
+
"priority": "high"
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"report": {
|
|
3
|
+
"standard": "ISO42001",
|
|
4
|
+
"title": "ISO/IEC 42001 AIMS Claims Report",
|
|
5
|
+
"version": "2026-01",
|
|
6
|
+
"source": "Customer-provided report"
|
|
7
|
+
},
|
|
8
|
+
"excerpts": [],
|
|
9
|
+
"claims": [
|
|
10
|
+
{
|
|
11
|
+
"id": "ISO42001-A5",
|
|
12
|
+
"standard": "ISO42001",
|
|
13
|
+
"section": "A.5",
|
|
14
|
+
"statement": "AI risk and impact assessment workflows are enabled.",
|
|
15
|
+
"requires_excerpts": true,
|
|
16
|
+
"evidence_excerpts": [],
|
|
17
|
+
"checks": [
|
|
18
|
+
{ "type": "config_required", "path": "risk_register.enabled", "equals": true },
|
|
19
|
+
{ "type": "config_required", "path": "bias.enabled", "equals": true }
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "ISO42001-A6",
|
|
24
|
+
"standard": "ISO42001",
|
|
25
|
+
"section": "A.6",
|
|
26
|
+
"statement": "Lifecycle and operational controls are tracked with immutable evidence.",
|
|
27
|
+
"requires_excerpts": true,
|
|
28
|
+
"evidence_excerpts": [],
|
|
29
|
+
"checks": [
|
|
30
|
+
{ "type": "config_required", "path": "lifecycle.enabled", "equals": true },
|
|
31
|
+
{ "type": "hash_chain_status", "status": "verified" },
|
|
32
|
+
{ "type": "sequence_gaps_max", "max": 0 }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "ISO42001-A7",
|
|
37
|
+
"standard": "ISO42001",
|
|
38
|
+
"section": "A.7",
|
|
39
|
+
"statement": "Data governance controls are enabled for AI system data.",
|
|
40
|
+
"requires_excerpts": true,
|
|
41
|
+
"evidence_excerpts": [],
|
|
42
|
+
"checks": [
|
|
43
|
+
{ "type": "config_required", "path": "data_governance.enabled", "equals": true },
|
|
44
|
+
{ "type": "config_required", "path": "data_handling.enabled", "equals": true }
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "ISO42001-A8",
|
|
49
|
+
"standard": "ISO42001",
|
|
50
|
+
"section": "A.8",
|
|
51
|
+
"statement": "Human oversight and policy governance are documented.",
|
|
52
|
+
"requires_excerpts": true,
|
|
53
|
+
"evidence_excerpts": [],
|
|
54
|
+
"checks": [
|
|
55
|
+
{ "type": "config_required", "path": "human_oversight.enabled", "equals": true },
|
|
56
|
+
{ "type": "config_required", "path": "policies.enforce", "equals": true }
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "ISO42001-AIMS-INTEGRITY",
|
|
61
|
+
"standard": "ISO42001",
|
|
62
|
+
"section": "Clause 9/10",
|
|
63
|
+
"statement": "Governance evidence supports verifiable integrity for audit reporting.",
|
|
64
|
+
"requires_excerpts": true,
|
|
65
|
+
"evidence_excerpts": [],
|
|
66
|
+
"checks": [
|
|
67
|
+
{ "type": "signatures_status", "status": "verified" },
|
|
68
|
+
{ "type": "errors_max", "max": 0 }
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
package/dist/trust_package.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export interface TrustPackageBuildOptions {
|
|
|
28
28
|
evidenceManifestIncludeAimsState?: boolean;
|
|
29
29
|
controlCatalog?: Record<string, any>;
|
|
30
30
|
controlCatalogPath?: string;
|
|
31
|
+
controlCatalogStandard?: string;
|
|
31
32
|
controlWorkflowState?: Record<string, any>;
|
|
32
33
|
controlWorkflowStatePath?: string;
|
|
33
34
|
controlCoverageTarget?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust_package.d.ts","sourceRoot":"","sources":["../src/trust_package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,YAAY,
|
|
1
|
+
{"version":3,"file":"trust_package.d.ts","sourceRoot":"","sources":["../src/trust_package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,YAAY,CA4Fd;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,YAAY,CAQd;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAOtF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAS5B"}
|
package/dist/trust_package.js
CHANGED
|
@@ -103,7 +103,7 @@ function buildTrustPackage(traceId, events, config, options) {
|
|
|
103
103
|
}
|
|
104
104
|
if (!catalog) {
|
|
105
105
|
try {
|
|
106
|
-
catalog = (0, control_backbone_1.
|
|
106
|
+
catalog = (0, control_backbone_1.loadDefaultControlCatalog)(options?.controlCatalogStandard || 'ISO42001');
|
|
107
107
|
}
|
|
108
108
|
catch (_err) {
|
|
109
109
|
catalog = null;
|
|
@@ -118,6 +118,7 @@ function buildTrustPackage(traceId, events, config, options) {
|
|
|
118
118
|
targetCoverage: typeof options?.controlCoverageTarget === 'number'
|
|
119
119
|
? options.controlCoverageTarget
|
|
120
120
|
: 0.9,
|
|
121
|
+
standard: options?.controlCatalogStandard,
|
|
121
122
|
});
|
|
122
123
|
trustPackage.control_coverage = coverage;
|
|
123
124
|
if (options?.controlCoveragePath) {
|