@pan-sec/notebooklm-mcp 1.4.0 → 1.6.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 (123) 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/library/notebook-library.d.ts.map +1 -1
  103. package/dist/library/notebook-library.js +2 -1
  104. package/dist/library/notebook-library.js.map +1 -1
  105. package/dist/session/shared-context-manager.d.ts.map +1 -1
  106. package/dist/session/shared-context-manager.js +2 -1
  107. package/dist/session/shared-context-manager.js.map +1 -1
  108. package/dist/utils/audit-logger.d.ts +21 -1
  109. package/dist/utils/audit-logger.d.ts.map +1 -1
  110. package/dist/utils/audit-logger.js +53 -4
  111. package/dist/utils/audit-logger.js.map +1 -1
  112. package/dist/utils/crypto.d.ts.map +1 -1
  113. package/dist/utils/crypto.js +8 -15
  114. package/dist/utils/crypto.js.map +1 -1
  115. package/dist/utils/file-permissions.d.ts +85 -0
  116. package/dist/utils/file-permissions.d.ts.map +1 -0
  117. package/dist/utils/file-permissions.js +180 -0
  118. package/dist/utils/file-permissions.js.map +1 -0
  119. package/dist/utils/settings-manager.d.ts.map +1 -1
  120. package/dist/utils/settings-manager.js +6 -11
  121. package/dist/utils/settings-manager.js.map +1 -1
  122. package/docs/COMPLIANCE-SPEC.md +1452 -0
  123. package/package.json +30 -4
@@ -0,0 +1,469 @@
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, } from "./types.js";
10
+ // ============================================
11
+ // DATA TYPE REGISTRY
12
+ // ============================================
13
+ /**
14
+ * Pre-defined data classifications for known data types
15
+ */
16
+ const DATA_CLASSIFICATIONS = {
17
+ // Authentication & Credentials
18
+ "auth_token": {
19
+ classification: DataClassification.RESTRICTED,
20
+ data_categories: ["credentials"],
21
+ retention_policy: "session",
22
+ encryption_required: true,
23
+ audit_required: true,
24
+ exportable: false,
25
+ erasable: true,
26
+ },
27
+ "mcp_auth_token": {
28
+ classification: DataClassification.RESTRICTED,
29
+ data_categories: ["credentials"],
30
+ retention_policy: "indefinite",
31
+ encryption_required: true,
32
+ audit_required: true,
33
+ exportable: false,
34
+ erasable: true,
35
+ },
36
+ "encryption_keys": {
37
+ classification: DataClassification.RESTRICTED,
38
+ data_categories: ["credentials"],
39
+ retention_policy: "indefinite",
40
+ encryption_required: true,
41
+ audit_required: true,
42
+ exportable: false,
43
+ erasable: true,
44
+ },
45
+ // Browser & Session Data
46
+ "browser_cookies": {
47
+ classification: DataClassification.RESTRICTED,
48
+ data_categories: ["session_data", "personal_data"],
49
+ retention_policy: "24_hours",
50
+ encryption_required: true,
51
+ audit_required: true,
52
+ exportable: true,
53
+ erasable: true,
54
+ },
55
+ "browser_local_storage": {
56
+ classification: DataClassification.CONFIDENTIAL,
57
+ data_categories: ["session_data"],
58
+ retention_policy: "24_hours",
59
+ encryption_required: true,
60
+ audit_required: false,
61
+ exportable: true,
62
+ erasable: true,
63
+ },
64
+ "session_state": {
65
+ classification: DataClassification.CONFIDENTIAL,
66
+ data_categories: ["session_data"],
67
+ retention_policy: "8_hours",
68
+ encryption_required: true,
69
+ audit_required: true,
70
+ exportable: true,
71
+ erasable: true,
72
+ },
73
+ // User Data
74
+ "notebook_library": {
75
+ classification: DataClassification.CONFIDENTIAL,
76
+ data_categories: ["notebook_metadata"],
77
+ retention_policy: "indefinite",
78
+ encryption_required: true,
79
+ audit_required: true,
80
+ exportable: true,
81
+ erasable: true,
82
+ },
83
+ "user_settings": {
84
+ classification: DataClassification.INTERNAL,
85
+ data_categories: ["configuration"],
86
+ retention_policy: "indefinite",
87
+ encryption_required: false,
88
+ audit_required: false,
89
+ exportable: true,
90
+ erasable: true,
91
+ },
92
+ "consent_records": {
93
+ classification: DataClassification.REGULATED,
94
+ data_categories: ["personal_data"],
95
+ retention_policy: "7_years",
96
+ encryption_required: true,
97
+ audit_required: true,
98
+ exportable: true,
99
+ erasable: false, // Must retain for compliance
100
+ },
101
+ // Audit & Compliance Logs
102
+ "audit_logs": {
103
+ classification: DataClassification.REGULATED,
104
+ data_categories: ["audit_logs"],
105
+ retention_policy: "7_years",
106
+ encryption_required: true,
107
+ audit_required: false, // Don't audit the audit logs
108
+ exportable: true,
109
+ erasable: false, // Required for compliance
110
+ },
111
+ "compliance_events": {
112
+ classification: DataClassification.REGULATED,
113
+ data_categories: ["audit_logs"],
114
+ retention_policy: "7_years",
115
+ encryption_required: true,
116
+ audit_required: false,
117
+ exportable: true,
118
+ erasable: false, // Required for compliance
119
+ },
120
+ "security_logs": {
121
+ classification: DataClassification.REGULATED,
122
+ data_categories: ["audit_logs"],
123
+ retention_policy: "7_years",
124
+ encryption_required: true,
125
+ audit_required: false,
126
+ exportable: true,
127
+ erasable: false,
128
+ },
129
+ // Cache & Temporary Data
130
+ "browser_cache": {
131
+ classification: DataClassification.INTERNAL,
132
+ data_categories: ["session_data"],
133
+ retention_policy: "7_days",
134
+ encryption_required: false,
135
+ audit_required: false,
136
+ exportable: false,
137
+ erasable: true,
138
+ },
139
+ "error_logs": {
140
+ classification: DataClassification.INTERNAL,
141
+ data_categories: ["usage_data"],
142
+ retention_policy: "30_days",
143
+ encryption_required: false,
144
+ audit_required: false,
145
+ exportable: true,
146
+ erasable: true,
147
+ },
148
+ };
149
+ /**
150
+ * Legal basis for each data type
151
+ */
152
+ const DATA_LEGAL_BASES = {
153
+ "auth_token": "contract",
154
+ "mcp_auth_token": "contract",
155
+ "encryption_keys": "legal_obligation",
156
+ "browser_cookies": "contract",
157
+ "browser_local_storage": "contract",
158
+ "session_state": "contract",
159
+ "notebook_library": "contract",
160
+ "user_settings": "contract",
161
+ "consent_records": "legal_obligation",
162
+ "audit_logs": "legal_obligation",
163
+ "compliance_events": "legal_obligation",
164
+ "security_logs": "legal_obligation",
165
+ "browser_cache": "legitimate_interest",
166
+ "error_logs": "legitimate_interest",
167
+ };
168
+ /**
169
+ * Processing purposes for each data type
170
+ */
171
+ const DATA_PURPOSES = {
172
+ "auth_token": ["service_provision", "session_management"],
173
+ "mcp_auth_token": ["service_provision", "access_control"],
174
+ "encryption_keys": ["data_protection"],
175
+ "browser_cookies": ["service_provision", "session_management"],
176
+ "browser_local_storage": ["service_provision"],
177
+ "session_state": ["session_management"],
178
+ "notebook_library": ["service_provision"],
179
+ "user_settings": ["service_provision", "personalization"],
180
+ "consent_records": ["legal_compliance"],
181
+ "audit_logs": ["security_logging", "legal_compliance"],
182
+ "compliance_events": ["legal_compliance"],
183
+ "security_logs": ["security_logging", "legal_compliance"],
184
+ "browser_cache": ["performance_optimization"],
185
+ "error_logs": ["error_diagnostics", "service_improvement"],
186
+ };
187
+ // ============================================
188
+ // DATA CLASSIFIER
189
+ // ============================================
190
+ /**
191
+ * Data Classifier class
192
+ */
193
+ export class DataClassifier {
194
+ static instance;
195
+ customClassifications = new Map();
196
+ constructor() { }
197
+ /**
198
+ * Get singleton instance
199
+ */
200
+ static getInstance() {
201
+ if (!DataClassifier.instance) {
202
+ DataClassifier.instance = new DataClassifier();
203
+ }
204
+ return DataClassifier.instance;
205
+ }
206
+ /**
207
+ * Classify a data type
208
+ */
209
+ classify(dataType) {
210
+ // Check custom classifications first
211
+ if (this.customClassifications.has(dataType)) {
212
+ return this.customClassifications.get(dataType);
213
+ }
214
+ // Check built-in classifications
215
+ if (dataType in DATA_CLASSIFICATIONS) {
216
+ return DATA_CLASSIFICATIONS[dataType];
217
+ }
218
+ return null;
219
+ }
220
+ /**
221
+ * Get the classification level for a data type
222
+ */
223
+ getClassificationLevel(dataType) {
224
+ const classified = this.classify(dataType);
225
+ return classified?.classification || DataClassification.INTERNAL;
226
+ }
227
+ /**
228
+ * Check if data requires encryption
229
+ */
230
+ requiresEncryption(dataType) {
231
+ const classified = this.classify(dataType);
232
+ return classified?.encryption_required ?? false;
233
+ }
234
+ /**
235
+ * Check if data access requires audit logging
236
+ */
237
+ requiresAudit(dataType) {
238
+ const classified = this.classify(dataType);
239
+ return classified?.audit_required ?? true;
240
+ }
241
+ /**
242
+ * Check if data is exportable (for GDPR data portability)
243
+ */
244
+ isExportable(dataType) {
245
+ const classified = this.classify(dataType);
246
+ return classified?.exportable ?? false;
247
+ }
248
+ /**
249
+ * Check if data is erasable (for GDPR right to erasure)
250
+ */
251
+ isErasable(dataType) {
252
+ const classified = this.classify(dataType);
253
+ return classified?.erasable ?? false;
254
+ }
255
+ /**
256
+ * Get legal basis for processing
257
+ */
258
+ getLegalBasis(dataType) {
259
+ return DATA_LEGAL_BASES[dataType] || "legitimate_interest";
260
+ }
261
+ /**
262
+ * Get processing purposes
263
+ */
264
+ getProcessingPurposes(dataType) {
265
+ return DATA_PURPOSES[dataType] || ["service_provision"];
266
+ }
267
+ /**
268
+ * Get retention policy
269
+ */
270
+ getRetentionPolicy(dataType) {
271
+ const classified = this.classify(dataType);
272
+ return classified?.retention_policy || "30_days";
273
+ }
274
+ /**
275
+ * Register a custom classification
276
+ */
277
+ registerClassification(dataType, classification) {
278
+ this.customClassifications.set(dataType, classification);
279
+ }
280
+ /**
281
+ * Get all known data types
282
+ */
283
+ getAllDataTypes() {
284
+ const builtIn = Object.keys(DATA_CLASSIFICATIONS);
285
+ const custom = Array.from(this.customClassifications.keys());
286
+ return [...new Set([...builtIn, ...custom])];
287
+ }
288
+ /**
289
+ * Get data types by classification level
290
+ */
291
+ getDataTypesByClassification(level) {
292
+ return this.getAllDataTypes().filter(dt => {
293
+ const classified = this.classify(dt);
294
+ return classified?.classification === level;
295
+ });
296
+ }
297
+ /**
298
+ * Get data types by category
299
+ */
300
+ getDataTypesByCategory(category) {
301
+ return this.getAllDataTypes().filter(dt => {
302
+ const classified = this.classify(dt);
303
+ return classified?.data_categories.includes(category);
304
+ });
305
+ }
306
+ /**
307
+ * Build a data inventory entry
308
+ */
309
+ buildInventoryEntry(dataType, storageLocation) {
310
+ const classified = this.classify(dataType);
311
+ if (!classified)
312
+ return null;
313
+ const retentionDays = this.parseRetentionDays(classified.retention_policy);
314
+ return {
315
+ id: `inv_${dataType}_${Date.now()}`,
316
+ data_type: dataType,
317
+ description: this.getDataTypeDescription(dataType),
318
+ classification: classified.classification,
319
+ data_categories: classified.data_categories,
320
+ storage_location: storageLocation,
321
+ encrypted: classified.encryption_required,
322
+ retention_policy: classified.retention_policy,
323
+ retention_days: retentionDays,
324
+ legal_basis: this.getLegalBasis(dataType),
325
+ processing_purposes: this.getProcessingPurposes(dataType),
326
+ who_can_access: ["owner"],
327
+ exportable: classified.exportable,
328
+ erasable: classified.erasable,
329
+ last_updated: new Date().toISOString(),
330
+ };
331
+ }
332
+ /**
333
+ * Parse retention policy to days
334
+ */
335
+ parseRetentionDays(policy) {
336
+ switch (policy) {
337
+ case "session":
338
+ return 1; // Treat as 1 day max
339
+ case "8_hours":
340
+ return 1;
341
+ case "24_hours":
342
+ return 1;
343
+ case "7_days":
344
+ return 7;
345
+ case "30_days":
346
+ return 30;
347
+ case "7_years":
348
+ return 7 * 365;
349
+ case "indefinite":
350
+ return "indefinite";
351
+ default:
352
+ // Try to parse "X_days" format
353
+ const match = policy.match(/^(\d+)_days$/);
354
+ if (match) {
355
+ return parseInt(match[1], 10);
356
+ }
357
+ return 30; // Default
358
+ }
359
+ }
360
+ /**
361
+ * Get human-readable description for data type
362
+ */
363
+ getDataTypeDescription(dataType) {
364
+ const descriptions = {
365
+ "auth_token": "Session authentication tokens for NotebookLM access",
366
+ "mcp_auth_token": "MCP server authentication token",
367
+ "encryption_keys": "Post-quantum encryption key pairs",
368
+ "browser_cookies": "Browser cookies for NotebookLM session",
369
+ "browser_local_storage": "Browser local storage data",
370
+ "session_state": "Current browser session state",
371
+ "notebook_library": "User's saved notebook collection with URLs and metadata",
372
+ "user_settings": "User preferences and configuration",
373
+ "consent_records": "Record of user consent for data processing",
374
+ "audit_logs": "Security and operational audit trail",
375
+ "compliance_events": "Regulatory compliance event log",
376
+ "security_logs": "Security-specific event log",
377
+ "browser_cache": "Temporary browser cache files",
378
+ "error_logs": "Application error and diagnostic logs",
379
+ };
380
+ return descriptions[dataType] || `Data of type: ${dataType}`;
381
+ }
382
+ /**
383
+ * Validate classification against compliance requirements
384
+ */
385
+ validateCompliance(dataType, regulations) {
386
+ const classified = this.classify(dataType);
387
+ const issues = [];
388
+ if (!classified) {
389
+ issues.push(`Unknown data type: ${dataType}`);
390
+ return { valid: false, issues };
391
+ }
392
+ // GDPR requirements
393
+ if (regulations.includes("GDPR")) {
394
+ if (classified.data_categories.includes("personal_data")) {
395
+ if (!classified.encryption_required) {
396
+ issues.push("GDPR: Personal data should be encrypted");
397
+ }
398
+ if (!classified.exportable) {
399
+ issues.push("GDPR: Personal data should be exportable for data portability");
400
+ }
401
+ }
402
+ }
403
+ // SOC2 requirements
404
+ if (regulations.includes("SOC2")) {
405
+ if (classified.classification === DataClassification.RESTRICTED ||
406
+ classified.classification === DataClassification.REGULATED) {
407
+ if (!classified.audit_required && !classified.data_categories.includes("audit_logs")) {
408
+ issues.push("SOC2: Sensitive data access should be audited");
409
+ }
410
+ }
411
+ }
412
+ // CSSF requirements (Luxembourg financial regulator)
413
+ if (regulations.includes("CSSF")) {
414
+ if (classified.data_categories.includes("audit_logs")) {
415
+ const retentionDays = this.parseRetentionDays(classified.retention_policy);
416
+ if (retentionDays !== "indefinite" && retentionDays < 7 * 365) {
417
+ issues.push("CSSF: Audit logs must be retained for at least 7 years");
418
+ }
419
+ }
420
+ }
421
+ return {
422
+ valid: issues.length === 0,
423
+ issues,
424
+ };
425
+ }
426
+ }
427
+ // ============================================
428
+ // SINGLETON ACCESS
429
+ // ============================================
430
+ /**
431
+ * Get the data classifier instance
432
+ */
433
+ export function getDataClassifier() {
434
+ return DataClassifier.getInstance();
435
+ }
436
+ // ============================================
437
+ // CONVENIENCE EXPORTS
438
+ // ============================================
439
+ /**
440
+ * Check if a data type requires encryption
441
+ */
442
+ export function requiresEncryption(dataType) {
443
+ return getDataClassifier().requiresEncryption(dataType);
444
+ }
445
+ /**
446
+ * Check if a data type requires audit logging
447
+ */
448
+ export function requiresAudit(dataType) {
449
+ return getDataClassifier().requiresAudit(dataType);
450
+ }
451
+ /**
452
+ * Get the classification level for a data type
453
+ */
454
+ export function getClassificationLevel(dataType) {
455
+ return getDataClassifier().getClassificationLevel(dataType);
456
+ }
457
+ /**
458
+ * Check if data is exportable for GDPR
459
+ */
460
+ export function isExportable(dataType) {
461
+ return getDataClassifier().isExportable(dataType);
462
+ }
463
+ /**
464
+ * Check if data can be erased for GDPR
465
+ */
466
+ export function isErasable(dataType) {
467
+ return getDataClassifier().isErasable(dataType);
468
+ }
469
+ //# sourceMappingURL=data-classification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-classification.js","sourceRoot":"","sources":["../../src/compliance/data-classification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Data Erasure Tool
3
+ *
4
+ * Complete deletion of user data with secure wiping.
5
+ * Implements GDPR Article 17 (Right to Erasure / Right to be Forgotten).
6
+ *
7
+ * Added by Pantheon Security for enterprise compliance support.
8
+ */
9
+ import type { ErasureRequest, ErasureScope } from "./types.js";
10
+ /**
11
+ * Data Erasure Manager class
12
+ */
13
+ export declare class DataErasureManager {
14
+ private static instance;
15
+ private erasureLogFile;
16
+ private erasureRequests;
17
+ private loaded;
18
+ private constructor();
19
+ /**
20
+ * Get singleton instance
21
+ */
22
+ static getInstance(): DataErasureManager;
23
+ /**
24
+ * Load erasure history from storage
25
+ */
26
+ private load;
27
+ /**
28
+ * Save erasure history to storage
29
+ */
30
+ private save;
31
+ /**
32
+ * Create a new erasure request
33
+ */
34
+ createRequest(scope?: Partial<ErasureScope>): Promise<ErasureRequest>;
35
+ /**
36
+ * Confirm and execute an erasure request
37
+ */
38
+ confirmAndExecute(requestId: string): Promise<ErasureRequest | null>;
39
+ /**
40
+ * Erase notebook library
41
+ */
42
+ private eraseNotebooks;
43
+ /**
44
+ * Erase user settings
45
+ */
46
+ private eraseSettings;
47
+ /**
48
+ * Erase browser data
49
+ */
50
+ private eraseBrowserData;
51
+ /**
52
+ * Erase audit logs
53
+ */
54
+ private eraseAuditLogs;
55
+ /**
56
+ * Erase encryption keys (crypto shred)
57
+ */
58
+ private eraseEncryptionKeys;
59
+ /**
60
+ * Erase consent records
61
+ */
62
+ private eraseConsentRecords;
63
+ /**
64
+ * Erase privacy acknowledgments
65
+ */
66
+ private erasePrivacyAcknowledgments;
67
+ /**
68
+ * Get erasure request by ID
69
+ */
70
+ getRequest(requestId: string): Promise<ErasureRequest | null>;
71
+ /**
72
+ * Get all erasure requests
73
+ */
74
+ getAllRequests(): Promise<ErasureRequest[]>;
75
+ /**
76
+ * Get pending erasure requests
77
+ */
78
+ getPendingRequests(): Promise<ErasureRequest[]>;
79
+ /**
80
+ * Cancel a pending erasure request
81
+ */
82
+ cancelRequest(requestId: string): Promise<boolean>;
83
+ /**
84
+ * Get erasure summary
85
+ */
86
+ getSummary(): Promise<{
87
+ total_requests: number;
88
+ pending_requests: number;
89
+ completed_requests: number;
90
+ total_items_deleted: number;
91
+ total_bytes_deleted: number;
92
+ }>;
93
+ }
94
+ /**
95
+ * Get the data erasure manager instance
96
+ */
97
+ export declare function getDataErasureManager(): DataErasureManager;
98
+ /**
99
+ * Create a new erasure request
100
+ */
101
+ export declare function createErasureRequest(scope?: Partial<ErasureScope>): Promise<ErasureRequest>;
102
+ /**
103
+ * Confirm and execute an erasure request
104
+ */
105
+ export declare function executeErasureRequest(requestId: string): Promise<ErasureRequest | null>;
106
+ /**
107
+ * Get pending erasure requests
108
+ */
109
+ export declare function getPendingErasureRequests(): Promise<ErasureRequest[]>;
110
+ //# sourceMappingURL=data-erasure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-erasure.d.ts","sourceRoot":"","sources":["../../src/compliance/data-erasure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AA2F9E;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;IAKP;;OAEG;WACW,WAAW,IAAI,kBAAkB;IAO/C;;OAEG;YACW,IAAI;IAgBlB;;OAEG;YACW,IAAI;IAalB;;OAEG;IACU,aAAa,CACxB,KAAK,GAAE,OAAO,CAAC,YAAY,CAAM,GAChC,OAAO,CAAC,cAAc,CAAC;IA8C1B;;OAEG;IACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2EjF;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,aAAa;IA6B3B;;OAEG;YACW,gBAAgB;IA0C9B;;OAEG;YACW,cAAc;IAwB5B;;OAEG;YACW,mBAAmB;IAgCjC;;OAEG;YACW,mBAAmB;IAKjC;;OAEG;YACW,2BAA2B;IAKzC;;OAEG;IACU,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK1E;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKxD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAK5D;;OAEG;IACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B/D;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC;QACjC,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CAwBH;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,GAAE,OAAO,CAAC,YAAY,CAAM,GAChC,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAE7F;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3E"}