/** * Comprehensive Compliance Checklists * * GDPR, CCPA, HIPAA, SOX, PCI-DSS, ISO 27001 compliance frameworks * with automated assessment, gap analysis, and remediation tracking */ /// import { EventEmitter } from "events"; export interface ComplianceFramework { id: string; name: string; version: string; description: string; jurisdiction: string[]; scope: string[]; controls: ComplianceControl[]; assessment_frequency: "monthly" | "quarterly" | "semi_annual" | "annual"; certification_required: boolean; penalties: { financial: { min: number; max: number; }; operational: string[]; reputational: string[]; }; effective_date: Date; last_updated: Date; } export interface ComplianceControl { id: string; framework_id: string; control_id: string; title: string; description: string; category: string; subcategory?: string; control_type: "preventive" | "detective" | "corrective" | "deterrent" | "recovery" | "compensating"; implementation_guidance: string; evidence_requirements: string[]; testing_procedures: string[]; maturity_levels: { level_1: string; level_2: string; level_3: string; level_4: string; level_5: string; }; dependencies: string[]; risk_if_not_implemented: "low" | "medium" | "high" | "critical"; implementation_cost: "low" | "medium" | "high" | "very_high"; complexity: "low" | "medium" | "high" | "very_high"; } export interface ComplianceAssessment { id: string; framework_id: string; assessment_date: Date; assessor: string; scope: string[]; methodology: "self_assessment" | "internal_audit" | "external_audit" | "penetration_test" | "automated_scan"; control_assessments: ControlAssessment[]; overall_status: "compliant" | "mostly_compliant" | "partially_compliant" | "non_compliant"; compliance_score: number; gaps_identified: ComplianceGap[]; recommendations: string[]; remediation_plan: RemediationPlan; next_assessment_date: Date; certification_status?: { certified: boolean; certificate_number?: string; valid_until?: Date; certifying_body?: string; }; } export interface ControlAssessment { control_id: string; status: "implemented" | "partially_implemented" | "not_implemented" | "not_applicable"; maturity_level: 1 | 2 | 3 | 4 | 5; effectiveness: "effective" | "partially_effective" | "ineffective" | "not_tested"; evidence_collected: Evidence[]; findings: Finding[]; exceptions: Exception[]; last_tested: Date; next_test_date: Date; responsible_party: string; implementation_notes: string; cost_to_implement?: number; target_completion_date?: Date; } export interface Evidence { id: string; type: "document" | "screenshot" | "log_file" | "configuration" | "policy" | "procedure" | "training_record" | "test_result"; title: string; description: string; location: string; collected_date: Date; collected_by: string; retention_period: number; classification: "public" | "internal" | "confidential" | "restricted"; hash: string; } export interface Finding { id: string; type: "deficiency" | "weakness" | "observation" | "best_practice"; severity: "critical" | "high" | "medium" | "low" | "informational"; title: string; description: string; impact: string; recommendation: string; remediation_effort: "low" | "medium" | "high" | "very_high"; risk_rating: "low" | "medium" | "high" | "critical"; status: "open" | "in_progress" | "resolved" | "accepted_risk" | "false_positive"; identified_date: Date; target_resolution_date?: Date; actual_resolution_date?: Date; responsible_party: string; } export interface Exception { id: string; control_id: string; exception_type: "permanent" | "temporary" | "conditional"; justification: string; compensating_controls: string[]; risk_acceptance: { accepted_by: string; acceptance_date: Date; review_date: Date; }; conditions: string[]; expiration_date?: Date; status: "active" | "expired" | "revoked"; } export interface ComplianceGap { id: string; framework_id: string; control_id: string; gap_type: "implementation" | "documentation" | "testing" | "monitoring" | "training"; description: string; impact: "low" | "medium" | "high" | "critical"; effort_to_close: "low" | "medium" | "high" | "very_high"; estimated_cost: number; target_closure_date: Date; assigned_to: string; status: "identified" | "planned" | "in_progress" | "closed" | "deferred"; dependencies: string[]; } export interface RemediationPlan { id: string; assessment_id: string; plan_date: Date; planner: string; total_gaps: number; critical_gaps: number; high_priority_gaps: number; estimated_total_cost: number; estimated_completion_date: Date; remediation_items: RemediationItem[]; milestones: Milestone[]; risk_mitigation_strategy: string; resource_requirements: { personnel: string[]; budget: number; technology: string[]; training: string[]; }; } export interface RemediationItem { id: string; gap_id: string; title: string; description: string; priority: "critical" | "high" | "medium" | "low"; estimated_effort: number; estimated_cost: number; assigned_to: string; dependencies: string[]; start_date: Date; target_completion_date: Date; actual_completion_date?: Date; status: "not_started" | "in_progress" | "completed" | "blocked" | "cancelled"; progress_percentage: number; deliverables: string[]; success_criteria: string[]; risks: string[]; mitigation_actions: string[]; } export interface Milestone { id: string; name: string; description: string; target_date: Date; actual_date?: Date; status: "pending" | "completed" | "missed" | "at_risk"; deliverables: string[]; dependencies: string[]; responsible_party: string; } export interface ComplianceReport { id: string; report_type: "executive_summary" | "detailed_assessment" | "gap_analysis" | "remediation_status" | "certification_readiness"; framework_id: string; assessment_id: string; generation_date: Date; report_period: { start: Date; end: Date; }; executive_summary: { overall_compliance_score: number; compliance_trend: "improving" | "stable" | "declining"; critical_findings: number; high_priority_gaps: number; estimated_remediation_cost: number; key_recommendations: string[]; }; detailed_findings: Finding[]; gap_analysis: ComplianceGap[]; remediation_progress: { total_items: number; completed_items: number; in_progress_items: number; overdue_items: number; completion_percentage: number; }; risk_assessment: { residual_compliance_risk: "low" | "medium" | "high" | "critical"; key_risk_factors: string[]; mitigation_strategies: string[]; }; recommendations: { immediate_actions: string[]; short_term_priorities: string[]; long_term_initiatives: string[]; }; appendices: { evidence_inventory: Evidence[]; control_matrix: any; remediation_timeline: any; }; } export declare class ComplianceManager extends EventEmitter { private logger; private frameworks; private assessments; private remediationPlans; private complianceReports; private evidenceStore; private findings; private exceptions; private automatedChecks; private complianceMonitoring; private metrics; constructor(); /** * GDPR Compliance Assessment */ assessGDPRCompliance(scope: string[], options?: { include_data_mapping?: boolean; include_privacy_impact?: boolean; include_breach_procedures?: boolean; deep_assessment?: boolean; }): Promise; /** * Get frameworks */ getFrameworks(): ComplianceFramework[]; /** * Get assessments */ getAssessments(): ComplianceAssessment[]; /** * Get metrics */ getMetrics(): { frameworks_managed: number; assessments_completed: number; controls_implemented: number; gaps_identified: number; gaps_closed: number; findings_resolved: number; evidence_collected: number; reports_generated: number; }; private initializeFrameworks; private initializeAutomatedChecks; private startContinuousMonitoring; private performContinuousMonitoring; } //# sourceMappingURL=compliance-checklists.d.ts.map