/** * Data Classification System * * Tags all data by sensitivity level for appropriate handling. * Supports GDPR, SOC2, and CSSF compliance requirements. * * Added by Pantheon Security for enterprise compliance support. */ import { DataClassification, DataCategory, ClassifiedData, LegalBasis, DataInventoryEntry } from "./types.js"; /** * Data Classifier class */ export declare class DataClassifier { private static instance; private customClassifications; private constructor(); /** * Get singleton instance */ static getInstance(): DataClassifier; /** * Classify a data type */ classify(dataType: string): ClassifiedData | null; /** * Get the classification level for a data type */ getClassificationLevel(dataType: string): DataClassification; /** * Check if data requires encryption */ requiresEncryption(dataType: string): boolean; /** * Check if data access requires audit logging */ requiresAudit(dataType: string): boolean; /** * Check if data is exportable (for GDPR data portability) */ isExportable(dataType: string): boolean; /** * Check if data is erasable (for GDPR right to erasure) */ isErasable(dataType: string): boolean; /** * Get legal basis for processing */ getLegalBasis(dataType: string): LegalBasis; /** * Get processing purposes */ getProcessingPurposes(dataType: string): string[]; /** * Get retention policy */ getRetentionPolicy(dataType: string): string; /** * Register a custom classification */ registerClassification(dataType: string, classification: ClassifiedData): void; /** * Get all known data types */ getAllDataTypes(): string[]; /** * Get data types by classification level */ getDataTypesByClassification(level: DataClassification): string[]; /** * Get data types by category */ getDataTypesByCategory(category: DataCategory): string[]; /** * Build a data inventory entry */ buildInventoryEntry(dataType: string, storageLocation: string): DataInventoryEntry | null; /** * Parse retention policy to days */ private parseRetentionDays; /** * Get human-readable description for data type */ private getDataTypeDescription; /** * Validate classification against compliance requirements */ validateCompliance(dataType: string, regulations: ("GDPR" | "SOC2" | "CSSF")[]): { valid: boolean; issues: string[]; }; } /** * Get the data classifier instance */ export declare function getDataClassifier(): DataClassifier; /** * Check if a data type requires encryption */ export declare function requiresEncryption(dataType: string): boolean; /** * Check if a data type requires audit logging */ export declare function requiresAudit(dataType: string): boolean; /** * Get the classification level for a data type */ export declare function getClassificationLevel(dataType: string): DataClassification; /** * Check if data is exportable for GDPR */ export declare function isExportable(dataType: string): boolean; /** * Check if data can be erased for GDPR */ export declare function isErasable(dataType: string): boolean;