@nice2dev/ui-tools 1.0.10

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 (158) hide show
  1. package/README.md +36 -0
  2. package/dist/access-control.d.ts +726 -0
  3. package/dist/access-control.d.ts.map +1 -0
  4. package/dist/accessibility-i18n.d.ts +1017 -0
  5. package/dist/accessibility-i18n.d.ts.map +1 -0
  6. package/dist/ai-assistant.d.ts +263 -0
  7. package/dist/ai-assistant.d.ts.map +1 -0
  8. package/dist/ai-playgrounds.d.ts +842 -0
  9. package/dist/ai-playgrounds.d.ts.map +1 -0
  10. package/dist/alerting-incidents.d.ts +558 -0
  11. package/dist/alerting-incidents.d.ts.map +1 -0
  12. package/dist/api-designer.d.ts +1568 -0
  13. package/dist/api-designer.d.ts.map +1 -0
  14. package/dist/api-testing.d.ts +1146 -0
  15. package/dist/api-testing.d.ts.map +1 -0
  16. package/dist/apm-profiling.d.ts +656 -0
  17. package/dist/apm-profiling.d.ts.map +1 -0
  18. package/dist/artifacts.d.ts +421 -0
  19. package/dist/artifacts.d.ts.map +1 -0
  20. package/dist/audit-compliance.d.ts +752 -0
  21. package/dist/audit-compliance.d.ts.map +1 -0
  22. package/dist/certificates.d.ts +256 -0
  23. package/dist/certificates.d.ts.map +1 -0
  24. package/dist/chart-builder.d.ts +1404 -0
  25. package/dist/chart-builder.d.ts.map +1 -0
  26. package/dist/cloud-instances.d.ts +169 -0
  27. package/dist/cloud-instances.d.ts.map +1 -0
  28. package/dist/config-management.d.ts +350 -0
  29. package/dist/config-management.d.ts.map +1 -0
  30. package/dist/containers.d.ts +256 -0
  31. package/dist/containers.d.ts.map +1 -0
  32. package/dist/dashboard-designer.d.ts +1238 -0
  33. package/dist/dashboard-designer.d.ts.map +1 -0
  34. package/dist/data-management.d.ts +496 -0
  35. package/dist/data-management.d.ts.map +1 -0
  36. package/dist/data-pipeline.d.ts +1105 -0
  37. package/dist/data-pipeline.d.ts.map +1 -0
  38. package/dist/data-warehouse.d.ts +1097 -0
  39. package/dist/data-warehouse.d.ts.map +1 -0
  40. package/dist/dataset-management.d.ts +782 -0
  41. package/dist/dataset-management.d.ts.map +1 -0
  42. package/dist/db-adapters.d.ts +704 -0
  43. package/dist/db-adapters.d.ts.map +1 -0
  44. package/dist/db-admin.d.ts +699 -0
  45. package/dist/db-admin.d.ts.map +1 -0
  46. package/dist/db-designer.d.ts +366 -0
  47. package/dist/db-designer.d.ts.map +1 -0
  48. package/dist/debugger.d.ts +356 -0
  49. package/dist/debugger.d.ts.map +1 -0
  50. package/dist/device-management.d.ts +871 -0
  51. package/dist/device-management.d.ts.map +1 -0
  52. package/dist/distributed-tracing.d.ts +427 -0
  53. package/dist/distributed-tracing.d.ts.map +1 -0
  54. package/dist/dns-management.d.ts +215 -0
  55. package/dist/dns-management.d.ts.map +1 -0
  56. package/dist/download-manager.d.ts +271 -0
  57. package/dist/download-manager.d.ts.map +1 -0
  58. package/dist/download-torrent.d.ts +1062 -0
  59. package/dist/download-torrent.d.ts.map +1 -0
  60. package/dist/edge-computing.d.ts +720 -0
  61. package/dist/edge-computing.d.ts.map +1 -0
  62. package/dist/education.d.ts +1135 -0
  63. package/dist/education.d.ts.map +1 -0
  64. package/dist/email-template.d.ts +1141 -0
  65. package/dist/email-template.d.ts.map +1 -0
  66. package/dist/erp-enterprise.d.ts +1270 -0
  67. package/dist/erp-enterprise.d.ts.map +1 -0
  68. package/dist/form-builder.d.ts +1117 -0
  69. package/dist/form-builder.d.ts.map +1 -0
  70. package/dist/game-engine-advanced.d.ts +1049 -0
  71. package/dist/game-engine-advanced.d.ts.map +1 -0
  72. package/dist/git.d.ts +415 -0
  73. package/dist/git.d.ts.map +1 -0
  74. package/dist/hardware-integration.d.ts +966 -0
  75. package/dist/hardware-integration.d.ts.map +1 -0
  76. package/dist/iac.d.ts +318 -0
  77. package/dist/iac.d.ts.map +1 -0
  78. package/dist/icon-tools.d.ts +1023 -0
  79. package/dist/icon-tools.d.ts.map +1 -0
  80. package/dist/ide.d.ts +322 -0
  81. package/dist/ide.d.ts.map +1 -0
  82. package/dist/index.cjs +2 -0
  83. package/dist/index.cjs.map +1 -0
  84. package/dist/index.d.ts +176 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.mjs +1887 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/integration-platform.d.ts +857 -0
  89. package/dist/integration-platform.d.ts.map +1 -0
  90. package/dist/kubernetes.d.ts +278 -0
  91. package/dist/kubernetes.d.ts.map +1 -0
  92. package/dist/life-management.d.ts +1132 -0
  93. package/dist/life-management.d.ts.map +1 -0
  94. package/dist/log-management.d.ts +473 -0
  95. package/dist/log-management.d.ts.map +1 -0
  96. package/dist/mathematics.d.ts +870 -0
  97. package/dist/mathematics.d.ts.map +1 -0
  98. package/dist/message-queue.d.ts +1006 -0
  99. package/dist/message-queue.d.ts.map +1 -0
  100. package/dist/metrics-dashboard.d.ts +596 -0
  101. package/dist/metrics-dashboard.d.ts.map +1 -0
  102. package/dist/mobile-components.d.ts +766 -0
  103. package/dist/mobile-components.d.ts.map +1 -0
  104. package/dist/model-deployment.d.ts +787 -0
  105. package/dist/model-deployment.d.ts.map +1 -0
  106. package/dist/model-registry.d.ts +740 -0
  107. package/dist/model-registry.d.ts.map +1 -0
  108. package/dist/model-training.d.ts +706 -0
  109. package/dist/model-training.d.ts.map +1 -0
  110. package/dist/network-config.d.ts +334 -0
  111. package/dist/network-config.d.ts.map +1 -0
  112. package/dist/network-monitoring.d.ts +291 -0
  113. package/dist/network-monitoring.d.ts.map +1 -0
  114. package/dist/pdf-tools.d.ts +1003 -0
  115. package/dist/pdf-tools.d.ts.map +1 -0
  116. package/dist/pipelines.d.ts +250 -0
  117. package/dist/pipelines.d.ts.map +1 -0
  118. package/dist/remote-desktop.d.ts +207 -0
  119. package/dist/remote-desktop.d.ts.map +1 -0
  120. package/dist/report-designer.d.ts +1153 -0
  121. package/dist/report-designer.d.ts.map +1 -0
  122. package/dist/scada-industrial.d.ts +848 -0
  123. package/dist/scada-industrial.d.ts.map +1 -0
  124. package/dist/scientific-research.d.ts +1149 -0
  125. package/dist/scientific-research.d.ts.map +1 -0
  126. package/dist/secret-management.d.ts +617 -0
  127. package/dist/secret-management.d.ts.map +1 -0
  128. package/dist/security-scanning.d.ts +714 -0
  129. package/dist/security-scanning.d.ts.map +1 -0
  130. package/dist/self-service-analytics.d.ts +1208 -0
  131. package/dist/self-service-analytics.d.ts.map +1 -0
  132. package/dist/sensor-dashboard.d.ts +845 -0
  133. package/dist/sensor-dashboard.d.ts.map +1 -0
  134. package/dist/server-management.d.ts +331 -0
  135. package/dist/server-management.d.ts.map +1 -0
  136. package/dist/smart-home.d.ts +861 -0
  137. package/dist/smart-home.d.ts.map +1 -0
  138. package/dist/spreadsheet.d.ts +1043 -0
  139. package/dist/spreadsheet.d.ts.map +1 -0
  140. package/dist/sql-editor.d.ts +402 -0
  141. package/dist/sql-editor.d.ts.map +1 -0
  142. package/dist/terminal.d.ts +245 -0
  143. package/dist/terminal.d.ts.map +1 -0
  144. package/dist/testing-qa.d.ts +1013 -0
  145. package/dist/testing-qa.d.ts.map +1 -0
  146. package/dist/torrent-client.d.ts +298 -0
  147. package/dist/torrent-client.d.ts.map +1 -0
  148. package/dist/traceless.d.ts +759 -0
  149. package/dist/traceless.d.ts.map +1 -0
  150. package/dist/virtual-machines.d.ts +199 -0
  151. package/dist/virtual-machines.d.ts.map +1 -0
  152. package/dist/visual-scripting.d.ts +381 -0
  153. package/dist/visual-scripting.d.ts.map +1 -0
  154. package/dist/word-processor.d.ts +1124 -0
  155. package/dist/word-processor.d.ts.map +1 -0
  156. package/dist/workspace.d.ts +333 -0
  157. package/dist/workspace.d.ts.map +1 -0
  158. package/package.json +62 -0
@@ -0,0 +1,752 @@
1
+ /**
2
+ * @file audit-compliance.ts
3
+ * @module @nice2dev/ui-tools/audit-compliance
4
+ * @description PRO-12.4 — Audit & Compliance types
5
+ *
6
+ * Comprehensive audit trail, compliance dashboards,
7
+ * SOC 2, GDPR, HIPAA, PCI DSS, ISO 27001 controls,
8
+ * evidence collection, policy management.
9
+ */
10
+ /** Audit event */
11
+ export interface AuditEvent {
12
+ readonly id: string;
13
+ readonly timestamp: Date;
14
+ readonly eventType: AuditEventType;
15
+ readonly category: AuditCategory;
16
+ readonly action: string;
17
+ readonly outcome: AuditOutcome;
18
+ readonly actor: AuditActor;
19
+ readonly target?: AuditTarget;
20
+ readonly request?: AuditRequest;
21
+ readonly response?: AuditResponse;
22
+ readonly context: AuditContext;
23
+ readonly changes?: readonly AuditChange[];
24
+ readonly risk: AuditRiskLevel;
25
+ readonly tags: readonly string[];
26
+ readonly correlationId?: string;
27
+ readonly sessionId?: string;
28
+ }
29
+ /** Audit event type */
30
+ export type AuditEventType = 'authentication' | 'authorization' | 'data_access' | 'data_modification' | 'data_deletion' | 'configuration_change' | 'security_event' | 'admin_action' | 'system_event' | 'api_call' | 'export' | 'import';
31
+ /** Audit category */
32
+ export type AuditCategory = 'authentication' | 'authorization' | 'user_management' | 'role_management' | 'data_access' | 'configuration' | 'security' | 'system' | 'integration' | 'compliance';
33
+ /** Audit outcome */
34
+ export type AuditOutcome = 'success' | 'failure' | 'partial' | 'unknown';
35
+ /** Audit actor */
36
+ export interface AuditActor {
37
+ readonly type: ActorType;
38
+ readonly id: string;
39
+ readonly name?: string;
40
+ readonly email?: string;
41
+ readonly ipAddress?: string;
42
+ readonly userAgent?: string;
43
+ readonly sessionId?: string;
44
+ readonly roles?: readonly string[];
45
+ readonly onBehalfOf?: AuditActor;
46
+ }
47
+ /** Actor type */
48
+ export type ActorType = 'user' | 'service' | 'system' | 'anonymous' | 'api_key';
49
+ /** Audit target */
50
+ export interface AuditTarget {
51
+ readonly type: string;
52
+ readonly id: string;
53
+ readonly name?: string;
54
+ readonly path?: string;
55
+ readonly attributes?: Record<string, unknown>;
56
+ }
57
+ /** Audit request */
58
+ export interface AuditRequest {
59
+ readonly method?: string;
60
+ readonly path?: string;
61
+ readonly query?: Record<string, string>;
62
+ readonly headers?: Record<string, string>;
63
+ readonly body?: unknown;
64
+ readonly size?: number;
65
+ }
66
+ /** Audit response */
67
+ export interface AuditResponse {
68
+ readonly statusCode?: number;
69
+ readonly body?: unknown;
70
+ readonly size?: number;
71
+ readonly duration?: number;
72
+ readonly error?: string;
73
+ }
74
+ /** Audit context */
75
+ export interface AuditContext {
76
+ readonly location?: GeoContext;
77
+ readonly device?: DeviceContext;
78
+ readonly application?: ApplicationContext;
79
+ readonly tenant?: TenantContext;
80
+ readonly custom: Record<string, unknown>;
81
+ }
82
+ /** Geo context */
83
+ export interface GeoContext {
84
+ readonly country?: string;
85
+ readonly region?: string;
86
+ readonly city?: string;
87
+ readonly latitude?: number;
88
+ readonly longitude?: number;
89
+ }
90
+ /** Device context */
91
+ export interface DeviceContext {
92
+ readonly type?: string;
93
+ readonly os?: string;
94
+ readonly browser?: string;
95
+ readonly deviceId?: string;
96
+ }
97
+ /** Application context */
98
+ export interface ApplicationContext {
99
+ readonly name: string;
100
+ readonly version?: string;
101
+ readonly environment?: string;
102
+ }
103
+ /** Tenant context */
104
+ export interface TenantContext {
105
+ readonly id: string;
106
+ readonly name?: string;
107
+ }
108
+ /** Audit change */
109
+ export interface AuditChange {
110
+ readonly field: string;
111
+ readonly oldValue?: unknown;
112
+ readonly newValue?: unknown;
113
+ readonly type: ChangeType;
114
+ }
115
+ /** Change type */
116
+ export type ChangeType = 'created' | 'updated' | 'deleted' | 'added' | 'removed';
117
+ /** Audit risk level */
118
+ export type AuditRiskLevel = 'critical' | 'high' | 'medium' | 'low' | 'info';
119
+ /** Audit search query */
120
+ export interface AuditSearchQuery {
121
+ readonly startTime: Date;
122
+ readonly endTime: Date;
123
+ readonly eventTypes?: readonly AuditEventType[];
124
+ readonly categories?: readonly AuditCategory[];
125
+ readonly outcomes?: readonly AuditOutcome[];
126
+ readonly actors?: readonly string[];
127
+ readonly actorTypes?: readonly ActorType[];
128
+ readonly targetTypes?: readonly string[];
129
+ readonly targetIds?: readonly string[];
130
+ readonly actions?: readonly string[];
131
+ readonly ipAddresses?: readonly string[];
132
+ readonly riskLevels?: readonly AuditRiskLevel[];
133
+ readonly tags?: readonly string[];
134
+ readonly correlationId?: string;
135
+ readonly sessionId?: string;
136
+ readonly searchText?: string;
137
+ readonly sortBy?: AuditSortField;
138
+ readonly sortOrder?: 'asc' | 'desc';
139
+ readonly page: number;
140
+ readonly pageSize: number;
141
+ }
142
+ /** Audit sort field */
143
+ export type AuditSortField = 'timestamp' | 'eventType' | 'actor' | 'action' | 'outcome' | 'risk';
144
+ /** Audit search result */
145
+ export interface AuditSearchResult {
146
+ readonly events: readonly AuditEvent[];
147
+ readonly total: number;
148
+ readonly page: number;
149
+ readonly pageSize: number;
150
+ readonly hasMore: boolean;
151
+ readonly aggregations?: AuditAggregations;
152
+ }
153
+ /** Audit aggregations */
154
+ export interface AuditAggregations {
155
+ readonly byEventType: Record<AuditEventType, number>;
156
+ readonly byCategory: Record<AuditCategory, number>;
157
+ readonly byOutcome: Record<AuditOutcome, number>;
158
+ readonly byRisk: Record<AuditRiskLevel, number>;
159
+ readonly byActor: readonly ActorCount[];
160
+ readonly byTime: readonly TimeCount[];
161
+ }
162
+ /** Actor count */
163
+ export interface ActorCount {
164
+ readonly actorId: string;
165
+ readonly actorName?: string;
166
+ readonly count: number;
167
+ }
168
+ /** Time count */
169
+ export interface TimeCount {
170
+ readonly timestamp: Date;
171
+ readonly count: number;
172
+ }
173
+ /** Audit export config */
174
+ export interface AuditExportConfig {
175
+ readonly query: AuditSearchQuery;
176
+ readonly format: ExportFormat;
177
+ readonly fields: readonly string[];
178
+ readonly includeDetails: boolean;
179
+ readonly encryption?: ExportEncryption;
180
+ }
181
+ /** Export format */
182
+ export type ExportFormat = 'json' | 'csv' | 'xml' | 'pdf';
183
+ /** Export encryption */
184
+ export interface ExportEncryption {
185
+ readonly enabled: boolean;
186
+ readonly algorithm: string;
187
+ readonly publicKey?: string;
188
+ readonly password?: string;
189
+ }
190
+ /** Audit export result */
191
+ export interface AuditExportResult {
192
+ readonly id: string;
193
+ readonly status: ExportStatus;
194
+ readonly createdAt: Date;
195
+ readonly completedAt?: Date;
196
+ readonly totalRecords: number;
197
+ readonly exportedRecords: number;
198
+ readonly fileSize?: number;
199
+ readonly downloadUrl?: string;
200
+ readonly expiresAt?: Date;
201
+ readonly error?: string;
202
+ }
203
+ /** Export status */
204
+ export type ExportStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'expired';
205
+ /** Compliance dashboard */
206
+ export interface ComplianceDashboard {
207
+ readonly overallScore: number;
208
+ readonly frameworks: readonly FrameworkStatus[];
209
+ readonly recentAssessments: readonly AssessmentSummary[];
210
+ readonly upcomingReviews: readonly UpcomingReview[];
211
+ readonly openFindings: FindingsSummary;
212
+ readonly trends: ComplianceTrends;
213
+ }
214
+ /** Framework status */
215
+ export interface FrameworkStatus {
216
+ readonly framework: ComplianceFrameworkType;
217
+ readonly name: string;
218
+ readonly version?: string;
219
+ readonly score: number;
220
+ readonly status: ComplianceStatus;
221
+ readonly controlsPassed: number;
222
+ readonly controlsFailed: number;
223
+ readonly controlsTotal: number;
224
+ readonly lastAssessment?: Date;
225
+ readonly nextAssessment?: Date;
226
+ readonly certificationExpiry?: Date;
227
+ }
228
+ /** Compliance framework type */
229
+ export type ComplianceFrameworkType = 'soc2_type1' | 'soc2_type2' | 'pci_dss_4' | 'hipaa' | 'gdpr' | 'iso27001' | 'nist_csf' | 'nist_800_53' | 'fedramp' | 'cis_controls' | 'ccpa' | 'sox' | 'custom';
230
+ /** Compliance status */
231
+ export type ComplianceStatus = 'compliant' | 'non_compliant' | 'partially_compliant' | 'not_assessed' | 'not_applicable';
232
+ /** Assessment summary */
233
+ export interface AssessmentSummary {
234
+ readonly id: string;
235
+ readonly framework: ComplianceFrameworkType;
236
+ readonly assessmentDate: Date;
237
+ readonly assessor: string;
238
+ readonly score: number;
239
+ readonly findings: number;
240
+ readonly status: AssessmentStatus;
241
+ }
242
+ /** Assessment status */
243
+ export type AssessmentStatus = 'draft' | 'in_progress' | 'review' | 'completed' | 'archived';
244
+ /** Upcoming review */
245
+ export interface UpcomingReview {
246
+ readonly id: string;
247
+ readonly framework: ComplianceFrameworkType;
248
+ readonly dueDate: Date;
249
+ readonly type: ReviewType;
250
+ readonly assignee?: string;
251
+ }
252
+ /** Review type */
253
+ export type ReviewType = 'self_assessment' | 'internal_audit' | 'external_audit' | 'certification';
254
+ /** Findings summary */
255
+ export interface FindingsSummary {
256
+ readonly total: number;
257
+ readonly critical: number;
258
+ readonly high: number;
259
+ readonly medium: number;
260
+ readonly low: number;
261
+ readonly overdue: number;
262
+ }
263
+ /** Compliance trends */
264
+ export interface ComplianceTrends {
265
+ readonly scoreHistory: readonly ScorePoint[];
266
+ readonly findingsTrend: readonly FindingsPoint[];
267
+ }
268
+ /** Score point */
269
+ export interface ScorePoint {
270
+ readonly date: Date;
271
+ readonly score: number;
272
+ readonly framework?: ComplianceFrameworkType;
273
+ }
274
+ /** Findings point */
275
+ export interface FindingsPoint {
276
+ readonly date: Date;
277
+ readonly open: number;
278
+ readonly closed: number;
279
+ readonly new: number;
280
+ }
281
+ /** Compliance control */
282
+ export interface ComplianceControl {
283
+ readonly id: string;
284
+ readonly framework: ComplianceFrameworkType;
285
+ readonly controlId: string;
286
+ readonly name: string;
287
+ readonly description: string;
288
+ readonly category: string;
289
+ readonly subcategory?: string;
290
+ readonly requirement: string;
291
+ readonly guidance?: string;
292
+ readonly status: ControlStatus;
293
+ readonly implementation: ControlImplementation;
294
+ readonly evidence: readonly EvidenceRef[];
295
+ readonly testingResults: readonly TestResult[];
296
+ readonly owner?: string;
297
+ readonly lastReviewed?: Date;
298
+ readonly nextReview?: Date;
299
+ readonly relatedControls: readonly string[];
300
+ readonly mappings: readonly ControlMapping[];
301
+ }
302
+ /** Control status */
303
+ export type ControlStatus = 'implemented' | 'partially_implemented' | 'not_implemented' | 'not_applicable' | 'planned';
304
+ /** Control implementation */
305
+ export interface ControlImplementation {
306
+ readonly type: ImplementationType;
307
+ readonly description: string;
308
+ readonly automated: boolean;
309
+ readonly tools?: readonly string[];
310
+ readonly procedures?: readonly string[];
311
+ readonly frequency?: ControlFrequency;
312
+ }
313
+ /** Implementation type */
314
+ export type ImplementationType = 'technical' | 'administrative' | 'physical' | 'hybrid';
315
+ /** Control frequency */
316
+ export type ControlFrequency = 'continuous' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'annually' | 'on_demand';
317
+ /** Evidence ref */
318
+ export interface EvidenceRef {
319
+ readonly id: string;
320
+ readonly type: EvidenceType;
321
+ readonly name: string;
322
+ readonly description?: string;
323
+ readonly collectedAt: Date;
324
+ }
325
+ /** Evidence type */
326
+ export type EvidenceType = 'screenshot' | 'document' | 'configuration' | 'report' | 'log' | 'ticket' | 'attestation' | 'policy' | 'procedure';
327
+ /** Test result */
328
+ export interface TestResult {
329
+ readonly id: string;
330
+ readonly testDate: Date;
331
+ readonly tester: string;
332
+ readonly result: TestOutcome;
333
+ readonly notes?: string;
334
+ readonly evidenceIds: readonly string[];
335
+ readonly findings: readonly ControlFinding[];
336
+ }
337
+ /** Test outcome */
338
+ export type TestOutcome = 'pass' | 'fail' | 'partial' | 'not_tested';
339
+ /** Control finding */
340
+ export interface ControlFinding {
341
+ readonly id: string;
342
+ readonly severity: FindingSeverity;
343
+ readonly description: string;
344
+ readonly recommendation: string;
345
+ readonly status: FindingStatus;
346
+ readonly dueDate?: Date;
347
+ readonly remediatedAt?: Date;
348
+ }
349
+ /** Finding severity */
350
+ export type FindingSeverity = 'critical' | 'high' | 'medium' | 'low' | 'informational';
351
+ /** Finding status */
352
+ export type FindingStatus = 'open' | 'in_progress' | 'remediated' | 'accepted' | 'closed';
353
+ /** Control mapping */
354
+ export interface ControlMapping {
355
+ readonly targetFramework: ComplianceFrameworkType;
356
+ readonly controlId: string;
357
+ readonly mappingType: MappingType;
358
+ }
359
+ /** Mapping type */
360
+ export type MappingType = 'equivalent' | 'subset' | 'superset' | 'related';
361
+ /** SOC 2 control */
362
+ export interface Soc2Control extends ComplianceControl {
363
+ readonly trustServiceCriteria: Soc2TrustServiceCriteria;
364
+ readonly pointsOfFocus: readonly string[];
365
+ }
366
+ /** SOC 2 Trust Service Criteria */
367
+ export type Soc2TrustServiceCriteria = 'CC' | 'A' | 'C' | 'PI' | 'P';
368
+ /** GDPR control */
369
+ export interface GdprControl extends ComplianceControl {
370
+ readonly article: string;
371
+ readonly dataSubjectRights: readonly GdprRight[];
372
+ readonly lawfulBasis: readonly GdprLawfulBasis[];
373
+ }
374
+ /** GDPR right */
375
+ export type GdprRight = 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection' | 'automated_decision';
376
+ /** GDPR lawful basis */
377
+ export type GdprLawfulBasis = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_task' | 'legitimate_interests';
378
+ /** HIPAA control */
379
+ export interface HipaaControl extends ComplianceControl {
380
+ readonly standard: HipaaStandard;
381
+ readonly safeguardType: HipaaSafeguardType;
382
+ readonly specification: HipaaSpecification;
383
+ }
384
+ /** HIPAA standard */
385
+ export type HipaaStandard = 'privacy_rule' | 'security_rule' | 'breach_notification';
386
+ /** HIPAA safeguard type */
387
+ export type HipaaSafeguardType = 'administrative' | 'physical' | 'technical';
388
+ /** HIPAA specification */
389
+ export type HipaaSpecification = 'required' | 'addressable';
390
+ /** PCI DSS control */
391
+ export interface PciDssControl extends ComplianceControl {
392
+ readonly requirement: string;
393
+ readonly testingProcedure: string;
394
+ readonly reportingInstruction?: string;
395
+ readonly applicability: PciApplicability;
396
+ }
397
+ /** PCI applicability */
398
+ export interface PciApplicability {
399
+ readonly merchants: boolean;
400
+ readonly serviceProviders: boolean;
401
+ readonly saqTypes: readonly string[];
402
+ }
403
+ /** ISO 27001 control */
404
+ export interface Iso27001Control extends ComplianceControl {
405
+ readonly annex: string;
406
+ readonly controlObjective: string;
407
+ readonly attributeTypes: readonly Iso27001Attribute[];
408
+ }
409
+ /** ISO 27001 attribute */
410
+ export type Iso27001Attribute = 'preventive' | 'detective' | 'corrective';
411
+ /** Evidence */
412
+ export interface Evidence {
413
+ readonly id: string;
414
+ readonly name: string;
415
+ readonly description?: string;
416
+ readonly type: EvidenceType;
417
+ readonly source: EvidenceSource;
418
+ readonly collectedAt: Date;
419
+ readonly collectedBy: string;
420
+ readonly validFrom: Date;
421
+ readonly validTo?: Date;
422
+ readonly controls: readonly string[];
423
+ readonly frameworks: readonly ComplianceFrameworkType[];
424
+ readonly files: readonly EvidenceFile[];
425
+ readonly metadata: Record<string, unknown>;
426
+ readonly status: EvidenceStatus;
427
+ readonly verifiedBy?: string;
428
+ readonly verifiedAt?: Date;
429
+ }
430
+ /** Evidence source */
431
+ export interface EvidenceSource {
432
+ readonly type: EvidenceSourceType;
433
+ readonly system?: string;
434
+ readonly url?: string;
435
+ readonly automated: boolean;
436
+ }
437
+ /** Evidence source type */
438
+ export type EvidenceSourceType = 'manual_upload' | 'api_integration' | 'screenshot_capture' | 'log_export' | 'configuration_export' | 'third_party';
439
+ /** Evidence file */
440
+ export interface EvidenceFile {
441
+ readonly id: string;
442
+ readonly filename: string;
443
+ readonly mimeType: string;
444
+ readonly size: number;
445
+ readonly hash: string;
446
+ readonly uploadedAt: Date;
447
+ readonly storageUrl: string;
448
+ }
449
+ /** Evidence status */
450
+ export type EvidenceStatus = 'pending_review' | 'approved' | 'rejected' | 'expired';
451
+ /** Evidence collection task */
452
+ export interface EvidenceCollectionTask {
453
+ readonly id: string;
454
+ readonly name: string;
455
+ readonly description?: string;
456
+ readonly controls: readonly string[];
457
+ readonly frequency: ControlFrequency;
458
+ readonly collectionMethod: CollectionMethod;
459
+ readonly assignee?: string;
460
+ readonly dueDate: Date;
461
+ readonly status: TaskStatus;
462
+ readonly lastCollected?: Date;
463
+ readonly nextDue?: Date;
464
+ }
465
+ /** Collection method */
466
+ export interface CollectionMethod {
467
+ readonly type: EvidenceSourceType;
468
+ readonly automated: boolean;
469
+ readonly config?: Record<string, unknown>;
470
+ }
471
+ /** Task status */
472
+ export type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'overdue' | 'blocked';
473
+ /** Security policy */
474
+ export interface SecurityPolicy {
475
+ readonly id: string;
476
+ readonly name: string;
477
+ readonly type: PolicyType;
478
+ readonly version: string;
479
+ readonly status: PolicyStatus;
480
+ readonly effectiveDate: Date;
481
+ readonly expiryDate?: Date;
482
+ readonly owner: string;
483
+ readonly approvers: readonly string[];
484
+ readonly scope: PolicyScope;
485
+ readonly content: PolicyContent;
486
+ readonly relatedControls: readonly string[];
487
+ readonly acknowledgments: readonly PolicyAcknowledgment[];
488
+ readonly revisions: readonly PolicyRevision[];
489
+ readonly createdAt: Date;
490
+ readonly updatedAt: Date;
491
+ }
492
+ /** Policy type */
493
+ export type PolicyType = 'information_security' | 'acceptable_use' | 'data_classification' | 'access_control' | 'password' | 'incident_response' | 'business_continuity' | 'privacy' | 'vendor_management' | 'change_management' | 'code_of_conduct';
494
+ /** Policy status */
495
+ export type PolicyStatus = 'draft' | 'pending_approval' | 'approved' | 'published' | 'archived' | 'superseded';
496
+ /** Policy scope */
497
+ export interface PolicyScope {
498
+ readonly applicableTo: readonly PolicyApplicability[];
499
+ readonly departments?: readonly string[];
500
+ readonly locations?: readonly string[];
501
+ readonly systems?: readonly string[];
502
+ }
503
+ /** Policy applicability */
504
+ export type PolicyApplicability = 'all_employees' | 'contractors' | 'vendors' | 'executives' | 'it_staff' | 'developers' | 'specific_roles';
505
+ /** Policy content */
506
+ export interface PolicyContent {
507
+ readonly purpose: string;
508
+ readonly scope: string;
509
+ readonly policy: string;
510
+ readonly definitions?: string;
511
+ readonly responsibilities?: string;
512
+ readonly enforcement?: string;
513
+ readonly exceptions?: string;
514
+ readonly relatedDocuments?: readonly string[];
515
+ }
516
+ /** Policy acknowledgment */
517
+ export interface PolicyAcknowledgment {
518
+ readonly userId: string;
519
+ readonly userName: string;
520
+ readonly acknowledgedAt: Date;
521
+ readonly version: string;
522
+ readonly ipAddress?: string;
523
+ }
524
+ /** Policy revision */
525
+ export interface PolicyRevision {
526
+ readonly version: string;
527
+ readonly date: Date;
528
+ readonly author: string;
529
+ readonly changes: string;
530
+ readonly approved: boolean;
531
+ readonly approvedBy?: string;
532
+ readonly approvedAt?: Date;
533
+ }
534
+ /** Compliance report */
535
+ export interface ComplianceReport {
536
+ readonly id: string;
537
+ readonly name: string;
538
+ readonly type: ComplianceReportType;
539
+ readonly framework?: ComplianceFrameworkType;
540
+ readonly period: ReportPeriod;
541
+ readonly generatedAt: Date;
542
+ readonly generatedBy: string;
543
+ readonly status: ReportStatus;
544
+ readonly sections: readonly ReportSection[];
545
+ readonly summary: ReportSummary;
546
+ readonly distribution: readonly ReportRecipient[];
547
+ }
548
+ /** Compliance report type */
549
+ export type ComplianceReportType = 'self_assessment' | 'internal_audit' | 'external_audit' | 'management_review' | 'board_report' | 'regulatory_filing' | 'custom';
550
+ /** Report period */
551
+ export interface ReportPeriod {
552
+ readonly startDate: Date;
553
+ readonly endDate: Date;
554
+ readonly periodType: 'monthly' | 'quarterly' | 'annual' | 'custom';
555
+ }
556
+ /** Report status */
557
+ export type ReportStatus = 'draft' | 'review' | 'approved' | 'published' | 'distributed';
558
+ /** Report section */
559
+ export interface ReportSection {
560
+ readonly id: string;
561
+ readonly title: string;
562
+ readonly order: number;
563
+ readonly content: string;
564
+ readonly charts?: readonly ReportChart[];
565
+ readonly tables?: readonly ReportTable[];
566
+ }
567
+ /** Report chart */
568
+ export interface ReportChart {
569
+ readonly id: string;
570
+ readonly type: ChartType;
571
+ readonly title: string;
572
+ readonly data: unknown;
573
+ }
574
+ /** Chart type */
575
+ export type ChartType = 'pie' | 'bar' | 'line' | 'gauge' | 'table';
576
+ /** Report table */
577
+ export interface ReportTable {
578
+ readonly id: string;
579
+ readonly title: string;
580
+ readonly columns: readonly string[];
581
+ readonly rows: readonly unknown[];
582
+ }
583
+ /** Report summary */
584
+ export interface ReportSummary {
585
+ readonly overallScore?: number;
586
+ readonly totalControls?: number;
587
+ readonly passedControls?: number;
588
+ readonly failedControls?: number;
589
+ readonly openFindings?: number;
590
+ readonly recommendations?: readonly string[];
591
+ }
592
+ /** Report recipient */
593
+ export interface ReportRecipient {
594
+ readonly email: string;
595
+ readonly name?: string;
596
+ readonly sentAt?: Date;
597
+ readonly viewedAt?: Date;
598
+ }
599
+ /** Risk assessment */
600
+ export interface RiskAssessment {
601
+ readonly id: string;
602
+ readonly name: string;
603
+ readonly type: RiskAssessmentType;
604
+ readonly scope: RiskScope;
605
+ readonly methodology: string;
606
+ readonly status: AssessmentStatus;
607
+ readonly assessmentDate: Date;
608
+ readonly assessor: string;
609
+ readonly risks: readonly Risk[];
610
+ readonly summary: RiskSummary;
611
+ readonly createdAt: Date;
612
+ readonly updatedAt: Date;
613
+ }
614
+ /** Risk assessment type */
615
+ export type RiskAssessmentType = 'information_security' | 'privacy' | 'operational' | 'vendor' | 'project' | 'change';
616
+ /** Risk scope */
617
+ export interface RiskScope {
618
+ readonly systems: readonly string[];
619
+ readonly processes?: readonly string[];
620
+ readonly dataTypes?: readonly string[];
621
+ readonly vendors?: readonly string[];
622
+ }
623
+ /** Risk */
624
+ export interface Risk {
625
+ readonly id: string;
626
+ readonly name: string;
627
+ readonly description: string;
628
+ readonly category: RiskCategory;
629
+ readonly threat: string;
630
+ readonly vulnerability: string;
631
+ readonly impact: RiskImpact;
632
+ readonly likelihood: RiskLikelihood;
633
+ readonly inherentRisk: RiskLevel;
634
+ readonly controls: readonly string[];
635
+ readonly residualRisk: RiskLevel;
636
+ readonly riskOwner?: string;
637
+ readonly treatmentPlan?: RiskTreatment;
638
+ readonly status: RiskStatus;
639
+ }
640
+ /** Risk category */
641
+ export type RiskCategory = 'strategic' | 'operational' | 'financial' | 'compliance' | 'reputational' | 'technology' | 'security' | 'privacy';
642
+ /** Risk impact */
643
+ export type RiskImpact = 'catastrophic' | 'major' | 'moderate' | 'minor' | 'negligible';
644
+ /** Risk likelihood */
645
+ export type RiskLikelihood = 'almost_certain' | 'likely' | 'possible' | 'unlikely' | 'rare';
646
+ /** Risk level */
647
+ export type RiskLevel = 'critical' | 'high' | 'medium' | 'low' | 'very_low';
648
+ /** Risk treatment */
649
+ export interface RiskTreatment {
650
+ readonly strategy: TreatmentStrategy;
651
+ readonly description: string;
652
+ readonly actions: readonly TreatmentAction[];
653
+ readonly targetDate?: Date;
654
+ readonly targetRiskLevel?: RiskLevel;
655
+ }
656
+ /** Treatment strategy */
657
+ export type TreatmentStrategy = 'accept' | 'mitigate' | 'transfer' | 'avoid';
658
+ /** Treatment action */
659
+ export interface TreatmentAction {
660
+ readonly id: string;
661
+ readonly description: string;
662
+ readonly assignee?: string;
663
+ readonly dueDate?: Date;
664
+ readonly status: TaskStatus;
665
+ readonly completedAt?: Date;
666
+ }
667
+ /** Risk status */
668
+ export type RiskStatus = 'identified' | 'assessed' | 'treating' | 'monitoring' | 'closed';
669
+ /** Risk summary */
670
+ export interface RiskSummary {
671
+ readonly totalRisks: number;
672
+ readonly byLevel: Record<RiskLevel, number>;
673
+ readonly byCategory: Record<RiskCategory, number>;
674
+ readonly byStatus: Record<RiskStatus, number>;
675
+ readonly averageInherentRisk: number;
676
+ readonly averageResidualRisk: number;
677
+ }
678
+ /** Data processing activity */
679
+ export interface DataProcessingActivity {
680
+ readonly id: string;
681
+ readonly name: string;
682
+ readonly purpose: readonly string[];
683
+ readonly lawfulBasis: GdprLawfulBasis;
684
+ readonly dataCategories: readonly DataCategory[];
685
+ readonly dataSubjects: readonly DataSubjectType[];
686
+ readonly recipients: readonly DataRecipient[];
687
+ readonly retentionPeriod: string;
688
+ readonly crossBorderTransfers: readonly CrossBorderTransfer[];
689
+ readonly securityMeasures: readonly string[];
690
+ readonly dpiaConducted: boolean;
691
+ readonly dpiaReference?: string;
692
+ readonly dataController: DataController;
693
+ readonly dataProcessor?: DataProcessor;
694
+ readonly createdAt: Date;
695
+ readonly updatedAt: Date;
696
+ }
697
+ /** Data category */
698
+ export type DataCategory = 'personal_data' | 'sensitive_personal_data' | 'biometric' | 'genetic' | 'health' | 'racial_ethnic' | 'political_opinions' | 'religious_beliefs' | 'trade_union' | 'sexual_orientation' | 'criminal_convictions';
699
+ /** Data subject type */
700
+ export type DataSubjectType = 'customers' | 'employees' | 'contractors' | 'prospects' | 'website_visitors' | 'vendors' | 'partners';
701
+ /** Data recipient */
702
+ export interface DataRecipient {
703
+ readonly name: string;
704
+ readonly type: RecipientType;
705
+ readonly country?: string;
706
+ readonly purpose: string;
707
+ }
708
+ /** Recipient type */
709
+ export type RecipientType = 'internal' | 'processor' | 'joint_controller' | 'third_party' | 'public_authority';
710
+ /** Cross border transfer */
711
+ export interface CrossBorderTransfer {
712
+ readonly country: string;
713
+ readonly mechanism: TransferMechanism;
714
+ readonly safeguards?: string;
715
+ }
716
+ /** Transfer mechanism */
717
+ export type TransferMechanism = 'adequacy_decision' | 'standard_contractual_clauses' | 'binding_corporate_rules' | 'derogation' | 'other';
718
+ /** Data controller */
719
+ export interface DataController {
720
+ readonly name: string;
721
+ readonly address: string;
722
+ readonly contact: string;
723
+ readonly dpoContact?: string;
724
+ }
725
+ /** Data processor */
726
+ export interface DataProcessor {
727
+ readonly name: string;
728
+ readonly address: string;
729
+ readonly contact: string;
730
+ readonly contractDate: Date;
731
+ readonly subProcessors?: readonly DataProcessor[];
732
+ }
733
+ /** Data subject request */
734
+ export interface DataSubjectRequest {
735
+ readonly id: string;
736
+ readonly type: DataSubjectRequestType;
737
+ readonly subjectEmail: string;
738
+ readonly subjectName?: string;
739
+ readonly requestedAt: Date;
740
+ readonly verifiedAt?: Date;
741
+ readonly status: DsrStatus;
742
+ readonly dueDate: Date;
743
+ readonly completedAt?: Date;
744
+ readonly assignee?: string;
745
+ readonly notes?: string;
746
+ readonly responseProvided?: string;
747
+ }
748
+ /** Data subject request type */
749
+ export type DataSubjectRequestType = 'access' | 'rectification' | 'erasure' | 'restriction' | 'portability' | 'objection';
750
+ /** DSR status */
751
+ export type DsrStatus = 'received' | 'verifying' | 'processing' | 'completed' | 'denied' | 'extended';
752
+ //# sourceMappingURL=audit-compliance.d.ts.map