UNPKG

@bonginkan/maria

Version:

MARIA OS v5.9.5 – Self-Evolving Organizational Intelligence OS | Speed Improvement Phase 3: LLM Optimization + Command Refactoring | Performance Measurement + Run Evidence System | Zero ESLint/TypeScript Errors | 人とAIが役割を持ち、学び、進化し続けるための仕事のOS | GraphRAG ×

184 lines (183 loc) 5.55 kB
/** * MARIA Memory System - Phase 4: Enterprise Audit Logger * * Comprehensive audit logging for _compliance and security * with tamper-proof _event recording and regulatory _compliance */ import { EventEmitter } from "node:events"; export interface _AuditEvent { id: string; timestamp: Date; eventType: AuditEventType; userId: string; sessionId: string; action: string; resource: string; result: "success" | "failure" | "partial"; metadata: AuditMetadata; signature: string; previousHash?: string; _hash: string; } export type AuditEventType = "data_access" | "data_modification" | "data_deletion" | "permission_change" | "authentication" | "configuration_change" | "export_operation" | "import_operation" | "compliance_check" | "security_event"; export interface AuditMetadata { ipAddress?: string; userAgent?: string; _location?: string; deviceId?: string; correlationId?: string; riskScore?: number; complianceFlags?: string[]; dataClassification?: DataClassification; tags?: string[]; } export type DataClassification = "public" | "internal" | "confidential" | "restricted" | "pii" | "phi" | "financial"; export interface ComplianceRequirement { id: string; name: string; type: ComplianceType; requirements: string[]; _retentionDays: number; encryptionRequired: boolean; geographicRestrictions?: string[]; } export type ComplianceType = "GDPR" | "HIPAA" | "SOC2" | "ISO27001" | "PCI_DSS" | "CCPA" | "CUSTOM"; export interface AuditQuery { startDate?: Date; endDate?: Date; userId?: string; eventTypes?: AuditEventType[]; resources?: string[]; resultTypes?: string[]; complianceFlags?: string[]; minRiskScore?: number; _limit?: number; _offset?: number; } export interface AuditReport { reportId: string; generatedAt: Date; period: { start: Date; end: Date; }; _summary: AuditSummary; _events: _AuditEvent[]; _compliance: ComplianceStatus[]; _recommendations: string[]; } export interface AuditSummary { totalEvents: number; successfulEvents: number; failedEvents: number; _uniqueUsers: number; riskEvents: number; complianceViolations: number; _eventsByType: Map<AuditEventType, number>; _topResources: Array<{ resource: string; count: number; }>; } export interface ComplianceStatus { requirement: ComplianceRequirement; status: "compliant" | "non_compliant" | "partial" | "not_applicable"; _violations: string[]; lastChecked: Date; } export declare class EnterpriseAuditLogger extends EventEmitter { private auditLog; private hashChain; private complianceRequirements; private encryptionKey; private retentionPolicies; private immutableStorage; private realTimeMonitors; constructor(encryptionKey?: string); /** * Log an audit _event */ logEvent(eventType: AuditEventType, userId: string, action: string, resource: string, result: "success" | "failure" | "partial", metadata?: Partial<AuditMetadata>): Promise<_AuditEvent>; logDataExport(details: { userId: string; sessionId: string; recordCount: number; format: string; _classification: string; success: boolean; duration: number; _error?: string; }): Promise<void>; logDataImport(details: { userId: string; sessionId: string; recordCount: number; format: string; source: string; success: boolean; duration: number; _error?: string; }): Promise<void>; /** * Query audit _events */ query(query: AuditQuery): Promise<_AuditEvent[]>; /** * Generate _compliance report */ generateComplianceReport(startDate: Date, endDate: Date, complianceTypes?: ComplianceType[]): Promise<AuditReport>; /** * Verify audit log integrity */ verifyIntegrity(): Promise<{ valid: boolean; errors: string[]; lastValidEvent?: string; }>; /** * Export audit logs for _compliance */ exportForCompliance(_format: "json" | "csv" | "siem", query?: AuditQuery): Promise<string>; /** * Register _compliance requirement */ registerComplianceRequirement(requirement: ComplianceRequirement): void; /** * Add real-time monitor */ addRealTimeMonitor(_monitor: (_event: _AuditEvent) => void): void; /** * Remove real-time monitor */ removeRealTimeMonitor(_monitor: (_event: _AuditEvent) => void): void; private initializeComplianceRequirements; private enrichMetadata; private signEvent; private verifySignature; private calculateHash; private checkCompliance; private checkRequirementViolations; private isSecurityAlert; private calculateSummary; private assessCompliance; private generateRecommendations; private storeReport; private exportToCSV; private exportToSIEM; private calculateSeverity; private startRetentionManager; private enforceRetentionPolicies; private archiveEvents; private notifyMonitors; private generateEventId; private generateSessionId; private generateCorrelationId; private generateReportId; private getClientIP; private getUserAgent; private getLocation; private getDeviceId; private calculateRiskScore; private isEventEncrypted; private isLocationAllowed; }