@pan-sec/notebooklm-mcp 1.4.0 → 1.7.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 (230) hide show
  1. package/README.md +61 -7
  2. package/SECURITY.md +40 -6
  3. package/dist/auth/mcp-auth.d.ts.map +1 -1
  4. package/dist/auth/mcp-auth.js +3 -6
  5. package/dist/auth/mcp-auth.js.map +1 -1
  6. package/dist/compliance/alert-manager.d.ts +120 -0
  7. package/dist/compliance/alert-manager.d.ts.map +1 -0
  8. package/dist/compliance/alert-manager.js +420 -0
  9. package/dist/compliance/alert-manager.js.map +1 -0
  10. package/dist/compliance/breach-detection.d.ts +134 -0
  11. package/dist/compliance/breach-detection.d.ts.map +1 -0
  12. package/dist/compliance/breach-detection.js +456 -0
  13. package/dist/compliance/breach-detection.js.map +1 -0
  14. package/dist/compliance/change-log.d.ts +113 -0
  15. package/dist/compliance/change-log.d.ts.map +1 -0
  16. package/dist/compliance/change-log.js +275 -0
  17. package/dist/compliance/change-log.js.map +1 -0
  18. package/dist/compliance/compliance-logger.d.ts +136 -0
  19. package/dist/compliance/compliance-logger.d.ts.map +1 -0
  20. package/dist/compliance/compliance-logger.js +425 -0
  21. package/dist/compliance/compliance-logger.js.map +1 -0
  22. package/dist/compliance/compliance-tools.d.ts +18 -0
  23. package/dist/compliance/compliance-tools.d.ts.map +1 -0
  24. package/dist/compliance/compliance-tools.js +673 -0
  25. package/dist/compliance/compliance-tools.js.map +1 -0
  26. package/dist/compliance/consent-manager.d.ts +130 -0
  27. package/dist/compliance/consent-manager.d.ts.map +1 -0
  28. package/dist/compliance/consent-manager.js +386 -0
  29. package/dist/compliance/consent-manager.js.map +1 -0
  30. package/dist/compliance/dashboard.d.ts +243 -0
  31. package/dist/compliance/dashboard.d.ts.map +1 -0
  32. package/dist/compliance/dashboard.js +519 -0
  33. package/dist/compliance/dashboard.js.map +1 -0
  34. package/dist/compliance/data-classification.d.ts +117 -0
  35. package/dist/compliance/data-classification.d.ts.map +1 -0
  36. package/dist/compliance/data-classification.js +469 -0
  37. package/dist/compliance/data-classification.js.map +1 -0
  38. package/dist/compliance/data-erasure.d.ts +110 -0
  39. package/dist/compliance/data-erasure.d.ts.map +1 -0
  40. package/dist/compliance/data-erasure.js +501 -0
  41. package/dist/compliance/data-erasure.js.map +1 -0
  42. package/dist/compliance/data-export.d.ts +85 -0
  43. package/dist/compliance/data-export.d.ts.map +1 -0
  44. package/dist/compliance/data-export.js +394 -0
  45. package/dist/compliance/data-export.js.map +1 -0
  46. package/dist/compliance/data-inventory.d.ts +136 -0
  47. package/dist/compliance/data-inventory.d.ts.map +1 -0
  48. package/dist/compliance/data-inventory.js +335 -0
  49. package/dist/compliance/data-inventory.js.map +1 -0
  50. package/dist/compliance/dsar-handler.d.ts +123 -0
  51. package/dist/compliance/dsar-handler.d.ts.map +1 -0
  52. package/dist/compliance/dsar-handler.js +371 -0
  53. package/dist/compliance/dsar-handler.js.map +1 -0
  54. package/dist/compliance/evidence-collector.d.ts +187 -0
  55. package/dist/compliance/evidence-collector.d.ts.map +1 -0
  56. package/dist/compliance/evidence-collector.js +656 -0
  57. package/dist/compliance/evidence-collector.js.map +1 -0
  58. package/dist/compliance/health-monitor.d.ts +111 -0
  59. package/dist/compliance/health-monitor.d.ts.map +1 -0
  60. package/dist/compliance/health-monitor.js +509 -0
  61. package/dist/compliance/health-monitor.js.map +1 -0
  62. package/dist/compliance/incident-manager.d.ts +131 -0
  63. package/dist/compliance/incident-manager.d.ts.map +1 -0
  64. package/dist/compliance/incident-manager.js +418 -0
  65. package/dist/compliance/incident-manager.js.map +1 -0
  66. package/dist/compliance/index.d.ts +32 -0
  67. package/dist/compliance/index.d.ts.map +1 -0
  68. package/dist/compliance/index.js +35 -0
  69. package/dist/compliance/index.js.map +1 -0
  70. package/dist/compliance/policy-docs.d.ts +108 -0
  71. package/dist/compliance/policy-docs.d.ts.map +1 -0
  72. package/dist/compliance/policy-docs.js +464 -0
  73. package/dist/compliance/policy-docs.js.map +1 -0
  74. package/dist/compliance/privacy-notice-text.d.ts +58 -0
  75. package/dist/compliance/privacy-notice-text.d.ts.map +1 -0
  76. package/dist/compliance/privacy-notice-text.js +161 -0
  77. package/dist/compliance/privacy-notice-text.js.map +1 -0
  78. package/dist/compliance/privacy-notice.d.ts +128 -0
  79. package/dist/compliance/privacy-notice.d.ts.map +1 -0
  80. package/dist/compliance/privacy-notice.js +250 -0
  81. package/dist/compliance/privacy-notice.js.map +1 -0
  82. package/dist/compliance/report-generator.d.ts +168 -0
  83. package/dist/compliance/report-generator.d.ts.map +1 -0
  84. package/dist/compliance/report-generator.js +830 -0
  85. package/dist/compliance/report-generator.js.map +1 -0
  86. package/dist/compliance/retention-engine.d.ts +130 -0
  87. package/dist/compliance/retention-engine.d.ts.map +1 -0
  88. package/dist/compliance/retention-engine.js +510 -0
  89. package/dist/compliance/retention-engine.js.map +1 -0
  90. package/dist/compliance/siem-exporter.d.ts +150 -0
  91. package/dist/compliance/siem-exporter.d.ts.map +1 -0
  92. package/dist/compliance/siem-exporter.js +509 -0
  93. package/dist/compliance/siem-exporter.js.map +1 -0
  94. package/dist/compliance/types.d.ts +601 -0
  95. package/dist/compliance/types.d.ts.map +1 -0
  96. package/dist/compliance/types.js +22 -0
  97. package/dist/compliance/types.js.map +1 -0
  98. package/dist/config.d.ts +4 -0
  99. package/dist/config.d.ts.map +1 -1
  100. package/dist/config.js +8 -1
  101. package/dist/config.js.map +1 -1
  102. package/dist/events/event-emitter.d.ts +45 -0
  103. package/dist/events/event-emitter.d.ts.map +1 -0
  104. package/dist/events/event-emitter.js +100 -0
  105. package/dist/events/event-emitter.js.map +1 -0
  106. package/dist/events/event-types.d.ts +124 -0
  107. package/dist/events/event-types.d.ts.map +1 -0
  108. package/dist/events/event-types.js +18 -0
  109. package/dist/events/event-types.js.map +1 -0
  110. package/dist/index.js +59 -2
  111. package/dist/index.js.map +1 -1
  112. package/dist/library/notebook-library.d.ts +25 -2
  113. package/dist/library/notebook-library.d.ts.map +1 -1
  114. package/dist/library/notebook-library.js +144 -3
  115. package/dist/library/notebook-library.js.map +1 -1
  116. package/dist/library/types.d.ts +15 -0
  117. package/dist/library/types.d.ts.map +1 -1
  118. package/dist/notebook-creation/audio-manager.d.ts +56 -0
  119. package/dist/notebook-creation/audio-manager.d.ts.map +1 -0
  120. package/dist/notebook-creation/audio-manager.js +335 -0
  121. package/dist/notebook-creation/audio-manager.js.map +1 -0
  122. package/dist/notebook-creation/discover-creation-flow.d.ts +8 -0
  123. package/dist/notebook-creation/discover-creation-flow.d.ts.map +1 -0
  124. package/dist/notebook-creation/discover-creation-flow.js +177 -0
  125. package/dist/notebook-creation/discover-creation-flow.js.map +1 -0
  126. package/dist/notebook-creation/discover-quota.d.ts +8 -0
  127. package/dist/notebook-creation/discover-quota.d.ts.map +1 -0
  128. package/dist/notebook-creation/discover-quota.js +195 -0
  129. package/dist/notebook-creation/discover-quota.js.map +1 -0
  130. package/dist/notebook-creation/discover-source-dialog.d.ts +8 -0
  131. package/dist/notebook-creation/discover-source-dialog.d.ts.map +1 -0
  132. package/dist/notebook-creation/discover-source-dialog.js +134 -0
  133. package/dist/notebook-creation/discover-source-dialog.js.map +1 -0
  134. package/dist/notebook-creation/discover-sources.d.ts +8 -0
  135. package/dist/notebook-creation/discover-sources.d.ts.map +1 -0
  136. package/dist/notebook-creation/discover-sources.js +273 -0
  137. package/dist/notebook-creation/discover-sources.js.map +1 -0
  138. package/dist/notebook-creation/discover-text-input.d.ts +7 -0
  139. package/dist/notebook-creation/discover-text-input.d.ts.map +1 -0
  140. package/dist/notebook-creation/discover-text-input.js +135 -0
  141. package/dist/notebook-creation/discover-text-input.js.map +1 -0
  142. package/dist/notebook-creation/index.d.ts +12 -0
  143. package/dist/notebook-creation/index.d.ts.map +1 -0
  144. package/dist/notebook-creation/index.js +12 -0
  145. package/dist/notebook-creation/index.js.map +1 -0
  146. package/dist/notebook-creation/notebook-creator.d.ts +95 -0
  147. package/dist/notebook-creation/notebook-creator.d.ts.map +1 -0
  148. package/dist/notebook-creation/notebook-creator.js +689 -0
  149. package/dist/notebook-creation/notebook-creator.js.map +1 -0
  150. package/dist/notebook-creation/notebook-sync.d.ts +93 -0
  151. package/dist/notebook-creation/notebook-sync.d.ts.map +1 -0
  152. package/dist/notebook-creation/notebook-sync.js +370 -0
  153. package/dist/notebook-creation/notebook-sync.js.map +1 -0
  154. package/dist/notebook-creation/run-discovery.d.ts +11 -0
  155. package/dist/notebook-creation/run-discovery.d.ts.map +1 -0
  156. package/dist/notebook-creation/run-discovery.js +151 -0
  157. package/dist/notebook-creation/run-discovery.js.map +1 -0
  158. package/dist/notebook-creation/selector-discovery.d.ts +65 -0
  159. package/dist/notebook-creation/selector-discovery.d.ts.map +1 -0
  160. package/dist/notebook-creation/selector-discovery.js +421 -0
  161. package/dist/notebook-creation/selector-discovery.js.map +1 -0
  162. package/dist/notebook-creation/selectors.d.ts +150 -0
  163. package/dist/notebook-creation/selectors.d.ts.map +1 -0
  164. package/dist/notebook-creation/selectors.js +225 -0
  165. package/dist/notebook-creation/selectors.js.map +1 -0
  166. package/dist/notebook-creation/source-manager.d.ts +73 -0
  167. package/dist/notebook-creation/source-manager.d.ts.map +1 -0
  168. package/dist/notebook-creation/source-manager.js +486 -0
  169. package/dist/notebook-creation/source-manager.js.map +1 -0
  170. package/dist/notebook-creation/test-create.d.ts +8 -0
  171. package/dist/notebook-creation/test-create.d.ts.map +1 -0
  172. package/dist/notebook-creation/test-create.js +72 -0
  173. package/dist/notebook-creation/test-create.js.map +1 -0
  174. package/dist/notebook-creation/types.d.ts +173 -0
  175. package/dist/notebook-creation/types.d.ts.map +1 -0
  176. package/dist/notebook-creation/types.js +5 -0
  177. package/dist/notebook-creation/types.js.map +1 -0
  178. package/dist/quota/index.d.ts +8 -0
  179. package/dist/quota/index.d.ts.map +1 -0
  180. package/dist/quota/index.js +8 -0
  181. package/dist/quota/index.js.map +1 -0
  182. package/dist/quota/quota-manager.d.ts +125 -0
  183. package/dist/quota/quota-manager.d.ts.map +1 -0
  184. package/dist/quota/quota-manager.js +330 -0
  185. package/dist/quota/quota-manager.js.map +1 -0
  186. package/dist/session/session-manager.d.ts +5 -0
  187. package/dist/session/session-manager.d.ts.map +1 -1
  188. package/dist/session/session-manager.js +6 -0
  189. package/dist/session/session-manager.js.map +1 -1
  190. package/dist/session/shared-context-manager.d.ts.map +1 -1
  191. package/dist/session/shared-context-manager.js +2 -1
  192. package/dist/session/shared-context-manager.js.map +1 -1
  193. package/dist/tools/definitions/notebook-management.d.ts.map +1 -1
  194. package/dist/tools/definitions/notebook-management.js +525 -0
  195. package/dist/tools/definitions/notebook-management.js.map +1 -1
  196. package/dist/tools/definitions/system.d.ts.map +1 -1
  197. package/dist/tools/definitions/system.js +158 -0
  198. package/dist/tools/definitions/system.js.map +1 -1
  199. package/dist/tools/handlers.d.ts +225 -0
  200. package/dist/tools/handlers.d.ts.map +1 -1
  201. package/dist/tools/handlers.js +911 -0
  202. package/dist/tools/handlers.js.map +1 -1
  203. package/dist/utils/audit-logger.d.ts +21 -1
  204. package/dist/utils/audit-logger.d.ts.map +1 -1
  205. package/dist/utils/audit-logger.js +53 -4
  206. package/dist/utils/audit-logger.js.map +1 -1
  207. package/dist/utils/crypto.d.ts.map +1 -1
  208. package/dist/utils/crypto.js +8 -15
  209. package/dist/utils/crypto.js.map +1 -1
  210. package/dist/utils/file-permissions.d.ts +85 -0
  211. package/dist/utils/file-permissions.d.ts.map +1 -0
  212. package/dist/utils/file-permissions.js +180 -0
  213. package/dist/utils/file-permissions.js.map +1 -0
  214. package/dist/utils/settings-manager.d.ts.map +1 -1
  215. package/dist/utils/settings-manager.js +6 -11
  216. package/dist/utils/settings-manager.js.map +1 -1
  217. package/dist/webhooks/index.d.ts +8 -0
  218. package/dist/webhooks/index.d.ts.map +1 -0
  219. package/dist/webhooks/index.js +8 -0
  220. package/dist/webhooks/index.js.map +1 -0
  221. package/dist/webhooks/types.d.ts +57 -0
  222. package/dist/webhooks/types.d.ts.map +1 -0
  223. package/dist/webhooks/types.js +5 -0
  224. package/dist/webhooks/types.js.map +1 -0
  225. package/dist/webhooks/webhook-dispatcher.d.ts +120 -0
  226. package/dist/webhooks/webhook-dispatcher.d.ts.map +1 -0
  227. package/dist/webhooks/webhook-dispatcher.js +519 -0
  228. package/dist/webhooks/webhook-dispatcher.js.map +1 -0
  229. package/docs/COMPLIANCE-SPEC.md +1452 -0
  230. package/package.json +30 -4
@@ -0,0 +1,519 @@
1
+ /**
2
+ * Compliance Dashboard
3
+ *
4
+ * Provides a unified view of compliance status across all regulations.
5
+ * Aggregates data from all compliance components for reporting.
6
+ *
7
+ * Added by Pantheon Security for enterprise compliance support.
8
+ */
9
+ import { getComplianceLogger } from "./compliance-logger.js";
10
+ import { getConsentManager } from "./consent-manager.js";
11
+ import { getDataInventory } from "./data-inventory.js";
12
+ import { getRetentionEngine } from "./retention-engine.js";
13
+ import { getDataErasureManager } from "./data-erasure.js";
14
+ import { getDSARHandler } from "./dsar-handler.js";
15
+ import { getAlertManager } from "./alert-manager.js";
16
+ import { getBreachDetector } from "./breach-detection.js";
17
+ import { getIncidentManager } from "./incident-manager.js";
18
+ import { getHealthMonitor } from "./health-monitor.js";
19
+ import { getChangeLog } from "./change-log.js";
20
+ import { getPolicyDocManager } from "./policy-docs.js";
21
+ /**
22
+ * Compliance Dashboard class
23
+ */
24
+ export class ComplianceDashboard {
25
+ static instance;
26
+ constructor() { }
27
+ /**
28
+ * Get singleton instance
29
+ */
30
+ static getInstance() {
31
+ if (!ComplianceDashboard.instance) {
32
+ ComplianceDashboard.instance = new ComplianceDashboard();
33
+ }
34
+ return ComplianceDashboard.instance;
35
+ }
36
+ /**
37
+ * Generate full dashboard data
38
+ */
39
+ async generateDashboard() {
40
+ const [health, gdpr, soc2, cssf, security, recentActivity] = await Promise.all([
41
+ this.getHealthSummary(),
42
+ this.getGDPRDashboard(),
43
+ this.getSOC2Dashboard(),
44
+ this.getCSSFDashboard(),
45
+ this.getSecurityDashboard(),
46
+ this.getRecentActivity(),
47
+ ]);
48
+ // Determine overall status
49
+ const statuses = [gdpr.status, soc2.status, cssf.status];
50
+ let overallStatus;
51
+ if (statuses.includes("non_compliant")) {
52
+ overallStatus = "non_compliant";
53
+ }
54
+ else if (statuses.includes("at_risk")) {
55
+ overallStatus = "at_risk";
56
+ }
57
+ else {
58
+ overallStatus = "compliant";
59
+ }
60
+ return {
61
+ generated_at: new Date().toISOString(),
62
+ overall_status: overallStatus,
63
+ health,
64
+ gdpr,
65
+ soc2,
66
+ cssf,
67
+ security,
68
+ recent_activity: recentActivity,
69
+ };
70
+ }
71
+ /**
72
+ * Get health summary
73
+ */
74
+ async getHealthSummary() {
75
+ const monitor = getHealthMonitor();
76
+ const status = monitor.getStatus();
77
+ const metrics = monitor.getLastMetrics();
78
+ let componentsUp = 0;
79
+ let componentsDown = 0;
80
+ let componentsDegraded = 0;
81
+ if (metrics) {
82
+ for (const component of metrics.components) {
83
+ if (component.status === "up")
84
+ componentsUp++;
85
+ else if (component.status === "down")
86
+ componentsDown++;
87
+ else
88
+ componentsDegraded++;
89
+ }
90
+ }
91
+ return {
92
+ status: status.status,
93
+ uptime_seconds: status.uptime_seconds,
94
+ uptime_formatted: monitor.getUptimeFormatted(),
95
+ last_check: status.last_check,
96
+ components_up: componentsUp,
97
+ components_down: componentsDown,
98
+ components_degraded: componentsDegraded,
99
+ };
100
+ }
101
+ /**
102
+ * Get GDPR dashboard
103
+ */
104
+ async getGDPRDashboard() {
105
+ const consentManager = getConsentManager();
106
+ const dataInventory = getDataInventory();
107
+ const retentionEngine = getRetentionEngine();
108
+ const erasureManager = getDataErasureManager();
109
+ const dsarHandler = getDSARHandler();
110
+ // Get consent data
111
+ const consents = await consentManager.getActiveConsents();
112
+ const validation = await consentManager.validateConsents();
113
+ const now = new Date();
114
+ const validConsents = consents.filter(c => !c.revoked && (!c.expires_at || new Date(c.expires_at) > now)).length;
115
+ const expiredConsents = consents.filter(c => c.revoked || (c.expires_at && new Date(c.expires_at) <= now)).length;
116
+ // Get data inventory
117
+ const inventory = await dataInventory.getAll();
118
+ const exportable = await dataInventory.getExportable();
119
+ const erasable = await dataInventory.getErasable();
120
+ // Get DSAR summary
121
+ const dsarSummary = await dsarHandler.getStatistics();
122
+ // Get erasure requests
123
+ const pendingErasures = await erasureManager.getPendingRequests();
124
+ // Get retention status
125
+ const retentionStatus = await retentionEngine.getStatus();
126
+ // Determine status
127
+ let status = "compliant";
128
+ if (!validation.valid || pendingErasures.length > 5) {
129
+ status = "at_risk";
130
+ }
131
+ // Check if any pending requests
132
+ if (dsarSummary.pending_requests > 5) {
133
+ status = "non_compliant";
134
+ }
135
+ return {
136
+ status,
137
+ consent: {
138
+ valid_consents: validConsents,
139
+ expired_consents: expiredConsents,
140
+ total_purposes: consents.length,
141
+ },
142
+ data_inventory: {
143
+ total_categories: inventory.length,
144
+ exportable: exportable.length,
145
+ erasable: erasable.length,
146
+ },
147
+ data_subjects: {
148
+ pending_dsars: dsarSummary.pending_requests,
149
+ completed_dsars_30d: dsarSummary.completed_requests,
150
+ pending_erasures: pendingErasures.length,
151
+ completed_erasures_30d: 0, // Would need historical tracking
152
+ },
153
+ retention: {
154
+ active_policies: retentionStatus.active_policies,
155
+ items_due_for_deletion: retentionStatus.next_due.length,
156
+ last_cleanup: Object.values(retentionStatus.last_runs)[0],
157
+ },
158
+ };
159
+ }
160
+ /**
161
+ * Get SOC2 dashboard
162
+ */
163
+ async getSOC2Dashboard() {
164
+ const monitor = getHealthMonitor();
165
+ const incidentManager = getIncidentManager();
166
+ const changeLog = getChangeLog();
167
+ const complianceLogger = getComplianceLogger();
168
+ // Get health metrics
169
+ const metrics = monitor.getLastMetrics();
170
+ const security = metrics?.security || {
171
+ encryption_enabled: false,
172
+ auth_enabled: false,
173
+ cert_pinning_enabled: false,
174
+ open_incidents: 0,
175
+ };
176
+ // Get incident data
177
+ const openIncidents = await incidentManager.getOpenIncidents();
178
+ const lastIncident = openIncidents[0]?.detected_at;
179
+ // Get change data (last 30 days)
180
+ const thirtyDaysAgo = new Date();
181
+ thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
182
+ const changes = await changeLog.getChangesInRange(thirtyDaysAgo, new Date());
183
+ const highImpactChanges = changes.filter(c => c.impact === "high");
184
+ const pendingApprovals = changes.filter(c => c.requires_approval && !c.approved_by);
185
+ // Get logging status
186
+ const loggerStats = await complianceLogger.getStats();
187
+ const integrity = await complianceLogger.verifyIntegrity();
188
+ // Calculate uptime (simplified - would need more sophisticated tracking)
189
+ const uptimePercentage = metrics?.status === "healthy" ? 99.9 :
190
+ metrics?.status === "degraded" ? 95.0 : 90.0;
191
+ // Determine status
192
+ let status = "compliant";
193
+ if (!security.encryption_enabled || openIncidents.length > 0) {
194
+ status = "at_risk";
195
+ }
196
+ if (!integrity.valid || pendingApprovals.length > 10) {
197
+ status = "non_compliant";
198
+ }
199
+ return {
200
+ status,
201
+ availability: {
202
+ current_status: metrics?.status || "unknown",
203
+ uptime_percentage: uptimePercentage,
204
+ last_incident: lastIncident,
205
+ },
206
+ security: {
207
+ encryption_enabled: security.encryption_enabled,
208
+ auth_enabled: security.auth_enabled,
209
+ cert_pinning_enabled: security.cert_pinning_enabled,
210
+ open_incidents: openIncidents.length,
211
+ },
212
+ change_management: {
213
+ changes_30d: changes.length,
214
+ high_impact_changes_30d: highImpactChanges.length,
215
+ pending_approvals: pendingApprovals.length,
216
+ },
217
+ logging: {
218
+ audit_enabled: loggerStats.enabled,
219
+ compliance_logging_enabled: loggerStats.enabled,
220
+ integrity_valid: integrity.valid,
221
+ },
222
+ };
223
+ }
224
+ /**
225
+ * Get CSSF dashboard
226
+ */
227
+ async getCSSFDashboard() {
228
+ const complianceLogger = getComplianceLogger();
229
+ const incidentManager = getIncidentManager();
230
+ const policyManager = getPolicyDocManager();
231
+ // Get audit trail status
232
+ const loggerStats = await complianceLogger.getStats();
233
+ const integrity = await complianceLogger.verifyIntegrity();
234
+ // Get incident statistics
235
+ const openIncidents = await incidentManager.getOpenIncidents();
236
+ // Get policy status
237
+ const policySummary = await policyManager.getPolicySummary();
238
+ const dueForReview = await policyManager.getPoliciesDueForReview();
239
+ // Calculate MTTR (Mean Time To Respond)
240
+ let mttrHours;
241
+ // Would need incident resolution data for accurate MTTR
242
+ // Determine status
243
+ let status = "compliant";
244
+ if (!integrity.valid || dueForReview.length > 2) {
245
+ status = "at_risk";
246
+ }
247
+ if (!loggerStats.enabled || openIncidents.length > 5) {
248
+ status = "non_compliant";
249
+ }
250
+ return {
251
+ status,
252
+ audit_trail: {
253
+ enabled: loggerStats.enabled,
254
+ retention_years: 7, // CSSF requirement
255
+ total_events: loggerStats.totalEvents,
256
+ integrity_valid: integrity.valid,
257
+ },
258
+ incident_response: {
259
+ documented_procedures: true, // We have incident manager
260
+ open_incidents: openIncidents.length,
261
+ mean_time_to_respond_hours: mttrHours,
262
+ },
263
+ policies: {
264
+ total_policies: policySummary.total_policies,
265
+ enforced_policies: policySummary.enforced_policies,
266
+ due_for_review: policySummary.due_for_review,
267
+ },
268
+ };
269
+ }
270
+ /**
271
+ * Get security dashboard
272
+ */
273
+ async getSecurityDashboard() {
274
+ const incidentManager = getIncidentManager();
275
+ const alertManager = getAlertManager();
276
+ const breachDetector = getBreachDetector();
277
+ // Get incident statistics
278
+ const incidentStats = await incidentManager.getStatistics();
279
+ // Get alert statistics
280
+ const alertStats = alertManager.getStats();
281
+ // Get breach detection status
282
+ const breachRules = await breachDetector.getRules();
283
+ const blockedPatterns = breachRules.filter(r => r.actions.includes("block")).length;
284
+ // Determine status
285
+ let status = "secure";
286
+ const openIncidents = incidentStats.by_status.open +
287
+ incidentStats.by_status.investigating;
288
+ if (openIncidents > 0 || alertStats.alerts_this_hour > 0) {
289
+ status = "at_risk";
290
+ }
291
+ if (incidentStats.by_severity.critical > 0) {
292
+ status = "compromised";
293
+ }
294
+ return {
295
+ status,
296
+ incidents: {
297
+ total_incidents: incidentStats.total_incidents,
298
+ open_incidents: incidentStats.open_incidents,
299
+ by_severity: incidentStats.by_severity,
300
+ by_status: incidentStats.by_status,
301
+ by_type: incidentStats.by_type,
302
+ },
303
+ alerts: {
304
+ total_24h: alertStats.alerts_this_hour * 24, // Estimate
305
+ critical_24h: 0, // Not tracked by alert manager
306
+ unacknowledged: 0, // Alert manager doesn't track acknowledgments
307
+ },
308
+ breach_detection: {
309
+ enabled: true,
310
+ active_rules: breachRules.length,
311
+ blocked_patterns: blockedPatterns,
312
+ },
313
+ };
314
+ }
315
+ /**
316
+ * Get recent activity
317
+ */
318
+ async getRecentActivity() {
319
+ const complianceLogger = getComplianceLogger();
320
+ const changeLog = getChangeLog();
321
+ // Get recent events
322
+ const events = await complianceLogger.getEvents(undefined, undefined, undefined, 10);
323
+ const recentEvents = events.map(e => ({
324
+ timestamp: e.timestamp,
325
+ type: e.category,
326
+ description: e.event_type,
327
+ severity: e.outcome,
328
+ }));
329
+ // Get recent changes
330
+ const changes = await changeLog.getAllChanges(10);
331
+ const recentChanges = changes.map(c => ({
332
+ timestamp: c.timestamp,
333
+ component: c.component,
334
+ setting: c.setting,
335
+ impact: c.impact,
336
+ }));
337
+ // No recent alerts API, return empty
338
+ const recentAlerts = [];
339
+ return {
340
+ recent_events: recentEvents,
341
+ recent_changes: recentChanges,
342
+ recent_alerts: recentAlerts,
343
+ };
344
+ }
345
+ /**
346
+ * Get compliance score (0-100)
347
+ */
348
+ async getComplianceScore() {
349
+ const dashboard = await this.generateDashboard();
350
+ // Score each regulation
351
+ const gdprScore = this.calculateRegulationScore(dashboard.gdpr.status);
352
+ const soc2Score = this.calculateRegulationScore(dashboard.soc2.status);
353
+ const cssfScore = this.calculateRegulationScore(dashboard.cssf.status);
354
+ // Calculate overall (weighted average)
355
+ const overall = Math.round((gdprScore + soc2Score + cssfScore) / 3);
356
+ // Detailed breakdown
357
+ const breakdown = {
358
+ consent_management: dashboard.gdpr.consent.expired_consents === 0 ? 100 : 70,
359
+ data_inventory: dashboard.gdpr.data_inventory.total_categories > 0 ? 100 : 50,
360
+ dsar_handling: dashboard.gdpr.data_subjects.pending_dsars === 0 ? 100 : 80,
361
+ encryption: dashboard.soc2.security.encryption_enabled ? 100 : 0,
362
+ audit_logging: dashboard.soc2.logging.audit_enabled ? 100 : 0,
363
+ incident_response: dashboard.security.incidents.total_incidents === 0 ? 100 : 60,
364
+ policy_management: dashboard.cssf.policies.due_for_review === 0 ? 100 : 70,
365
+ };
366
+ return {
367
+ overall,
368
+ gdpr: gdprScore,
369
+ soc2: soc2Score,
370
+ cssf: cssfScore,
371
+ breakdown,
372
+ };
373
+ }
374
+ /**
375
+ * Calculate score from status
376
+ */
377
+ calculateRegulationScore(status) {
378
+ switch (status) {
379
+ case "compliant":
380
+ return 100;
381
+ case "at_risk":
382
+ return 70;
383
+ case "non_compliant":
384
+ return 30;
385
+ default:
386
+ return 0;
387
+ }
388
+ }
389
+ /**
390
+ * Get compliance summary for CLI display
391
+ */
392
+ async getSummaryForCLI() {
393
+ const dashboard = await this.generateDashboard();
394
+ const score = await this.getComplianceScore();
395
+ const lines = [
396
+ "═══════════════════════════════════════════════════════════════",
397
+ " COMPLIANCE DASHBOARD",
398
+ "═══════════════════════════════════════════════════════════════",
399
+ "",
400
+ ` Overall Status: ${this.formatStatus(dashboard.overall_status)}`,
401
+ ` Compliance Score: ${score.overall}%`,
402
+ ` Generated: ${new Date(dashboard.generated_at).toLocaleString()}`,
403
+ "",
404
+ "───────────────────────────────────────────────────────────────",
405
+ " REGULATION STATUS",
406
+ "───────────────────────────────────────────────────────────────",
407
+ "",
408
+ ` GDPR: ${this.formatStatus(dashboard.gdpr.status)} (${score.gdpr}%)`,
409
+ ` • Valid Consents: ${dashboard.gdpr.consent.valid_consents}`,
410
+ ` • Pending DSARs: ${dashboard.gdpr.data_subjects.pending_dsars}`,
411
+ ` • Pending Erasures: ${dashboard.gdpr.data_subjects.pending_erasures}`,
412
+ "",
413
+ ` SOC2: ${this.formatStatus(dashboard.soc2.status)} (${score.soc2}%)`,
414
+ ` • Encryption: ${dashboard.soc2.security.encryption_enabled ? "Enabled" : "DISABLED"}`,
415
+ ` • Audit Logging: ${dashboard.soc2.logging.audit_enabled ? "Enabled" : "DISABLED"}`,
416
+ ` • Open Incidents: ${dashboard.soc2.security.open_incidents}`,
417
+ "",
418
+ ` CSSF: ${this.formatStatus(dashboard.cssf.status)} (${score.cssf}%)`,
419
+ ` • Audit Trail: ${dashboard.cssf.audit_trail.enabled ? "Enabled" : "DISABLED"}`,
420
+ ` • Policies: ${dashboard.cssf.policies.total_policies} (${dashboard.cssf.policies.due_for_review} due for review)`,
421
+ "",
422
+ "───────────────────────────────────────────────────────────────",
423
+ " SYSTEM HEALTH",
424
+ "───────────────────────────────────────────────────────────────",
425
+ "",
426
+ ` Status: ${this.formatHealthStatus(dashboard.health.status)}`,
427
+ ` Uptime: ${dashboard.health.uptime_formatted}`,
428
+ ` Components: ${dashboard.health.components_up} up, ${dashboard.health.components_down} down, ${dashboard.health.components_degraded} degraded`,
429
+ "",
430
+ "───────────────────────────────────────────────────────────────",
431
+ " SECURITY",
432
+ "───────────────────────────────────────────────────────────────",
433
+ "",
434
+ ` Status: ${this.formatSecurityStatus(dashboard.security.status)}`,
435
+ ` Open Incidents: ${dashboard.security.incidents.open_incidents}`,
436
+ ` Alerts (24h): ${dashboard.security.alerts.total_24h} (${dashboard.security.alerts.critical_24h} critical)`,
437
+ ` Breach Detection Rules: ${dashboard.security.breach_detection.active_rules}`,
438
+ "",
439
+ "═══════════════════════════════════════════════════════════════",
440
+ ];
441
+ return lines.join("\n");
442
+ }
443
+ /**
444
+ * Format compliance status for display
445
+ */
446
+ formatStatus(status) {
447
+ switch (status) {
448
+ case "compliant":
449
+ return "[COMPLIANT]";
450
+ case "at_risk":
451
+ return "[AT RISK]";
452
+ case "non_compliant":
453
+ return "[NON-COMPLIANT]";
454
+ default:
455
+ return `[${status.toUpperCase()}]`;
456
+ }
457
+ }
458
+ /**
459
+ * Format health status for display
460
+ */
461
+ formatHealthStatus(status) {
462
+ switch (status) {
463
+ case "healthy":
464
+ return "[HEALTHY]";
465
+ case "degraded":
466
+ return "[DEGRADED]";
467
+ case "unhealthy":
468
+ return "[UNHEALTHY]";
469
+ default:
470
+ return "[UNKNOWN]";
471
+ }
472
+ }
473
+ /**
474
+ * Format security status for display
475
+ */
476
+ formatSecurityStatus(status) {
477
+ switch (status) {
478
+ case "secure":
479
+ return "[SECURE]";
480
+ case "at_risk":
481
+ return "[AT RISK]";
482
+ case "compromised":
483
+ return "[COMPROMISED]";
484
+ default:
485
+ return `[${status.toUpperCase()}]`;
486
+ }
487
+ }
488
+ }
489
+ // ============================================
490
+ // SINGLETON ACCESS
491
+ // ============================================
492
+ /**
493
+ * Get the compliance dashboard instance
494
+ */
495
+ export function getComplianceDashboard() {
496
+ return ComplianceDashboard.getInstance();
497
+ }
498
+ // ============================================
499
+ // CONVENIENCE EXPORTS
500
+ // ============================================
501
+ /**
502
+ * Generate full dashboard data
503
+ */
504
+ export async function generateDashboard() {
505
+ return getComplianceDashboard().generateDashboard();
506
+ }
507
+ /**
508
+ * Get compliance score
509
+ */
510
+ export async function getComplianceScore() {
511
+ return getComplianceDashboard().getComplianceScore();
512
+ }
513
+ /**
514
+ * Get CLI summary
515
+ */
516
+ export async function getDashboardCLI() {
517
+ return getComplianceDashboard().getSummaryForCLI();
518
+ }
519
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/compliance/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA6JvD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAC,QAAQ,CAAsB;IAE7C,gBAAuB,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAClC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7E,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,EAAE;SACzB,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,aAA8C,CAAC;QAEnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,aAAa,GAAG,eAAe,CAAC;QAClC,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,cAAc,EAAE,aAAa;YAC7B,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,eAAe,EAAE,cAAc;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI;oBAAE,YAAY,EAAE,CAAC;qBACzC,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;oBAAE,cAAc,EAAE,CAAC;;oBAClD,kBAAkB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAC9C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,mBAAmB,EAAE,kBAAkB;SACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QAErC,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACjH,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAElH,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QAEnD,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;QAEtD,uBAAuB;QACvB,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAElE,uBAAuB;QACvB,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC;QAE1D,mBAAmB;QACnB,IAAI,MAAM,GAA4B,WAAW,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,gCAAgC;QAChC,IAAI,WAAW,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,eAAe,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,gBAAgB,EAAE,eAAe;gBACjC,cAAc,EAAE,QAAQ,CAAC,MAAM;aAChC;YACD,cAAc,EAAE;gBACd,gBAAgB,EAAE,SAAS,CAAC,MAAM;gBAClC,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,MAAM;aAC1B;YACD,aAAa,EAAE;gBACb,aAAa,EAAE,WAAW,CAAC,gBAAgB;gBAC3C,mBAAmB,EAAE,WAAW,CAAC,kBAAkB;gBACnD,gBAAgB,EAAE,eAAe,CAAC,MAAM;gBACxC,sBAAsB,EAAE,CAAC,EAAE,iCAAiC;aAC7D;YACD,SAAS,EAAE;gBACT,eAAe,EAAE,eAAe,CAAC,eAAe;gBAChD,sBAAsB,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM;gBACvD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAE/C,qBAAqB;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI;YACpC,kBAAkB,EAAE,KAAK;YACzB,YAAY,EAAE,KAAK;YACnB,oBAAoB,EAAE,KAAK;YAC3B,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,oBAAoB;QACpB,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;QAEnD,iCAAiC;QACjC,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEpF,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAE3D,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,mBAAmB;QACnB,IAAI,MAAM,GAA4B,WAAW,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACrD,MAAM,GAAG,eAAe,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,MAAM;YACN,YAAY,EAAE;gBACZ,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS;gBAC5C,iBAAiB,EAAE,gBAAgB;gBACnC,aAAa,EAAE,YAAY;aAC5B;YACD,QAAQ,EAAE;gBACR,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;gBACnD,cAAc,EAAE,aAAa,CAAC,MAAM;aACrC;YACD,iBAAiB,EAAE;gBACjB,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,uBAAuB,EAAE,iBAAiB,CAAC,MAAM;gBACjD,iBAAiB,EAAE,gBAAgB,CAAC,MAAM;aAC3C;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,WAAW,CAAC,OAAO;gBAClC,0BAA0B,EAAE,WAAW,CAAC,OAAO;gBAC/C,eAAe,EAAE,SAAS,CAAC,KAAK;aACjC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAE5C,yBAAyB;QACzB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,EAAE,CAAC;QAE3D,0BAA0B;QAC1B,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAE/D,oBAAoB;QACpB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,uBAAuB,EAAE,CAAC;QAEnE,wCAAwC;QACxC,IAAI,SAA6B,CAAC;QAClC,wDAAwD;QAExD,mBAAmB;QACnB,IAAI,MAAM,GAA4B,WAAW,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,eAAe,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,MAAM;YACN,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,eAAe,EAAE,CAAC,EAAE,mBAAmB;gBACvC,YAAY,EAAE,WAAW,CAAC,WAAW;gBACrC,eAAe,EAAE,SAAS,CAAC,KAAK;aACjC;YACD,iBAAiB,EAAE;gBACjB,qBAAqB,EAAE,IAAI,EAAE,2BAA2B;gBACxD,cAAc,EAAE,aAAa,CAAC,MAAM;gBACpC,0BAA0B,EAAE,SAAS;aACtC;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,aAAa,CAAC,cAAc;gBAC5C,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,cAAc,EAAE,aAAa,CAAC,cAAc;aAC7C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB;QAChC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;QAE5D,uBAAuB;QACvB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE3C,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5B,CAAC,MAAM,CAAC;QAET,mBAAmB;QACnB,IAAI,MAAM,GAAgC,QAAQ,CAAC;QACnD,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI;YAC7B,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC;QAE3D,IAAI,aAAa,GAAG,CAAC,IAAI,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,aAAa,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC;QAED,OAAO;YACL,MAAM;YACN,SAAS,EAAE;gBACT,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,cAAc,EAAE,aAAa,CAAC,cAAc;gBAC5C,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,UAAU,CAAC,gBAAgB,GAAG,EAAE,EAAE,WAAW;gBACxD,YAAY,EAAE,CAAC,EAAE,+BAA+B;gBAChD,cAAc,EAAE,CAAC,EAAE,8CAA8C;aAClE;YACD,gBAAgB,EAAE;gBAChB,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,WAAW,CAAC,MAAM;gBAChC,gBAAgB,EAAE,eAAe;aAClC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QAEjC,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI,EAAE,CAAC,CAAC,QAAQ;YAChB,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,QAAQ,EAAE,CAAC,CAAC,OAAO;SACpB,CAAC,CAAC,CAAC;QAEJ,qBAAqB;QACrB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,qCAAqC;QACrC,MAAM,YAAY,GAKb,EAAE,CAAC;QAER,OAAO;YACL,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,aAAa;YAC7B,aAAa,EAAE,YAAY;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB;QAO7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEjD,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpE,qBAAqB;QACrB,MAAM,SAAS,GAA2B;YACxC,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5E,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7E,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1E,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,iBAAiB,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChF,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;SAC3E,CAAC;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,MAAiD;QAEjD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,WAAW;gBACd,OAAO,GAAG,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,EAAE,CAAC;YACZ,KAAK,eAAe;gBAClB,OAAO,EAAE,CAAC;YACZ;gBACE,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB;QAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE9C,MAAM,KAAK,GAAa;YACtB,iEAAiE;YACjE,0CAA0C;YAC1C,iEAAiE;YACjE,EAAE;YACF,qBAAqB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;YAClE,uBAAuB,KAAK,CAAC,OAAO,GAAG;YACvC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,EAAE;YACnE,EAAE;YACF,iEAAiE;YACjE,qBAAqB;YACrB,iEAAiE;YACjE,EAAE;YACF,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI;YACvE,yBAAyB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAChE,wBAAwB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YACpE,2BAA2B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;YAC1E,EAAE;YACF,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI;YACvE,qBAAqB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YAC1F,wBAAwB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YACvF,yBAAyB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YACjE,EAAE;YACF,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI;YACvE,sBAAsB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;YACnF,mBAAmB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,kBAAkB;YACtH,EAAE;YACF,iEAAiE;YACjE,iBAAiB;YACjB,iEAAiE;YACjE,EAAE;YACF,aAAa,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC/D,aAAa,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAChD,iBAAiB,SAAS,CAAC,MAAM,CAAC,aAAa,QAAQ,SAAS,CAAC,MAAM,CAAC,eAAe,UAAU,SAAS,CAAC,MAAM,CAAC,mBAAmB,WAAW;YAChJ,EAAE;YACF,iEAAiE;YACjE,YAAY;YACZ,iEAAiE;YACjE,EAAE;YACF,aAAa,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnE,qBAAqB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE;YAClE,mBAAmB,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,YAAY;YAC7G,6BAA6B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE;YAC/E,EAAE;YACF,iEAAiE;SAClE,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC;YACvB,KAAK,SAAS;gBACZ,OAAO,WAAW,CAAC;YACrB,KAAK,eAAe;gBAClB,OAAO,iBAAiB,CAAC;YAC3B;gBACE,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAc;QACvC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,WAAW,CAAC;YACrB,KAAK,UAAU;gBACb,OAAO,YAAY,CAAC;YACtB,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC;YACvB;gBACE,OAAO,WAAW,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAc;QACzC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,WAAW,CAAC;YACrB,KAAK,aAAa;gBAChB,OAAO,eAAe,CAAC;YACzB;gBACE,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QACvC,CAAC;IACH,CAAC;CACF;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,sBAAsB,EAAE,CAAC,iBAAiB,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IAGtC,OAAO,sBAAsB,EAAE,CAAC,kBAAkB,EAAE,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Data Classification System
3
+ *
4
+ * Tags all data by sensitivity level for appropriate handling.
5
+ * Supports GDPR, SOC2, and CSSF compliance requirements.
6
+ *
7
+ * Added by Pantheon Security for enterprise compliance support.
8
+ */
9
+ import { DataClassification, DataCategory, ClassifiedData, LegalBasis, DataInventoryEntry } from "./types.js";
10
+ /**
11
+ * Data Classifier class
12
+ */
13
+ export declare class DataClassifier {
14
+ private static instance;
15
+ private customClassifications;
16
+ private constructor();
17
+ /**
18
+ * Get singleton instance
19
+ */
20
+ static getInstance(): DataClassifier;
21
+ /**
22
+ * Classify a data type
23
+ */
24
+ classify(dataType: string): ClassifiedData | null;
25
+ /**
26
+ * Get the classification level for a data type
27
+ */
28
+ getClassificationLevel(dataType: string): DataClassification;
29
+ /**
30
+ * Check if data requires encryption
31
+ */
32
+ requiresEncryption(dataType: string): boolean;
33
+ /**
34
+ * Check if data access requires audit logging
35
+ */
36
+ requiresAudit(dataType: string): boolean;
37
+ /**
38
+ * Check if data is exportable (for GDPR data portability)
39
+ */
40
+ isExportable(dataType: string): boolean;
41
+ /**
42
+ * Check if data is erasable (for GDPR right to erasure)
43
+ */
44
+ isErasable(dataType: string): boolean;
45
+ /**
46
+ * Get legal basis for processing
47
+ */
48
+ getLegalBasis(dataType: string): LegalBasis;
49
+ /**
50
+ * Get processing purposes
51
+ */
52
+ getProcessingPurposes(dataType: string): string[];
53
+ /**
54
+ * Get retention policy
55
+ */
56
+ getRetentionPolicy(dataType: string): string;
57
+ /**
58
+ * Register a custom classification
59
+ */
60
+ registerClassification(dataType: string, classification: ClassifiedData): void;
61
+ /**
62
+ * Get all known data types
63
+ */
64
+ getAllDataTypes(): string[];
65
+ /**
66
+ * Get data types by classification level
67
+ */
68
+ getDataTypesByClassification(level: DataClassification): string[];
69
+ /**
70
+ * Get data types by category
71
+ */
72
+ getDataTypesByCategory(category: DataCategory): string[];
73
+ /**
74
+ * Build a data inventory entry
75
+ */
76
+ buildInventoryEntry(dataType: string, storageLocation: string): DataInventoryEntry | null;
77
+ /**
78
+ * Parse retention policy to days
79
+ */
80
+ private parseRetentionDays;
81
+ /**
82
+ * Get human-readable description for data type
83
+ */
84
+ private getDataTypeDescription;
85
+ /**
86
+ * Validate classification against compliance requirements
87
+ */
88
+ validateCompliance(dataType: string, regulations: ("GDPR" | "SOC2" | "CSSF")[]): {
89
+ valid: boolean;
90
+ issues: string[];
91
+ };
92
+ }
93
+ /**
94
+ * Get the data classifier instance
95
+ */
96
+ export declare function getDataClassifier(): DataClassifier;
97
+ /**
98
+ * Check if a data type requires encryption
99
+ */
100
+ export declare function requiresEncryption(dataType: string): boolean;
101
+ /**
102
+ * Check if a data type requires audit logging
103
+ */
104
+ export declare function requiresAudit(dataType: string): boolean;
105
+ /**
106
+ * Get the classification level for a data type
107
+ */
108
+ export declare function getClassificationLevel(dataType: string): DataClassification;
109
+ /**
110
+ * Check if data is exportable for GDPR
111
+ */
112
+ export declare function isExportable(dataType: string): boolean;
113
+ /**
114
+ * Check if data can be erased for GDPR
115
+ */
116
+ export declare function isErasable(dataType: string): boolean;
117
+ //# sourceMappingURL=data-classification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-classification.d.ts","sourceRoot":"","sources":["../../src/compliance/data-classification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA+LpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,qBAAqB,CAA0C;IAEvE,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,cAAc;IAO3C;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAcxD;;OAEG;IACI,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAKnE;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKpD;;OAEG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK/C;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK9C;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK5C;;OAEG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAIlD;;OAEG;IACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAIxD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKnD;;OAEG;IACI,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IAIrF;;OAEG;IACI,eAAe,IAAI,MAAM,EAAE;IAMlC;;OAEG;IACI,4BAA4B,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE;IAOxE;;OAEG;IACI,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE;IAO/D;;OAEG;IACI,mBAAmB,CACxB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,kBAAkB,GAAG,IAAI;IAyB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACI,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GACxC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAgDxC;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAE3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD"}