UNPKG

@codai/memorai-core

Version:

Simplified advanced memory engine - no tiers, just powerful semantic search with persistence

174 lines 5.46 kB
/** * Enterprise Compliance Monitor * Comprehensive compliance monitoring and reporting for enterprise environments */ import { MemoryMetadata } from '../types/index.js'; import { ComplianceStandard, SecurityAuditEvent } from './AdvancedMemorySecurityManager.js'; export interface CompliancePolicy { id: string; name: string; standard: ComplianceStandard; description: string; rules: ComplianceRule[]; severity: 'low' | 'medium' | 'high' | 'critical'; enabled: boolean; autoRemediation: boolean; } export interface ComplianceRule { id: string; name: string; description: string; condition: (event: SecurityAuditEvent | MemoryMetadata) => boolean; action: ComplianceAction; remediation?: string; } export type ComplianceAction = 'log_violation' | 'alert_admin' | 'block_access' | 'encrypt_data' | 'delete_data' | 'anonymize_data' | 'notify_data_subject' | 'generate_report'; export interface ComplianceViolation { id: string; timestamp: Date; policyId: string; ruleId: string; severity: 'low' | 'medium' | 'high' | 'critical'; description: string; dataSubject?: string; memoryId?: string; auditEventId?: string; remediated: boolean; remediationDate?: Date; remediationActions: string[]; metadata: Record<string, any>; } export interface ComplianceReport { id: string; generated: Date; period: { start: Date; end: Date; }; standard: ComplianceStandard; summary: { totalEvents: number; violations: number; remediatedViolations: number; complianceScore: number; riskLevel: 'low' | 'medium' | 'high' | 'critical'; }; categories: { dataProcessing: ComplianceCategory; accessControl: ComplianceCategory; encryption: ComplianceCategory; audit: ComplianceCategory; retention: ComplianceCategory; breach: ComplianceCategory; }; recommendations: ComplianceRecommendation[]; violations: ComplianceViolation[]; } export interface ComplianceCategory { name: string; score: number; violations: number; recommendations: string[]; status: 'compliant' | 'non-compliant' | 'partial'; } export interface ComplianceRecommendation { id: string; title: string; description: string; priority: 'low' | 'medium' | 'high' | 'critical'; impact: string; effort: 'low' | 'medium' | 'high'; timeline: string; cost?: 'low' | 'medium' | 'high'; } export interface DataSubjectRequest { id: string; type: 'access' | 'rectification' | 'erasure' | 'portability' | 'restriction' | 'objection'; dataSubject: string; requestDate: Date; status: 'pending' | 'processing' | 'completed' | 'rejected'; dueDate: Date; processedBy?: string; completionDate?: Date; data?: unknown; reason?: string; } export declare class EnterpriseComplianceMonitor { private enabledStandards; private policies; private violations; private dataSubjectRequests; private reports; constructor(enabledStandards?: ComplianceStandard[]); /** * Initialize compliance policies for enabled standards */ private initializeCompliancePolicies; /** * Monitor audit event for compliance violations */ monitorAuditEvent(event: SecurityAuditEvent): Promise<ComplianceViolation[]>; /** * Monitor memory data for compliance violations */ monitorMemoryData(memory: MemoryMetadata): Promise<ComplianceViolation[]>; /** * Process data subject request (GDPR Article 15-21) */ processDataSubjectRequest(request: Omit<DataSubjectRequest, 'id' | 'status' | 'dueDate'>): Promise<DataSubjectRequest>; /** * Generate comprehensive compliance report */ generateComplianceReport(standard: ComplianceStandard, startDate: Date, endDate: Date): Promise<ComplianceReport>; /** * Get compliance dashboard data */ getComplianceDashboard(): { overview: { totalPolicies: number; activePolicies: number; totalViolations: number; openViolations: number; averageComplianceScore: number; }; violationsTrend: { date: string; count: number; }[]; topViolations: { policyName: string; count: number; }[]; dataSubjectRequests: { pending: number; processing: number; completed: number; overdue: number; }; complianceScores: { standard: ComplianceStandard; score: number; }[]; }; private createGDPRPolicies; private createHIPAAPolicies; private createSOC2Policies; private createISO27001Policies; private createFedRAMPPolicies; private createPCIDSSPolicies; private createViolation; private remediateViolation; private startDataSubjectRequestProcessing; private collectDataSubjectData; private eraseDataSubjectData; private exportDataSubjectData; private calculateDueDate; private calculateComplianceScore; private calculateRiskLevel; private generateCategoryAnalysis; private generateRecommendations; private generateViolationId; private generateRequestId; private generateReportId; } //# sourceMappingURL=EnterpriseComplianceMonitor.d.ts.map