/** * Compliance Dashboard * * Provides a unified view of compliance status across all regulations. * Aggregates data from all compliance components for reporting. * * Added by Pantheon Security for enterprise compliance support. */ import type { IncidentType, IncidentSeverity, IncidentStatus } from "./types.js"; /** * Dashboard data structure */ export interface DashboardData { generated_at: string; overall_status: "compliant" | "at_risk" | "non_compliant"; health: HealthSummary; gdpr: GDPRDashboard; soc2: SOC2Dashboard; cssf: CSSFDashboard; security: SecurityDashboard; recent_activity: RecentActivity; } /** * Health summary */ interface HealthSummary { status: "healthy" | "degraded" | "unhealthy" | "unknown"; uptime_seconds: number; uptime_formatted: string; last_check?: string; components_up: number; components_down: number; components_degraded: number; } /** * GDPR compliance dashboard */ interface GDPRDashboard { status: "compliant" | "at_risk" | "non_compliant"; consent: { valid_consents: number; expired_consents: number; total_purposes: number; }; data_inventory: { total_categories: number; exportable: number; erasable: number; }; data_subjects: { pending_dsars: number; completed_dsars_30d: number; pending_erasures: number; completed_erasures_30d: number; }; retention: { active_policies: number; items_due_for_deletion: number; last_cleanup?: string; }; } /** * SOC2 compliance dashboard */ interface SOC2Dashboard { status: "compliant" | "at_risk" | "non_compliant"; availability: { current_status: string; uptime_percentage: number | null; uptime_percentage_measured: boolean; last_incident?: string; }; security: { encryption_enabled: boolean; auth_enabled: boolean; cert_pinning_enabled: boolean; open_incidents: number; }; change_management: { changes_30d: number; high_impact_changes_30d: number; pending_approvals: number; }; logging: { audit_enabled: boolean; compliance_logging_enabled: boolean; integrity_valid: boolean; }; } /** * CSSF compliance dashboard */ interface CSSFDashboard { status: "compliant" | "at_risk" | "non_compliant"; audit_trail: { enabled: boolean; retention_years: number; total_events: number; integrity_valid: boolean; }; incident_response: { documented_procedures: boolean; open_incidents: number; mean_time_to_respond_hours?: number; }; policies: { total_policies: number; enforced_policies: number; due_for_review: number; }; } /** * Security dashboard */ interface SecurityDashboard { status: "secure" | "at_risk" | "compromised"; incidents: { total_incidents: number; open_incidents: number; by_severity: Record; by_status: Record; by_type: Record; }; alerts: { total_24h: number; critical_24h: number; unacknowledged: number | null; unacknowledged_tracked: boolean; }; breach_detection: { enabled: boolean; active_rules: number; blocked_patterns: number; }; } /** * Recent activity */ interface RecentActivity { recent_events: Array<{ timestamp: string; type: string; description: string; severity: string; }>; recent_changes: Array<{ timestamp: string; component: string; setting: string; impact: string; }>; recent_alerts: Array<{ timestamp: string; severity: string; title: string; acknowledged: boolean; }>; } /** * Compliance Dashboard class */ export declare class ComplianceDashboard { private static instance; private constructor(); /** * Get singleton instance */ static getInstance(): ComplianceDashboard; /** * Generate full dashboard data */ generateDashboard(): Promise; /** * Get health summary */ private getHealthSummary; /** * Get GDPR dashboard */ private getGDPRDashboard; /** * Get SOC2 dashboard */ private getSOC2Dashboard; /** * Get CSSF dashboard */ private getCSSFDashboard; /** * Get security dashboard */ private getSecurityDashboard; /** * Get recent activity */ private getRecentActivity; /** * Get compliance score (0-100) */ getComplianceScore(): Promise<{ overall: number; gdpr: number; soc2: number; cssf: number; breakdown: Record; }>; /** * Calculate score from status */ private calculateRegulationScore; /** * Get compliance summary for CLI display */ getSummaryForCLI(): Promise; /** * Format compliance status for display */ private formatStatus; /** * Format health status for display */ private formatHealthStatus; /** * Format security status for display */ private formatSecurityStatus; } /** * Get the compliance dashboard instance */ export declare function getComplianceDashboard(): ComplianceDashboard; /** * Generate full dashboard data */ export declare function generateDashboard(): Promise; /** * Get compliance score */ export declare function getComplianceScore(): Promise>; /** * Get CLI summary */ export declare function getDashboardCLI(): Promise; export {};