/**
* 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