@codai/memorai-core
Version:
Simplified advanced memory engine - no tiers, just powerful semantic search with persistence
174 lines • 5.46 kB
TypeScript
/**
* 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