UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

89 lines 2.72 kB
/** * @iota-big3/sdk-security - Compliance Automation * Automated compliance assessment and reporting */ import { EventEmitter } from 'events'; import type { ComplianceConfig, ComplianceStandard } from './types'; export interface Evidence { id: string; type: string; title: string; description?: string; url?: string; collectedAt: Date; collectedBy: string; } export interface ComplianceState { security?: { mfaEnabled?: boolean; rbacEnabled?: boolean; sessionTimeout?: number; }; observability?: { loggingEnabled?: boolean; metricsEnabled?: boolean; alertingEnabled?: boolean; }; infrastructure?: { disasterRecovery?: boolean; backupsEnabled?: boolean; }; metrics?: { uptime?: number; }; } export interface ComplianceReport { framework: ComplianceStandard; assessmentDate: Date; overallStatus: 'COMPLIANT' | 'PARTIALLY_COMPLIANT' | 'NON_COMPLIANT'; summary: { complianceScore: number; totalControls: number; compliantControls: number; nonCompliantControls: number; notApplicableControls: number; }; controls: ControlAssessment[]; evidence: Evidence[]; } interface ControlAssessment { controlId: string; controlName: string; status: 'COMPLIANT' | 'NON_COMPLIANT' | 'NOT_APPLICABLE'; evidence?: string[]; notes?: string; } type StateProvider = () => Promise<ComplianceState>; export declare class ComplianceAutomation extends EventEmitter { readonly isEnabled: boolean; private config; private logger; private evidence; private assessments; private isInitialized; private scheduledInterval?; constructor(config: ComplianceConfig, logger: unknown); initialize(): Promise<void>; private initializeFrameworks; addEvidence(evidence: Evidence): Promise<void>; getEvidenceByType(type: string): Evidence[]; runAssessment(state: ComplianceState): Promise<Map<string, ComplianceReport>>; private assessFramework; private getControlsForFramework; private assessControl; private determineOverallStatus; exportComplianceData(): Promise<unknown>; generateReport(framework: string, format: 'pdf' | 'json'): Promise<Buffer | string>; scheduleAssessment(schedule: string, stateProvider: StateProvider): void; stopScheduledAssessment(): void; getStats(): { isInitialized: boolean; evidenceCount: number; assessmentsCount: number; frameworks: ComplianceStandard[]; isEnabled: boolean; }; shutdown(): Promise<void>; } export {}; //# sourceMappingURL=compliance-automation.d.ts.map