diff --git a/PREMIUM_FEATURES_ROADMAP.md b/PREMIUM_FEATURES_ROADMAP.md
new file mode 100644
index 0000000..70699c1
--- /dev/null
+++ b/PREMIUM_FEATURES_ROADMAP.md
@@ -0,0 +1,608 @@
+# TrustOS Premium Features Roadmap
+
+## Strategic Overview
+
+Transform TrustOS from a $50K/year audit tool into a **$150K-$200K/year sticky subscription** through premium features that embed into critical business cycles.
+
+**Business Model Progression:**
+- **Phase 1 (Now)**: $50K-$100K per audit
+- **Phase 2 (3 months)**: $100K/year base + $80K-$120K premium features
+- **Phase 3 (6 months)**: $140K-$180K/year per customer (2.5-3x expansion)
+
+---
+
+## đ Top 5 Premium Features (Ranked by Revenue Impact)
+
+### 1. BOARD PRESENTATION AUTOPILOT đ¯
+**Revenue Impact**: $180K-$250K/year per customer
+**Implementation**: 80-120 hours
+**Stickiness**: 95/100
+**Competitive Advantage**: 9/10
+
+**What It Does:**
+- Auto-generates board-ready presentations every quarter (90 days)
+- Slide deck shows: cyber health trend, risk trajectory, financial impact, peer benchmarks, remediation progress
+- PDF export optimized for board packs, shareable via Slack/email
+- Tracks board meeting outcomes and risk decisions
+- Compares to peer organizations (anonymized benchmarking)
+
+**Why It's Valuable:**
+- Boards demand cyber risk visibility quarterly
+- CFOs/CEOs currently spend 40+ hours building these from scratch
+- TrustOS becomes the source of truth for board discussions
+- Creates annual renewal cycle tied to board calendar
+
+**Technical Implementation:**
+```python
+# New endpoint: POST /api/v1/reports/board-deck/{tenant_id}
+# Returns: PDF + JSON of metrics
+# Uses: ReportGenerator service + Recharts for charts
+# Database: audit_reports + board_presentations table
+
+Features:
+- Executive summary (1 slide)
+- 90-day cyber health trend
+- Top 10 risks with remediation status
+- Risk trajectory (improving/declining/stable)
+- Financial impact quantification
+- Peer benchmarking (anonymized)
+- Board decisions log
+- Next quarter priorities
+```
+
+**Monetization:**
+- Included in Premium tier
+- $30K-$40K/year additional
+- High stickiness: Board meetings trigger monthly engagement
+
+---
+
+### 2. CYBER INSURANCE INTEGRATION & PREMIUM OPTIMIZATION đ°
+**Revenue Impact**: $220K-$350K/year
+**Implementation**: 120-180 hours
+**Stickiness**: 92/100
+**Competitive Advantage**: 10/10 (First-mover advantage)
+
+**What It Does:**
+- Integrates with 10+ cyber insurance carriers (Beazley, Chubb, Hiscox, etc.)
+- Uploads cyber health snapshot to insurers' underwriting systems
+- Tracks insurance eligibility and premium optimization opportunities
+- Shows potential premium reduction (10-30%) based on improvements
+- Automates policy renewal recommendations
+
+**Why It's Valuable:**
+- Insurers demand cyber hygiene proof for lower premiums
+- CFOs see direct ROI: Reduce cyber insurance by $50K-$200K/year
+- Creates integration partnership channel (insurance brokers)
+- Customer ROI often pays for entire TrustOS subscription
+
+**Technical Implementation:**
+```python
+# New module: app/integrations/insurance/
+# Supported carriers:
+# - Beazley (API integration)
+# - Chubb (via portal uploads)
+# - Hiscox (REST API)
+# - AIG, Zurich, Arch, XL Catlin
+
+# New endpoints:
+POST /api/v1/insurance/connect/{tenant_id} # Authorize carrier
+GET /api/v1/insurance/quote-simulation # Premium estimate
+POST /api/v1/insurance/submit-snapshot # Upload data to carrier
+GET /api/v1/insurance/savings-estimate # ROI calculation
+
+# Database:
+- insurance_carriers table
+- policy_submissions table
+- premium_history table
+```
+
+**Insurance Carrier Integration Points:**
+```
+Beazley:
+ - Annual cyber health score upload
+ - Controls premium by 5-15%
+ - API: REST endpoint for risk assessment
+
+Chubb:
+ - Quarterly submission of top findings
+ - Premium reduction: 10-20%
+ - Portal: Web upload of audit reports
+
+Hiscox:
+ - Monthly active monitoring feed
+ - Real-time premium adjustment
+ - API: Streaming vulnerability data
+```
+
+**Business Model:**
+- Revenue share with insurance brokers (20-30% commission on saved premiums)
+- Premium tier: $40K-$50K/year
+- Customer saves $50K-$200K/year on insurance
+- ROI for customer: 10-20x (immediate)
+
+**Go-to-Market:**
+- Partner with top 50 cyber insurance brokers
+- Each broker recommends TrustOS to their clients
+- "Save 15% on cyber insurance" becomes primary value prop
+- Create broker partner network portal
+
+---
+
+### 3. PREDICTIVE RISK MODELING & BREACH SIMULATION đŽ
+**Revenue Impact**: $200K-$280K/year
+**Implementation**: 100-150 hours
+**Stickiness**: 88/100
+**Competitive Advantage**: 9/10
+
+**What It Does:**
+- Predicts likelihood of breach in next 12 months based on vulnerabilities
+- Estimates potential financial impact if breach occurs ($M range)
+- Shows breach cost breakdown: regulatory fines, customer notification, recovery, reputation
+- Simulates impact of remediation (how much risk reduction per fix)
+- Benchmarks against industry (e.g., healthcare: 5% breach likelihood vs their 12%)
+
+**Why It's Valuable:**
+- CFOs/Boards understand business impact better than technical metrics
+- Links cyber risk to financial planning
+- Justifies security budgets with concrete $ numbers
+- Shows ROI of remediation investments
+- Differentiates from Rapid7/Tenable (backward-looking)
+
+**Technical Implementation:**
+```python
+# New service: app/services/predictive_risk_engine.py
+
+class BreachRiskPredictor:
+ def calculate_breach_likelihood(finding):
+ # Risk = severity à exploitability à exposure_time
+ # Uses CVSS + trend data
+ return likelihood_percentage # 5-95%
+
+ def estimate_breach_cost(tenant):
+ # Regulatory fines (varies by industry/region)
+ # - Healthcare (HIPAA): $100-$50K per record
+ # - Finance (PCI-DSS): $50-$100K per record
+ # - General (GDPR): up to âŦ20M or 4% revenue
+ # Customer notification costs
+ # System recovery & downtime
+ # Reputation damage
+ return estimated_cost_millions # $1M-$50M+
+
+ def roi_of_remediation(finding):
+ # Show: Fix this = reduce breach likelihood by X%
+ # = save $Y in potential costs
+ return roi_calculation
+
+# New endpoints:
+GET /api/v1/predictive/breach-risk/{tenant_id} # Likelihood %
+GET /api/v1/predictive/financial-impact # Cost in $M
+GET /api/v1/predictive/remediation-roi/{finding_id} # $ saved by fix
+GET /api/v1/predictive/scenario-simulation # What-if analysis
+```
+
+**Database Schema:**
+```sql
+CREATE TABLE predictive_models (
+ tenant_id UUID,
+ calculation_date DATE,
+ breach_likelihood_12m DECIMAL, -- 5.2%
+ estimated_breach_cost_usd BIGINT, -- $2,500,000
+ cost_breakdown JSONB, -- {fines: 1M, notification: 500K, ...}
+ industry ENUM, -- healthcare, finance, retail, etc
+ industry_median_likelihood DECIMAL,
+ findings_contributing_most JSONB -- Top factors
+);
+
+CREATE TABLE remediation_simulations (
+ finding_id UUID,
+ risk_reduction_if_fixed DECIMAL, -- -2.5%
+ financial_impact_of_fix BIGINT, -- $250,000 saved
+ priority_rank_by_roi INT
+);
+```
+
+**Frontend Visualization:**
+- Risk gauge showing current vs. industry median
+- Financial impact waterfall chart
+- "If we fix Top 5 findings" scenario planner
+- ROI dashboard per finding
+
+---
+
+### 4. AUTOMATED TICKETING & WORKFLOW INTEGRATION đ
+**Revenue Impact**: $150K-$220K/year
+**Implementation**: 90-130 hours
+**Stickiness**: 94/100
+**Competitive Advantage**: 8/10
+
+**What It Does:**
+- Findings auto-create tickets in Jira/ServiceNow/Azure DevOps
+- Maps severity to priority, assigns to teams
+- Closes tickets when finding is marked "verified resolved"
+- Updates SLAs based on finding criticality
+- Creates recurring tasks for annual remediation deadlines
+
+**Why It's Valuable:**
+- Embeds TrustOS into daily IT operations (impossible to remove)
+- Eliminates manual ticket creation (saves 5+ hours/week)
+- Ensures no finding falls through cracks
+- IT teams see TrustOS findings in their workflow
+- Creates daily touchpoints (high engagement)
+
+**Technical Implementation:**
+```python
+# New module: app/integrations/ticketing/
+
+class JiraIntegration:
+ def create_ticket(finding):
+ # Map TrustOS severity to Jira priority
+ # Create epic for finding category
+ # Auto-assign based on tag
+ # Set due date based on SLA
+ return jira_ticket_url
+
+ def sync_status():
+ # When finding status â "verified", close ticket
+ # When finding status â "in_progress", move ticket
+ # Bi-directional sync
+
+class ServiceNowIntegration:
+ # Similar for ServiceNow ITSM
+ # Also integrates with change management
+
+# New endpoints:
+POST /api/v1/integrations/jira/connect
+GET /api/v1/integrations/jira/ticket/{finding_id}
+PUT /api/v1/integrations/jira/sync-status
+DELETE /api/v1/integrations/jira/disconnect
+```
+
+**Configuration:**
+```json
+{
+ "jira_instance": "acme.atlassian.net",
+ "project_key": "SEC",
+ "auto_ticket_creation": true,
+ "severity_to_priority_map": {
+ "critical": "Highest",
+ "high": "High",
+ "medium": "Medium",
+ "low": "Low"
+ },
+ "auto_assign_rules": [
+ {
+ "tag": "infrastructure",
+ "team": "DevOps"
+ },
+ {
+ "tag": "application",
+ "team": "Engineering"
+ }
+ ]
+}
+```
+
+**Monetization:**
+- $25K-$30K/year premium feature
+- Stickiness score 94/100 (becomes part of daily workflow)
+
+---
+
+### 5. EXECUTIVE DIGITAL FOOTPRINT MONITORING (Personal Security) đ
+**Revenue Impact**: $140K-$200K/year
+**Implementation**: 70-100 hours
+**Stickiness**: 90/100
+**Competitive Advantage**: 8/10
+
+**What It Does:**
+- Personal security monitoring for C-suite executives
+- Dark web scans for leaked credentials, mentions, impersonation
+- Tracks personal email in breach databases (Have I Been Pwned)
+- LinkedIn profile scraping for social engineering risks
+- Executive threat intelligence feeds (targeted attacks on your org)
+- Personal device security recommendations
+
+**Why It's Valuable:**
+- Executives care about personal security (high personal motivation)
+- Protects against spear-phishing, whaling attacks
+- Creates CEO/CFO-level dependency (they can't remove it)
+- Turns execs into product advocates (benefits them personally)
+
+**Technical Implementation:**
+```python
+# New module: app/services/executive_monitoring.py
+
+class ExecutiveFootprintMonitor:
+ def scan_dark_web(executive_email):
+ # Integration: HIBP API, Shodan, dark web monitoring services
+ # Check for: credentials, mentions, impersonation
+ return threats_found
+
+ def personal_breach_check(executive_email):
+ # Have I Been Pwned API
+ # Check all known breaches
+ return breach_history
+
+ def linkedin_risk_scan(profile_url):
+ # Scrape LinkedIn profile
+ # Identify sensitive info leaked (job changes, projects)
+ # Check for cloned profiles
+ return risk_assessment
+
+ def generate_personal_report(executive):
+ # Monthly personal security report
+ # Actionable recommendations
+ # Send to personal email
+ return report
+
+# New endpoints:
+POST /api/v1/executives/add/{tenant_id} # Enroll executive
+GET /api/v1/executives/{executive_id}/threat-report # Personal threats
+GET /api/v1/executives/{executive_id}/devices # Device security
+POST /api/v1/executives/{executive_id}/dark-web-scan # Manual scan
+```
+
+**Monthly Report Includes:**
+- Dark web activity this month
+- Breaches involving their email (if any)
+- LinkedIn profile security score
+- Device security recommendations
+- Personal phishing simulation results
+- Competitive threat intelligence (executives being targeted)
+
+---
+
+## đ Revenue Impact Summary
+
+| Feature | Year 1 | Year 2 | Year 3 | Stickiness | Implementation |
+|---------|--------|--------|--------|------------|-----------------|
+| Board Autopilot | $30K | $50K | $60K | 95/100 | 100 hrs |
+| Insurance Integration | $40K | $80K | $100K | 92/100 | 150 hrs |
+| Predictive Modeling | $35K | $70K | $90K | 88/100 | 120 hrs |
+| Workflow Integration | $25K | $50K | $65K | 94/100 | 110 hrs |
+| Executive Monitoring | $20K | $40K | $50K | 90/100 | 85 hrs |
+| **Total Premium ARR** | **$150K** | **$290K** | **$365K** | - | **565 hrs** |
+| **Base (Audit)** | **$100K** | **$200K** | **$300K** | - | - |
+| **Total ARR** | **$250K** | **$490K** | **$665K** | - | - |
+
+---
+
+## đ Implementation Roadmap
+
+### Phase 1: Quick Wins (Next 3 months)
+**Goal**: $100K-$150K additional annual revenue per customer
+
+1. **Board Presentation Autopilot** (Month 1-2)
+ - Complexity: Medium (100 hrs)
+ - ROI: Immediate (customers see value in Week 1)
+ - Launch: End of Month 2
+ - Price: $30K/year
+
+2. **Predictive Risk Modeling** (Month 2-3)
+ - Complexity: Medium (120 hrs)
+ - ROI: High (CFOs quantify investment)
+ - Launch: End of Month 3
+ - Price: $35K/year
+
+### Phase 2: Revenue Expansion (Months 4-6)
+**Goal**: Embed into customer workflows and budgets
+
+3. **Insurance Integration** (Month 4-5)
+ - Complexity: High (150 hrs)
+ - ROI: Very High (Customer saves $50K-$200K on premiums)
+ - Launch: End of Month 5
+ - Price: $40K/year + broker commission revenue
+
+4. **Workflow Integration** (Month 5-6)
+ - Complexity: Medium (110 hrs)
+ - ROI: High (Embedded in daily IT ops)
+ - Launch: End of Month 6
+ - Price: $25K/year
+
+### Phase 3: Stickiness & Lock-In (Months 7-9)
+**Goal**: Make TrustOS indispensable at executive level
+
+5. **Executive Monitoring** (Month 7-8)
+ - Complexity: Low-Medium (85 hrs)
+ - ROI: High (Personal benefit to execs)
+ - Launch: End of Month 8
+ - Price: $20K/year
+
+---
+
+## đĄ Go-to-Market Strategy
+
+### For Board Autopilot
+**Target**: CFOs, Risk Officers
+**Message**: "Board presentations in one click. Quarterly cyber risk status for C-suite."
+**Demo**: Show 90-day trend chart, financial impact, peer benchmarks
+**Pricing**: Included in Premium or $30K/year add-on
+
+### For Insurance Integration
+**Target**: CFOs, Finance Teams
+**Message**: "Reduce cyber insurance premiums by 15-30%. Prove cyber health to underwriters."
+**Channel**: Insurance brokers (20-30% commission)
+**ROI**: Customer saves $50K-$200K/year on premiums
+**Pricing**: $40K/year + revenue share
+
+### For Predictive Modeling
+**Target**: Risk Officers, Board Members
+**Message**: "Know your breach risk in advance. $3.2M average breach cost? You're at risk."
+**Demo**: Show "if we fix these 5 findings, we reduce breach likelihood from 12% to 7%"
+**Pricing**: $35K/year
+
+### For Workflow Integration
+**Target**: IT Operations, Security Teams
+**Message**: "Turn findings into Jira tickets automatically. Embed TrustOS in your daily workflow."
+**Demo**: Create finding â auto-ticket â assign â close
+**Pricing**: $25K/year
+
+### For Executive Monitoring
+**Target**: Executives (CEOs, CFOs)
+**Message**: "Personal security monitoring. Know if YOU are targeted. Dark web scans daily."
+**Demo**: Show "your email found in 2 breaches this month"
+**Pricing**: $20K/year (highly sticky)
+
+---
+
+## đ Customer Expansion Metrics
+
+**Year 1:**
+- 25 customers à (Base $100K + Premium $150K) = **$6.25M ARR**
+- NRR: 120% (some customers add features, some expand teams)
+
+**Year 2:**
+- 60 customers (2.4x growth) Ã $290K average = **$17.4M ARR**
+- NRR: 140% (most customers now using 3+ premium features)
+
+**Year 3:**
+- 120 customers (2x growth) Ã $365K average = **$43.8M ARR**
+- NRR: 150% (wallet expansion + retention)
+
+---
+
+## đ¯ Success Metrics
+
+Track these for each premium feature:
+
+1. **Adoption Rate**: % of customers using feature within 30 days
+2. **Expansion Rate**: % of customers expanding to additional features
+3. **Retention Impact**: Churn rate with/without premium features
+4. **NRR**: Net Revenue Retention (should be >130% with premium features)
+5. **Customer Satisfaction**: NPS score for premium features
+6. **Support Load**: Time spent on feature support
+7. **Time-to-Value**: How quickly customer sees value
+
+---
+
+## đŧ Business Case Examples
+
+### Example 1: Fortune 500 Financial Services Company
+**Starting ARR**: $100K (annual audit)
+**After 12 months with premium features:**
+- Board Autopilot: $30K/year (used every quarter)
+- Insurance Integration: $40K/year (saved $120K on premiums)
+- Predictive Modeling: $35K/year (used for board decisions)
+- Workflow Integration: $25K/year (used by 30 IT staff daily)
+- Executive Monitoring: $20K/year (7 executives enrolled)
+- **New Total**: $250K/year (2.5x expansion)
+
+### Example 2: Mid-Market Healthcare Company
+**Starting ARR**: $60K (annual audit)
+**After 12 months with premium features:**
+- Board Autopilot: $30K/year
+- Insurance Integration: $40K/year (saved $150K on premiums with HIPAA multiplier)
+- Predictive Modeling: $35K/year (regulatory compliance tie-in)
+- Workflow Integration: $25K/year
+- **New Total**: $190K/year (3.1x expansion)
+
+---
+
+## đ§ Technical Requirements
+
+### New Infrastructure
+- Redis cache (for dark web scan results, rate limiting)
+- Message queue (Celery) for async premium tasks
+- Third-party API integrations (10+ carriers, dark web services)
+- Database schema expansions (5-10 new tables)
+
+### New Microservices
+- Predictive Risk Engine (Python service)
+- Insurance Integration Hub (broker APIs)
+- Executive Monitoring Service (dark web, breach scanning)
+- Board Report Generator (PDF rendering)
+
+### Security Considerations
+- Encrypt personal executive data
+- Rate limit dark web queries
+- Audit trail for personal data access
+- GDPR compliance for personal monitoring
+
+---
+
+## đ Implementation Checklist
+
+### Board Autopilot
+- [ ] Design board deck template (Figma)
+- [ ] Build PDF generation service (PyPDF2/ReportLab)
+- [ ] Create metrics aggregation logic
+- [ ] Add board presentation table to DB
+- [ ] Build frontend UI for scheduled reports
+- [ ] Create email delivery system
+- [ ] Test with 5 customers
+- [ ] Launch to all Premium tier
+
+### Insurance Integration
+- [ ] Research top 10 cyber insurance APIs
+- [ ] Build Beazley integration (REST)
+- [ ] Build Chubb integration (Portal)
+- [ ] Build Hiscox integration (REST)
+- [ ] Create broker partner program
+- [ ] Document insurance API specs
+- [ ] Test premium reduction calculations
+- [ ] Launch broker channel
+
+### Predictive Modeling
+- [ ] Design risk calculation algorithm
+- [ ] Integrate CVSS scoring
+- [ ] Add financial impact database
+- [ ] Build scenario planner
+- [ ] Create predictive visualizations
+- [ ] Add benchmarking logic
+- [ ] Test with 10 customers
+- [ ] Launch to Premium tier
+
+### Workflow Integration
+- [ ] Build Jira integration SDK
+- [ ] Build ServiceNow integration SDK
+- [ ] Create Azure DevOps integration
+- [ ] Add ticket sync logic
+- [ ] Build configuration UI
+- [ ] Test with 3 different workflows
+- [ ] Create integration guides
+- [ ] Launch to Premium tier
+
+### Executive Monitoring
+- [ ] Integrate Have I Been Pwned API
+- [ ] Add dark web scanning service
+- [ ] Build LinkedIn profile scraping
+- [ ] Create personal threat report
+- [ ] Add executive dashboard
+- [ ] Build email delivery system
+- [ ] Test privacy & compliance
+- [ ] Launch to Premium tier
+
+---
+
+## đ Bonus Ideas (Lower Priority)
+
+1. **Compliance Automation** ($100K/year) - Auto-map findings to HIPAA/PCI/SOC2/GDPR controls
+2. **Benchmarking & Peer Comparison** ($80K/year) - Compare to anonymized peer companies
+3. **Threat Intelligence Feed** ($70K/year) - Curated threats targeting your industry/company size
+4. **Third-party Risk Management** ($90K/year) - Monitor vendors' cyber health
+5. **Automated Remediation Playbooks** ($60K/year) - Auto-execute fixes where possible
+6. **API-first Customer Portal** ($50K/year) - White-label for resellers
+7. **Mobile Executive App** ($40K/year) - iOS/Android for on-the-go cyber status
+8. **Cyber Insurance Marketplace** ($150K/year) - Shop insurance quotes integrated
+
+---
+
+## đ Expected Outcomes
+
+**After implementing these 5 premium features:**
+
+- **Customer Lifetime Value**: $1.2M â $3.5M (3x increase)
+- **Net Revenue Retention**: 100% â 150%+ (customers expand, not churn)
+- **Sales Cycle**: 4 weeks â 2 weeks (ROI so obvious it's a no-brainer)
+- **Enterprise Sales**: Open new $500K-$2M+ deals (Fortune 500)
+- **Competitive Position**: Move from "nice to have" to "must have"
+- **Valuation Multiple**: 5x revenue â 10-12x revenue (SaaS magic quadrant)
+
+---
+
+**Status**: Ready for prioritization and implementation planning
+**Total Implementation Effort**: ~565 hours over 9 months
+**Expected Year 1 Premium Revenue**: $150K per customer à 25 customers = **$3.75M ARR**
+
+Next Step: Pick 2 features to build this quarter (Board Autopilot + Predictive Modeling recommended)
diff --git a/QUICK_WIN_FEATURES.md b/QUICK_WIN_FEATURES.md
new file mode 100644
index 0000000..e449857
--- /dev/null
+++ b/QUICK_WIN_FEATURES.md
@@ -0,0 +1,723 @@
+# TrustOS Quick-Win Features (Next 2 Weeks)
+
+## Build These First for Immediate Customer Delight
+
+Two premium features that can be implemented in **2-3 weeks** and immediately justify $50K-$80K additional annual revenue per customer.
+
+---
+
+## đ¯ Feature #1: BOARD PRESENTATION AUTOPILOT (14 days)
+
+### What to Build
+Auto-generates quarterly board-ready PDF presentations with cyber health metrics, trends, and financial impact.
+
+### Why It's Perfect for Quick Win
+- Uses existing data (dashboard data, findings, risk scores)
+- ~80-100 lines of code (mostly report generation)
+- Immediate value (customers use in next board meeting)
+- High revenue: $30K-$40K/year per customer
+
+### Implementation Steps
+
+#### Step 1: Create Report Generation Service (3 hours)
+```python
+# backend/app/services/board_report_generator.py
+
+from reportlab.lib.pagesizes import letter, landscape
+from reportlab.platypus import SimpleDocTemplate, Paragraph, Table, Image, PageBreak
+from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
+from reportlab.lib.units import inch
+import json
+from datetime import datetime
+
+class BoardReportGenerator:
+ def __init__(self, tenant_id: str):
+ self.tenant_id = tenant_id
+ self.filename = f"board_report_{tenant_id}_{datetime.now().strftime('%Y%m%d')}.pdf"
+
+ async def generate_board_deck(self, db_session) -> str:
+ """Generate quarterly board presentation PDF"""
+
+ # Fetch data
+ tenant = await db_session.execute(
+ select(Tenant).where(Tenant.id == self.tenant_id)
+ ).scalar_one()
+
+ dashboard_data = await self.get_dashboard_data(db_session)
+ findings = await self.get_findings_summary(db_session)
+ risk_trend = await self.get_90day_trend(db_session)
+
+ # Create PDF
+ doc = SimpleDocTemplate(self.filename, pagesize=landscape(letter))
+ story = []
+ styles = getSampleStyleSheet()
+
+ # Slide 1: Title
+ story.append(Paragraph(
+ f"Cyber Resilience Report - Q{self.get_quarter()}",
+ styles['Title']
+ ))
+ story.append(Paragraph(
+ f"Board Presentation âĸ {tenant.name}",
+ styles['Heading2']
+ ))
+
+ # Slide 2: Executive Summary
+ story.append(PageBreak())
+ story.append(Paragraph("Executive Summary", styles['Heading1']))
+
+ summary_data = [
+ ["Metric", "Current", "Previous", "Trend"],
+ ["Cyber Health Score", f"{dashboard_data['current_score']}",
+ f"{dashboard_data['previous_score']}",
+ "â" if dashboard_data['score_delta'] > 0 else "â"],
+ ["Critical Findings", str(dashboard_data['open_critical']), "2", "â"],
+ ["Risk Trajectory", "Improving", "Stable", "â"],
+ ]
+ story.append(Table(summary_data))
+
+ # Slide 3: Risk Trend
+ story.append(PageBreak())
+ story.append(Paragraph("90-Day Cyber Health Trend", styles['Heading1']))
+ # Add chart (generated from Recharts data)
+
+ # Slide 4: Top Risks
+ story.append(PageBreak())
+ story.append(Paragraph("Top 3 Critical Risks", styles['Heading1']))
+ for risk in findings['top_risks'][:3]:
+ story.append(Paragraph(
+ f"âĸ {risk['title']}: {risk['ai_business_impact']}",
+ styles['Normal']
+ ))
+
+ # Slide 5: Remediation Progress
+ story.append(PageBreak())
+ story.append(Paragraph("Remediation Progress", styles['Heading1']))
+ progress_data = [
+ ["Status", "Count", "% of Total"],
+ ["Resolved", dashboard_data['resolved_count'], "25%"],
+ ["In Progress", dashboard_data['in_progress_count'], "45%"],
+ ["Open", dashboard_data['open_count'], "30%"],
+ ]
+ story.append(Table(progress_data))
+
+ # Slide 6: Financial Impact
+ story.append(PageBreak())
+ story.append(Paragraph("Financial Impact Assessment", styles['Heading1']))
+ story.append(Paragraph(
+ f"Estimated breach cost if top 3 risks exploited: ${findings['estimated_impact']}M",
+ styles['Normal']
+ ))
+
+ # Slide 7: Peer Benchmarking
+ story.append(PageBreak())
+ story.append(Paragraph("Industry Benchmarking", styles['Heading1']))
+ benchmark_data = [
+ ["Metric", "Your Company", "Industry Median"],
+ ["Cyber Health Score", f"{dashboard_data['current_score']}", "72.5"],
+ ["Time to Resolve", "28 days", "45 days"],
+ ["Critical Findings", dashboard_data['open_critical'], "3.2"],
+ ]
+ story.append(Table(benchmark_data))
+
+ # Slide 8: Next Quarter Priorities
+ story.append(PageBreak())
+ story.append(Paragraph("Q Next Priorities", styles['Heading1']))
+ story.append(Paragraph(
+ "1. Resolve 3 critical infrastructure findings
"
+ "2. Implement identity & access management improvements
"
+ "3. Complete executive security training
"
+ "4. Upgrade incident response playbooks",
+ styles['Normal']
+ ))
+
+ # Generate PDF
+ doc.build(story)
+ return self.filename
+
+ async def get_dashboard_data(self, db_session):
+ # Reuse dashboard endpoint logic
+ pass
+
+ async def get_findings_summary(self, db_session):
+ # Get top findings, estimate financial impact
+ pass
+
+ async def get_90day_trend(self, db_session):
+ # Get risk score trend data
+ pass
+
+ def get_quarter(self) -> str:
+ month = datetime.now().month
+ return "Q1" if month <= 3 else "Q2" if month <= 6 else "Q3" if month <= 9 else "Q4"
+```
+
+#### Step 2: Add API Endpoint (2 hours)
+```python
+# backend/app/api/routes/reports.py (add to existing)
+
+@router.get("/board-deck/{tenant_id}")
+async def get_board_deck(
+ tenant_id: str,
+ payload: dict = Depends(require_executive_or_above),
+ db: AsyncSession = Depends(get_db),
+):
+ """Generate quarterly board presentation PDF"""
+ if payload.get("role") != "trustos_admin" and payload.get("tenant_id") != tenant_id:
+ raise HTTPException(status_code=403, detail="Access denied")
+
+ generator = BoardReportGenerator(tenant_id)
+ pdf_path = await generator.generate_board_deck(db)
+
+ return FileResponse(
+ path=pdf_path,
+ filename=f"board_presentation_{datetime.now().strftime('%Y-%m-%d')}.pdf",
+ media_type="application/pdf"
+ )
+
+@router.post("/board-deck/{tenant_id}/email")
+async def email_board_deck(
+ tenant_id: str,
+ emails: EmailList,
+ payload: dict = Depends(require_executive_or_above),
+ db: AsyncSession = Depends(get_db),
+):
+ """Generate and email board deck"""
+ pdf_path = await BoardReportGenerator(tenant_id).generate_board_deck(db)
+
+ # Send email to recipients
+ await send_email(
+ to=emails.recipients,
+ subject=f"Board Cyber Resilience Report - {datetime.now().strftime('%B %Y')}",
+ body="Attached is your quarterly cyber resilience report for board presentation.",
+ attachment=pdf_path
+ )
+
+ return {"status": "sent", "recipients": emails.recipients}
+```
+
+#### Step 3: Frontend Component (3 hours)
+```typescript
+// frontend/src/app/dashboard/BoardReportSection.tsx
+
+"use client";
+import { useState } from "react";
+import { FileText, Send, Mail } from "lucide-react";
+import { api } from "@/lib/api";
+
+export default function BoardReportSection({ tenantId }: { tenantId: string }) {
+ const [loading, setLoading] = useState(false);
+ const [emails, setEmails] = useState("");
+
+ async function downloadReport() {
+ setLoading(true);
+ try {
+ await api.downloadBoardDeck(tenantId);
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ async function emailReport() {
+ if (!emails.trim()) return;
+ setLoading(true);
+ try {
+ await api.emailBoardDeck(tenantId, emails.split(",").map(e => e.trim()));
+ alert("Report sent!");
+ setEmails("");
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ return (
+
+ Auto-generated quarterly report for board meetings. Updated every 90 days. +
+ +
+ đ
Last generated: {new Date().toLocaleDateString()}
+ đ Refreshes quarterly with latest metrics
+
Current Premium
++ ${(savings.current_premium / 1000).toFixed(0)}K/yr +
+At Score {targetScore}
++ ${(savings.target_premium / 1000).toFixed(0)}K/yr +
++ Annual Savings: ${(savings.annual_savings / 1000).toFixed(0)}K +
++ {savings.premium_reduction_percent}% reduction in annual premiums +
++ đ° 3-year savings: ${(savings.three_year_savings / 1000).toFixed(0)}K +
++ âšī¸ Insurance premium estimates based on industry benchmarks. Actual premium depends on carrier. +
+