Files
breakpilot-core/pitch-deck/components/slides/ExecutiveSummarySlide.tsx
Benjamin Admin cf476ea986 fix: Onepager Feinschliff
- Mitarbeiter: 5/10/17/25/35 (statt 5→10 etc.)
- Wettbewerber: +Gründungsjahr +Kundenzahl Spalten
- Umsatzerwartung: +Kundenzahl, höhere Zahlen (30→1.200 Kunden, 8,5M ARR)
- Integration: "Jira" entfernt, nur "Ticketsysteme, Workflows"
- Compliance Docs: "AGB, DSE" → "Pflichten"
- COMPLAI Plattform: "Jitsi, Matrix, volle Integration" entfernt
- Problem: "riskieren, die Kontrolle ... zu verlieren"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 13:22:56 +01:00

605 lines
44 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { useCallback } from 'react'
import { Language, PitchData } from '@/lib/types'
import { t, formatEur } from '@/lib/i18n'
import GradientText from '../ui/GradientText'
import FadeInView from '../ui/FadeInView'
import GlassCard from '../ui/GlassCard'
import { Download, Shield, Server, Brain, TrendingUp, FileText, Target, ScanLine, CheckCircle2, ClipboardCheck, GraduationCap, Cpu, Map, Users } from 'lucide-react'
interface ExecutiveSummarySlideProps {
lang: Language
data: PitchData
}
export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySlideProps) {
const i = t(lang)
const es = i.executiveSummary
const de = lang === 'de'
const funding = data.funding
const amount = funding?.amount_eur || 0
const amountLabel = amount >= 1_000_000
? `${(amount / 1_000_000).toFixed(1)} Mio. EUR`
: `${(amount / 1_000).toFixed(0)}k EUR`
const market = data.market || []
const tam = market.find(m => m.market_segment === 'TAM')
const sam = market.find(m => m.market_segment === 'SAM')
const som = market.find(m => m.market_segment === 'SOM')
const handleDownloadPdf = useCallback(() => {
const printWindow = window.open('', '_blank')
if (!printWindow) return
const tamVal = tam ? formatEur(tam.value_eur, lang) : '—'
const samVal = sam ? formatEur(sam.value_eur, lang) : '—'
const somVal = som ? formatEur(som.value_eur, lang) : '—'
const teamHtml = data.team?.map(m =>
`<div class="founder"><strong>${m.name}</strong><span>${de ? m.role_de : m.role_en}</span></div>`
).join('') || ''
const useOfFundsHtml = funding?.use_of_funds?.map(f =>
`<div class="fund-row"><span>${de ? f.label_de : f.label_en}</span><strong>${f.percentage}%</strong></div>`
).join('') || ''
printWindow.document.write(`<!DOCTYPE html>
<html lang="${lang}">
<head>
<meta charset="utf-8">
<title>BreakPilot ComplAI — Executive Summary</title>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<style>
@page { size: 297mm 420mm; margin: 0; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
background: #fff; color: #1a1a2e;
width: 297mm; min-height: 420mm;
position: relative; font-size: 10.5px; line-height: 1.45;
}
@media print { body { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.top-bar { height: 6px; background: linear-gradient(90deg, #6366f1, #8b5cf6, #a78bfa, #06b6d4); }
.container { padding: 18px 30px 12px; }
/* Header */
.header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.header h1 { font-size: 28px; font-weight: 800; letter-spacing: -1px; color: #4f46e5; }
.header .tagline { font-size: 11px; color: #64748b; margin-top: 2px; }
.badge { background: #4f46e5; color: #fff; padding: 4px 14px; border-radius: 20px; font-size: 10px; font-weight: 700; }
/* Hero */
.hero { background: linear-gradient(135deg, #eef2ff, #f0f9ff); border-radius: 10px; padding: 12px 18px; margin-bottom: 12px; border-left: 4px solid #6366f1; }
.hero p { font-size: 11.5px; line-height: 1.45; color: #334155; }
.hero strong { color: #4f46e5; font-weight: 700; }
/* USP */
.usp { background: linear-gradient(135deg, #4f46e5, #7c3aed); color: #fff; border-radius: 8px; padding: 10px 16px; margin-bottom: 12px; text-align: center; }
.usp strong { font-size: 11px; }
/* Grid layouts */
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; }
.grid6 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-bottom: 10px; }
/* Sections */
.section-title { font-size: 10px; font-weight: 700; color: #4f46e5; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px; border-bottom: 1px solid #e5e7eb; padding-bottom: 3px; }
.card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 9px 11px; }
.card.highlight { border-left: 3px solid #6366f1; }
.card.cyan { border-left: 3px solid #06b6d4; }
/* KPIs */
.kpi { text-align: center; padding: 8px 4px; border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0; }
.kpi .value { font-size: 18px; font-weight: 800; color: #4f46e5; }
.kpi .label { font-size: 7.5px; color: #64748b; margin-top: 1px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.3px; }
/* Product cards */
.product-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 13px; position: relative; overflow: hidden; }
.product-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.product-card.scanner::before { background: linear-gradient(90deg, #6366f1, #8b5cf6); }
.product-card.platform::before { background: linear-gradient(90deg, #06b6d4, #0ea5e9); }
.product-card h3 { font-size: 12px; font-weight: 800; margin-bottom: 1px; }
.product-card.scanner h3 { color: #4f46e5; }
.product-card.platform h3 { color: #0891b2; }
.product-card .sub { font-size: 8px; color: #94a3b8; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px; }
.product-card ul { list-style: none; }
.product-card li { font-size: 9px; line-height: 1.3; padding: 1.5px 0 1.5px 12px; position: relative; color: #475569; }
.product-card li::before { content: ''; position: absolute; left: 0; top: 6px; width: 5px; height: 5px; border-radius: 50%; }
.product-card.scanner li::before { background: #818cf8; }
.product-card.platform li::before { background: #22d3ee; }
/* Roadmap */
.roadmap-item { padding: 7px 9px; border-radius: 7px; border: 1px dashed #c7d2fe; background: #fefce8; }
.roadmap-item .rm-title { font-size: 9px; font-weight: 700; color: #92400e; margin-bottom: 1px; }
.roadmap-item .rm-desc { font-size: 7.5px; color: #78716c; line-height: 1.25; }
/* Bottom sections */
.bottom-card ul { list-style: none; }
.bottom-card li { font-size: 9px; color: #475569; padding: 1.5px 0 1.5px 11px; position: relative; line-height: 1.3; }
.bottom-card li::before { content: '\\2192'; position: absolute; left: 0; color: #8b5cf6; font-weight: 700; }
.market-row { display: flex; justify-content: space-between; margin-bottom: 2px; font-size: 9.5px; }
.market-label { font-weight: 700; color: #4f46e5; min-width: 35px; }
.fund-row { display: flex; justify-content: space-between; font-size: 9px; margin-bottom: 1px; }
.founder { display: flex; justify-content: space-between; font-size: 9px; margin-bottom: 2px; }
.founder span { color: #64748b; }
/* Footer */
.footer { padding: 8px 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; display: flex; justify-content: space-between; font-size: 8px; color: #94a3b8; }
</style>
</head>
<body>
<div class="top-bar"></div>
<div class="container">
<div class="header">
<div>
<h1>BreakPilot COMPL<span style="color:#4f46e5;">AI</span></h1>
<div class="tagline">Onepager</div>
</div>
<div class="badge">Pre-Seed ${funding?.target_date ? 'Q' + Math.ceil((new Date(funding.target_date).getMonth() + 1) / 3) + ' ' + new Date(funding.target_date).getFullYear() : 'Q4 2026'}</div>
</div>
<div class="hero">
<p>${de
? 'BreakPilot COMPL<strong>AI</strong> ist eine <strong>DSGVO-konforme KI-Plattform</strong>, die kontinuierliches Sicherheitsscanning mit intelligenter Compliance-Automatisierung vereint. Wir helfen unseren Kunden, ihren <strong>Code abzusichern</strong>, <strong>Compliance skalierbar durchzusetzen</strong> und <strong>volle Datensouver\\u00e4nit\\u00e4t zu bewahren</strong> \\u2014 gest\\u00fctzt auf \\u00fcber 25.000 atomaren Sicherheitskontrollen f\\u00fcr einen l\\u00fcckenlosen Audit-Trail.'
: 'BreakPilot COMPL<strong>AI</strong> is a <strong>GDPR-compliant AI platform</strong> that combines continuous security scanning with intelligent compliance automation. We help our customers <strong>secure their code</strong>, <strong>enforce compliance at scale</strong> and <strong>maintain full data sovereignty</strong> \\u2014 powered by over 25,000 atomic security controls for a complete audit trail.'
}</p>
</div>
<div class="usp"><strong>${es.usp}:</strong> ${es.uspText}</div>
<div class="grid2">
<div class="card highlight">
<div class="section-title">${es.problem}</div>
<div style="font-size:10px;">${es.problemText}</div>
</div>
<div class="card highlight">
<div class="section-title">${es.solution}</div>
<div style="font-size:10px;">${es.solutionText}</div>
</div>
</div>
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px;">
<div class="kpi"><div class="value">25.000+</div><div class="label">${es.controls}</div></div>
<div class="kpi"><div class="value">110</div><div class="label">${es.regulations}</div></div>
<div class="kpi"><div class="value">10</div><div class="label">${es.industries}</div></div>
<div class="kpi"><div class="value">500K+</div><div class="label">${es.linesOfCode}</div></div>
<div class="kpi"><div class="value">${amountLabel}</div><div class="label">${es.theAsk}</div></div>
</div>
<div class="grid2">
<div class="product-card scanner">
<h3>${de ? 'Compliance Scanner' : 'Compliance Scanner'}</h3>
<div class="sub">${de ? 'Kontinuierlicher KI-Sicherheitsagent' : 'Continuous AI Security Agent'}</div>
<ul>
<li><strong>SAST + DAST + SBOM</strong> ${de ? '\\u2014 Vollumf\\u00e4ngliche Sicherheitstests bei jeder Code-\\u00c4nderung' : '\\u2014 Full security testing on every code change'}</li>
<li><strong>${de ? 'KI-gest\\u00fctztes Pentesting' : 'AI-powered Pentesting'}</strong> ${de ? '\\u2014 Kontinuierlich statt einmal im Jahr' : '\\u2014 Continuous instead of once a year'}</li>
<li><strong>CE-Software-Risikobeurteilung</strong> ${de ? '\\u2014 F\\u00fcr Maschinenverordnung und Produktsicherheit' : '\\u2014 For Machinery Regulation and product safety'}</li>
<li><strong>Jira-Integration</strong> ${de ? '\\u2014 Findings als Tickets mit Implementierungsvorschl\\u00e4gen' : '\\u2014 Findings as tickets with implementation suggestions'}</li>
<li><strong>Audit-Trail</strong> ${de ? '\\u2014 L\\u00fcckenloser Nachweis von Erkennung bis Behebung' : '\\u2014 Complete evidence from detection to remediation'}</li>
</ul>
</div>
<div class="product-card platform">
<h3>${de ? 'ComplAI Plattform' : 'ComplAI Platform'}</h3>
<div class="sub">${de ? 'Souver\\u00e4ne Compliance-Infrastruktur' : 'Sovereign Compliance Infrastructure'}</div>
<ul>
<li><strong>${de ? 'Compliance-Dokumente' : 'Compliance Documents'}</strong> ${de ? '\\u2014 VVT, TOMs, DSFA, L\\u00f6schfristen automatisch' : '\\u2014 RoPA, TOMs, DPIA, retention automatically'}</li>
<li><strong>Audit Manager</strong> ${de ? '\\u2014 Abweichungen End-to-End: Rollen, Stichtage, Eskalation' : '\\u2014 Deviations end-to-end: roles, deadlines, escalation'}</li>
<li><strong>Compliance LLM</strong> ${de ? '\\u2014 GPT f\\u00fcr Text und Audio, sicher in der EU gehostet' : '\\u2014 GPT for text and audio, securely hosted in EU'}</li>
<li><strong>Academy</strong> ${de ? '\\u2014 Online-Schulungen f\\u00fcr GF und Mitarbeiter' : '\\u2014 Online training for management and employees'}</li>
<li><strong>${de ? 'BSI-Cloud DE / OVH FR' : 'BSI Cloud DE / OVH FR'}</strong> ${de ? '\\u2014 Keine US-SaaS, Jitsi, Matrix, volle Integration' : '\\u2014 No US SaaS, Jitsi, Matrix, full integration'}</li>
</ul>
</div>
</div>
<div class="section-title">${de ? 'Roadmap' : 'Roadmap'}</div>
<div class="grid4">
<div class="roadmap-item"><div class="rm-title">${de ? 'Q4 2026: Launch' : 'Q4 2026: Launch'}</div><div class="rm-desc">${de ? 'Gr\\u00fcndung, erste Pilotkunden, Cloud-Plattform live' : 'Founding, first pilot customers, cloud platform live'}</div></div>
<div class="roadmap-item"><div class="rm-title">${de ? 'Q2 2027: Scale' : 'Q2 2027: Scale'}</div><div class="rm-desc">${de ? 'Vertriebsteam, Messen, Marketing-Offensive' : 'Sales team, trade fairs, marketing push'}</div></div>
<div class="roadmap-item"><div class="rm-title">${de ? 'Q4 2027: Enterprise' : 'Q4 2027: Enterprise'}</div><div class="rm-desc">${de ? 'Enterprise-Kunden, Distributor-Partnerschaften' : 'Enterprise customers, distributor partnerships'}</div></div>
<div class="roadmap-item"><div class="rm-title">${de ? 'Q3 2029: Break-Even' : 'Q3 2029: Break-Even'}</div><div class="rm-desc">${de ? 'Profitabilit\\u00e4t, Series A Vorbereitung' : 'Profitability, Series A preparation'}</div></div>
</div>
<div class="grid2" style="grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px;">
<div class="card bottom-card">
<div class="section-title">${de ? 'Gesch\\u00e4ftsmodell' : 'Business Model'}</div>
<ul>
<li><strong>SaaS Cloud</strong> ${de ? '\\u2014 BSI DE / OVH FR, mitarbeiterbasiert' : '\\u2014 BSI DE / OVH FR, employee-based'}</li>
<li><strong>${de ? 'Modular w\\u00e4hlbar' : 'Modular choice'}</strong> ${de ? '\\u2014 Einzelne Module oder Full Compliance' : '\\u2014 Single modules or full compliance'}</li>
<li><strong>${de ? 'ROI ab Tag 1' : 'ROI from day 1'}</strong> ${de ? '\\u2014 Kunde spart 50.000+ EUR/Jahr' : '\\u2014 Customer saves EUR 50,000+/year'}</li>
</ul>
</div>
<div class="card bottom-card">
<div class="section-title">${de ? 'Zielm\\u00e4rkte' : 'Target Markets'}</div>
<ul>
<li><strong>${de ? 'Maschinenbau KMU' : 'Manufacturing SMEs'}</strong> ${de ? '\\u2014 10-500 MA, Eigenentwicklung' : '\\u2014 10-500 emp., own development'}</li>
<li><strong>${de ? 'Regulierte Branchen' : 'Regulated Industries'}</strong> ${de ? '\\u2014 Gesundheit, Finanzen, KRITIS' : '\\u2014 Healthcare, finance, critical infra'}</li>
<li><strong>${de ? 'EU-Datensouver\\u00e4nit\\u00e4t' : 'EU Data Sovereignty'}</strong> ${de ? '\\u2014 Unternehmen die US-SaaS ablehnen' : '\\u2014 Companies rejecting US SaaS'}</li>
</ul>
</div>
<div class="card bottom-card">
<div class="section-title">${de ? 'Gr\\u00fcnder' : 'Founders'}</div>
${teamHtml}
</div>
<div class="card bottom-card">
<div class="section-title">${es.theAsk} \\u2014 ${amountLabel}</div>
<div class="market-row"><span class="market-label">TAM</span><span>${tamVal}</span></div>
<div class="market-row"><span class="market-label">SAM</span><span>${samVal}</span></div>
<div class="market-row"><span class="market-label">SOM</span><span>${somVal}</span></div>
<div style="border-top:1px solid #e5e7eb;margin-top:4px;padding-top:4px;">
${useOfFundsHtml}
</div>
</div>
</div>
<div style="background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;margin-top:10px;">
<div style="font-size:8px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:3px;">${de ? 'Hinweis / Haftungsausschluss' : 'Disclaimer'}</div>
<div style="font-size:7px;color:#94a3b8;line-height:1.4;">${de
? 'Dieses Dokument dient ausschlie\\u00dflich Informationszwecken und stellt weder ein Angebot zum Verkauf noch eine Aufforderung zum Kauf von Anteilen oder Wertpapieren dar. Die enthaltenen Informationen wurden vom Team Breakpilot (Gr\\u00fcnderteam, noch keine Gesellschaft gegr\\u00fcndet) nach bestem Wissen und Gewissen erstellt, k\\u00f6nnen jedoch unvollst\\u00e4ndig sein und jederzeit ohne vorherige Ank\\u00fcndigung ge\\u00e4ndert werden. Es wird keine ausdr\\u00fcckliche oder konkludente Gew\\u00e4hr f\\u00fcr die Richtigkeit, Vollst\\u00e4ndigkeit oder Aktualit\\u00e4t der Inhalte \\u00fcbernommen. Es besteht keine Verpflichtung zur Aktualisierung der enthaltenen Informationen. Dieses Dokument enth\\u00e4lt zukunftsgerichtete Aussagen, die auf aktuellen Annahmen und Erwartungen beruhen und mit erheblichen Risiken und Unsicherheiten verbunden sind. Die tats\\u00e4chlichen Ergebnisse k\\u00f6nnen wesentlich von den dargestellten abweichen. Eine Investitionsentscheidung sollte ausschlie\\u00dflich auf Grundlage weitergehender, rechtlich verbindlicher Unterlagen sowie unter Hinzuziehung eigener rechtlicher, steuerlicher und finanzieller Beratung getroffen werden. Soweit gesetzlich zul\\u00e4ssig, wird jede Haftung des Team Breakpilot sowie seiner Mitglieder f\\u00fcr etwaige Sch\\u00e4den, die direkt oder indirekt aus der Nutzung dieses Dokuments entstehen, ausgeschlossen. Dieses Dokument ist vertraulich und ausschlie\\u00dflich f\\u00fcr den vorgesehenen Empf\\u00e4nger bestimmt. Eine Weitergabe, Vervielf\\u00e4ltigung oder Ver\\u00f6ffentlichung ist ohne vorherige schriftliche Zustimmung nicht gestattet.'
: 'This document is for informational purposes only and does not constitute an offer to sell or a solicitation to purchase shares or securities. The information contained herein was prepared by Team Breakpilot (founding team, no company incorporated yet) to the best of their knowledge, but may be incomplete and subject to change without prior notice. No express or implied warranty is given for the accuracy, completeness or timeliness of the content. This document contains forward-looking statements based on current assumptions and expectations that involve significant risks and uncertainties. Actual results may differ materially. Any investment decision should be based solely on further legally binding documents and with the advice of independent legal, tax and financial counsel. To the extent permitted by law, all liability of Team Breakpilot and its members for any damages arising directly or indirectly from the use of this document is excluded. This document is confidential and intended solely for the designated recipient. Distribution, reproduction or publication without prior written consent is prohibited.'
}</div>
</div>
</div>
<div class="footer">
<span>${de ? 'Vertraulich \\u2014 Nur f\\u00fcr Investoren' : 'Confidential \\u2014 Investors only'}</span>
<span>${data.company?.website || 'breakpilot.ai'} \\u2014 ${data.company?.hq_city || ''}</span>
<span>BreakPilot ComplAI \\u2014 ${de ? 'M\\u00e4rz' : 'March'} 2026</span>
</div>
</body></html>`)
printWindow.document.close()
setTimeout(() => printWindow.print(), 300)
}, [lang, data, es, funding, tam, sam, som, amountLabel, de])
// === SLIDE VIEW ===
return (
<div className="max-w-6xl mx-auto overflow-y-auto max-h-[85vh] pr-2">
<FadeInView className="text-center mb-4">
<h2 className="text-3xl md:text-5xl font-bold mb-2">
<span className="text-white">BreakPilot COMPL</span><GradientText>AI</GradientText>
</h2>
<p className="text-base text-white/50 max-w-2xl mx-auto">Onepager</p>
</FadeInView>
{/* Hero Description */}
<FadeInView delay={0.05} className="mb-4">
<div className="bg-gradient-to-r from-indigo-500/10 to-cyan-500/10 border-l-4 border-indigo-500 rounded-r-xl px-5 py-4">
<p className="text-sm text-white/70 leading-relaxed">
{de
? <>BreakPilot COMPL<strong className="text-indigo-300">AI</strong> ist eine <strong className="text-indigo-300">DSGVO-konforme KI-Plattform</strong>, die kontinuierliches Sicherheitsscanning mit intelligenter Compliance-Automatisierung vereint. Wir helfen unseren Kunden, ihren <strong className="text-indigo-300">Code abzusichern</strong>, <strong className="text-indigo-300">Compliance skalierbar durchzusetzen</strong> und <strong className="text-indigo-300">volle Datensouveränität zu bewahren</strong> gestützt auf über 25.000 atomaren Sicherheitskontrollen für einen lückenlosen Audit-Trail.</>
: <>BreakPilot COMPL<strong className="text-indigo-300">AI</strong> is a <strong className="text-indigo-300">GDPR-compliant AI platform</strong> that combines continuous security scanning with intelligent compliance automation. We help our customers <strong className="text-indigo-300">secure their code</strong>, <strong className="text-indigo-300">enforce compliance at scale</strong> and <strong className="text-indigo-300">maintain full data sovereignty</strong> powered by over 25,000 atomic security controls for a complete audit trail.</>
}
</p>
</div>
</FadeInView>
{/* USP Banner */}
<FadeInView delay={0.1} className="mb-4">
<div className="bg-gradient-to-r from-indigo-500/20 to-purple-500/20 border border-indigo-500/30 rounded-2xl px-5 py-3 text-center">
<span className="text-base font-bold text-indigo-400 uppercase tracking-wider">{es.usp}</span>
<p className="text-sm text-white/80 mt-2 leading-relaxed">
{de
? 'Die einzige Plattform, die kontinuierliche Code-Security, automatisierte Compliance-Dokumentation und CE-konforme Software-Risikobeurteilung in einem System vereint vollständig betrieben auf europäischer Infrastruktur (Deutschland oder Frankreich).'
: 'The only platform combining continuous code security, automated compliance documentation and CE-compliant software risk assessment in one system fully operated on European infrastructure (Germany or France).'
}
</p>
<p className="text-sm font-semibold text-indigo-300 mt-1.5">{de ? '100\u00a0% Datensouveränität ohne Abhängigkeit von US-Anbietern.' : '100% data sovereignty without dependence on US providers.'}</p>
</div>
</FadeInView>
{/* Problem + Solution */}
<div className="grid md:grid-cols-2 gap-3 mb-4">
<GlassCard delay={0.15} hover={false} className="p-4">
<div className="flex items-center gap-2 mb-2">
<Shield className="w-4 h-4 text-red-400" />
<h3 className="text-sm font-bold text-red-400 uppercase tracking-wider">{es.problem}</h3>
</div>
<p className="text-xs text-white/60 mb-2 italic">
{de ? 'Unternehmen stehen vor einer unlösbaren Entscheidung:' : 'Companies face an impossible decision:'}
</p>
<div className="space-y-1.5">
{(de ? [
'Ohne KI verlieren sie ihre Wettbewerbsfähigkeit',
'Mit US-KI riskieren sie, die Kontrolle über ihre sensibelsten Daten zu verlieren',
'Neue EU-Regulierungen (AI Act, CRA, NIS2) zwingen über 30.000 Unternehmen in Deutschland in hochkomplexe Compliance-Prozesse',
'Das Ergebnis: Stillstand in einer Phase, in der Geschwindigkeit entscheidend ist',
] : [
'Without AI they lose their competitiveness',
'With US AI they risk losing control over their most sensitive data',
'New EU regulations (AI Act, CRA, NIS2) force over 30,000 companies in Germany into complex compliance processes',
'The result: standstill in a phase where speed is decisive',
]).map((item, idx) => (
<p key={idx} className="text-xs text-white/70 pl-4 relative leading-relaxed">
<span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-red-400/60" />
{item}
</p>
))}
</div>
</GlassCard>
<GlassCard delay={0.2} hover={false} className="p-4">
<div className="flex items-center gap-2 mb-2">
<CheckCircle2 className="w-4 h-4 text-emerald-400" />
<h3 className="text-sm font-bold text-emerald-400 uppercase tracking-wider">{es.solution}</h3>
</div>
<p className="text-xs text-white/60 mb-2 italic">
{de ? 'Breakpilot macht Compliance und Security kontinuierlich nicht mehr punktuell.' : 'Breakpilot makes compliance and security continuous no longer periodic.'}
</p>
<div className="space-y-1.5">
{(de ? [
'Jede Code-Änderung wird automatisch geprüft (SAST, DAST, SBOM, Pentesting)',
'VVT, TOMs, DSFA, Löschfristen und CE-Risikobewertungen entstehen in Echtzeit',
'Abweichungen vollständig orchestriert: Tickets, Nachweise, Eskalation an GF integriert in Jira',
'Gehostet in europäischer Infrastruktur (DE/FR) für maximale Datensouveränität',
'Ergebnis: audit-ready zu jedem Zeitpunkt',
] : [
'Every code change is automatically checked (SAST, DAST, SBOM, pentesting)',
'RoPA, TOMs, DPIA, retention and CE risk assessments created in real-time',
'Deviations fully orchestrated: tickets, evidence, escalation to mgmt integrated with Jira',
'Hosted on European infrastructure (DE/FR) for maximum data sovereignty',
'Result: audit-ready at any time',
]).map((item, idx) => (
<p key={idx} className="text-xs text-white/70 pl-4 relative leading-relaxed">
<span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-emerald-400/60" />
{item}
</p>
))}
</div>
</GlassCard>
</div>
{/* KPI Row — 6 Kacheln (ohne Finanzierung, mit Zeitersparnis + Pentest-Kosten) */}
<FadeInView delay={0.25} className="mb-4">
<div className="grid grid-cols-3 md:grid-cols-6 gap-2">
{[
{ value: '25.000+', label: es.controls, icon: Shield, color: '#6366f1' },
{ value: '110', label: es.regulations, icon: Brain, color: '#60a5fa' },
{ value: '10', label: es.industries, icon: Target, color: '#34d399' },
{ value: '500K+', label: es.linesOfCode, icon: Cpu, color: '#fbbf24' },
{ value: '80%', label: de ? 'Zeitersparnis bei\nCompliance-Prüfungen' : 'Time saved on\ncompliance checks', icon: TrendingUp, color: '#10b981' },
{ value: '10x', label: de ? 'Günstiger als\nmanuelle Pentests' : 'Cheaper than\nmanual pentests', icon: Shield, color: '#f472b6' },
].map((kpi, idx) => (
<div key={idx} className="bg-white/[0.06] backdrop-blur-xl border border-white/10 rounded-xl p-2.5 text-center">
<kpi.icon className="w-3.5 h-3.5 mx-auto mb-0.5 opacity-60" style={{ color: kpi.color }} />
<p className="text-lg font-bold text-white">{kpi.value}</p>
<p className="text-[10px] text-white/40 uppercase tracking-wider whitespace-pre-line">{kpi.label}</p>
</div>
))}
</div>
</FadeInView>
{/* Product Cards — Scanner + Platform */}
<div className="grid md:grid-cols-2 gap-3 mb-4">
<GlassCard delay={0.3} hover={false} className="p-3 border-t-2 border-t-indigo-500">
<div className="flex items-center gap-2 mb-1">
<ScanLine className="w-4 h-4 text-indigo-400" />
<h3 className="text-sm font-bold text-indigo-400">Compliance Scanner</h3>
</div>
<p className="text-[10px] text-white/30 uppercase tracking-wider mb-2">{de ? 'Kontinuierlicher KI-Sicherheitsagent' : 'Continuous AI Security Agent'}</p>
<div className="space-y-1">
{[
de ? 'SAST + DAST + SBOM — bei jeder Code-Änderung' : 'SAST + DAST + SBOM — on every code change',
de ? 'KI-gestütztes Pentesting — kontinuierlich statt jährlich' : 'AI-powered pentesting — continuous not annual',
de ? 'CE-Software-Risikobeurteilung für Maschinenverordnung' : 'CE software risk assessment for Machinery Regulation',
de ? 'Integration in Kundenprozesse — Tickets mit Implementierungsvorschlägen' : 'Integration into customer processes — tickets with implementation suggestions',
de ? 'Lückenloser Audit-Trail von Erkennung bis Behebung' : 'Complete audit trail from detection to remediation',
].map((item, idx) => (
<p key={idx} className="text-xs text-white/60 pl-3 relative">
<span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-indigo-400/60" />
{item}
</p>
))}
</div>
</GlassCard>
<GlassCard delay={0.35} hover={false} className="p-3 border-t-2 border-t-cyan-500">
<div className="flex items-center gap-2 mb-1">
<Server className="w-4 h-4 text-cyan-400" />
<h3 className="text-sm font-bold text-cyan-400">COMPL<span className="text-indigo-400">AI</span> Plattform</h3>
</div>
<p className="text-[10px] text-white/30 uppercase tracking-wider mb-2">{de ? 'Souveräne Compliance-Infrastruktur' : 'Sovereign Compliance Infrastructure'}</p>
<div className="space-y-1">
{[
de ? 'VVT, TOMs, DSFA, Löschfristen — automatisch generiert' : 'RoPA, TOMs, DPIA, retention — auto-generated',
de ? 'Audit Manager — Abweichungen End-to-End mit Eskalation' : 'Audit Manager — deviations end-to-end with escalation',
de ? 'Compliance LLM — GPT für Text und Audio, EU-gehostet' : 'Compliance LLM — GPT for text and audio, EU-hosted',
de ? 'Academy — Online-Schulungen für GF und Mitarbeiter' : 'Academy — online training for management and employees',
de ? 'BSI-Cloud DE / OVH FR' : 'BSI Cloud DE / OVH FR',
].map((item, idx) => (
<p key={idx} className="text-xs text-white/60 pl-3 relative">
<span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-cyan-400/60" />
{item}
</p>
))}
</div>
</GlassCard>
</div>
{/* Go-to-Market Roadmap (3 Phasen) */}
<FadeInView delay={0.4} className="mb-4">
<h3 className="text-xs font-bold text-white/40 uppercase tracking-wider mb-2">{de ? 'Go-to-Market Roadmap' : 'Go-to-Market Roadmap'}</h3>
<div className="grid grid-cols-1 md:grid-cols-3 gap-2">
{[
{ title: de ? 'Phase 1: Pilot (Jul/Aug 2026)' : 'Phase 1: Pilot (Jul/Aug 2026)', color: 'bg-indigo-500/10 border-indigo-500/20', textColor: 'text-indigo-300',
items: de ? ['Gründung GmbH', 'Direktvertrieb an Maschinen- und Anlagenbauer', 'Persönliches Onboarding, White-Glove-Service', 'Case Studies und Referenzkunden'] : ['Company founding', 'Direct sales to machine manufacturers', 'Personal onboarding, white-glove service', 'Case studies and reference customers'] },
{ title: de ? 'Phase 2: Skalierung (2027)' : 'Phase 2: Scale (2027)', color: 'bg-purple-500/10 border-purple-500/20', textColor: 'text-purple-300',
items: de ? ['Channel-Partnerschaften mit IT-Systemhäusern', 'IHK-Kooperationen, Messen', 'Content Marketing, Compliance-Webinare', '50-200 Kunden in regulierten Branchen'] : ['Channel partnerships with IT integrators', 'Chamber of Commerce, trade fairs', 'Content marketing, compliance webinars', '50-200 customers in regulated industries'] },
{ title: de ? 'Phase 3: Expansion (2028+)' : 'Phase 3: Expansion (2028+)', color: 'bg-emerald-500/10 border-emerald-500/20', textColor: 'text-emerald-300',
items: de ? ['Enterprise-Kunden (50-500 MA)', 'EU-Expansion: AT, CH, Benelux', 'Distributor-Partnerschaften', 'Break-Even Q3/2029'] : ['Enterprise customers (50-500 emp.)', 'EU expansion: AT, CH, Benelux', 'Distributor partnerships', 'Break-even Q3/2029'] },
].map((phase, idx) => (
<div key={idx} className={`${phase.color} border rounded-lg px-3 py-3`}>
<p className={`text-sm font-bold ${phase.textColor} mb-1.5`}>{phase.title}</p>
{phase.items.map((item, i) => (
<p key={i} className="text-xs text-white/60 pl-3 relative leading-relaxed">
<span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-white/20" />{item}
</p>
))}
</div>
))}
</div>
</FadeInView>
{/* 8 Module — gleiche Optik wie Folie 7 */}
<FadeInView delay={0.45} className="mb-4">
<h3 className="text-xs font-bold text-white/40 uppercase tracking-wider mb-2">{de ? 'Modularer Baukasten' : 'Modular Toolkit'}</h3>
<div className="grid grid-cols-2 md:grid-cols-4 gap-3">
{[
{ name: 'Code Security', desc: de ? 'SAST, DAST, SBOM, kontinuierliches Pentesting' : 'SAST, DAST, SBOM, continuous pentesting', color: '#ef4444', icon: ScanLine },
{ name: de ? 'CE-Software-Risikobeurteilung' : 'CE Software Risk Assessment', desc: de ? 'Software-Risikoanalyse für CE-Kennzeichnung' : 'Software risk assessment for CE marking', color: '#f97316', icon: Shield },
{ name: de ? 'Compliance-Dokumente' : 'Compliance Documents', desc: de ? 'VVT, DSFA, TOMs, Löschfristen, Pflichten' : 'RoPA, DPIA, TOMs, retention, obligations', color: '#6366f1', icon: FileText },
{ name: 'Audit Manager', desc: de ? 'Abweichungen, Nachweise, Stichtage, Eskalation' : 'Deviations, evidence, deadlines, escalation', color: '#10b981', icon: CheckCircle2 },
{ name: 'Compliance LLM', desc: de ? 'GPT für Text und Audio — sicher in der EU' : 'GPT for text and audio — securely in EU', color: '#a855f7', icon: Brain },
{ name: 'Academy', desc: de ? 'Online-Schulungen für GF und Mitarbeiter' : 'Online training for management and employees', color: '#ec4899', icon: GraduationCap },
{ name: de ? 'Integration in Kundenprozesse' : 'Process Integration', desc: de ? 'Ticketsysteme, Workflows' : 'Ticket systems, workflows', color: '#0ea5e9', icon: Cpu },
{ name: de ? 'Sichere Kommunikation' : 'Secure Communication', desc: de ? 'Chat + Video mit AI Notetaker' : 'Chat + video with AI notetaker', color: '#22c55e', icon: Users },
].map((mod, idx) => {
const Icon = mod.icon
return (
<GlassCard key={idx} delay={0.45 + idx * 0.03} hover className="p-3 text-center">
<Icon className="w-5 h-5 mx-auto mb-2" style={{ color: mod.color }} />
<p className="text-xs font-bold text-white mb-1">{mod.name}</p>
<p className="text-[10px] text-white/40 leading-tight">{mod.desc}</p>
</GlassCard>
)
})}
</div>
</FadeInView>
{/* Umsatzerwartung + Mitarbeiter + Pricing */}
<div className="grid md:grid-cols-3 gap-3 mb-4">
<GlassCard delay={0.5} hover={false} className="p-3">
<h3 className="text-xs font-bold text-indigo-400 uppercase tracking-wider mb-1.5">{de ? 'Umsatzerwartung' : 'Revenue Forecast'}</h3>
<div className="flex justify-between text-[7px] text-white/30 uppercase tracking-wider mb-1">
<span></span><span>{de ? 'Kunden' : 'Cust.'}</span><span>ARR</span>
</div>
<div className="space-y-1 text-xs">
{[
{ year: '2026', cust: '~30', arr: de ? '~22k EUR' : '~EUR 22k' },
{ year: '2027', cust: '~120', arr: de ? '~750k EUR' : '~EUR 750k' },
{ year: '2028', cust: '~350', arr: de ? '~2,5 Mio. EUR' : '~EUR 2.5M' },
{ year: '2029', cust: '~700', arr: de ? '~5,0 Mio. EUR' : '~EUR 5.0M' },
{ year: '2030', cust: '~1.200', arr: de ? '~8,5 Mio. EUR' : '~EUR 8.5M' },
].map((r, idx) => (
<div key={idx} className="flex justify-between">
<span className="text-white/40">{r.year}</span>
<span className="text-white/40 text-[10px]">{r.cust}</span>
<span className={`font-mono ${idx >= 3 ? 'text-emerald-300 font-bold' : 'text-white/70'}`}>{r.arr}</span>
</div>
))}
</div>
</GlassCard>
<GlassCard delay={0.55} hover={false} className="p-3">
<h3 className="text-xs font-bold text-purple-400 uppercase tracking-wider mb-1.5">{de ? 'Mitarbeiterentwicklung' : 'Headcount Growth'}</h3>
<div className="space-y-1 text-xs">
{[
{ year: '2026', count: '5' },
{ year: '2027', count: '10' },
{ year: '2028', count: '17' },
{ year: '2029', count: '25' },
{ year: '2030', count: '35' },
].map((r, idx) => (
<div key={idx} className="flex justify-between">
<span className="text-white/40">{r.year}</span>
<span className="text-white/70 font-mono">{r.count}</span>
</div>
))}
</div>
</GlassCard>
<GlassCard delay={0.6} hover={false} className="p-3">
<h3 className="text-xs font-bold text-amber-400 uppercase tracking-wider mb-1.5">{de ? 'Pricing nach Unternehmensgröße' : 'Pricing by Company Size'}</h3>
<div className="space-y-1.5">
{[
{ tier: 'Startup / < 10', price: de ? 'ab 3.600 EUR/Jahr' : 'from EUR 3,600/yr', note: de ? '14 Tage Test' : '14-day trial' },
{ tier: '10 50 MA', price: de ? 'ab 15.000 EUR/Jahr' : 'from EUR 15,000/yr' },
{ tier: '50 250 MA', price: de ? 'ab 30.000 EUR/Jahr' : 'from EUR 30,000/yr' },
{ tier: '250+ MA', price: de ? 'ab 40.000 EUR/Jahr' : 'from EUR 40,000/yr', highlight: true },
].map((t, idx) => (
<div key={idx} className={`flex justify-between items-center text-xs ${t.highlight ? 'text-amber-300 font-bold' : 'text-white/60'}`}>
<span>{t.tier}</span>
<span className="font-mono text-[10px]">{t.price}</span>
</div>
))}
</div>
</GlassCard>
</div>
{/* Bottom: Kundenersparnis + Wettbewerber + Markt */}
<div className="grid md:grid-cols-3 gap-3 mb-4">
<GlassCard delay={0.5} hover={false} className="p-3">
<h3 className="text-xs font-bold text-emerald-400 uppercase tracking-wider mb-1.5">{de ? 'Kundenersparnis' : 'Customer Savings'}</h3>
<div className="space-y-1 text-xs text-white/60">
<div className="flex justify-between"><span>Pentests</span><strong className="text-emerald-300">30.000 EUR</strong></div>
<div className="flex justify-between"><span>CE-Beurteilungen</span><strong className="text-emerald-300">20.000 EUR</strong></div>
<div className="flex justify-between"><span>Auditmanager</span><strong className="text-emerald-300">60.000+ EUR</strong></div>
<div className="flex justify-between border-t border-white/10 pt-1 mt-1"><span className="font-bold text-white/80">{de ? 'Ersparnis/Jahr' : 'Savings/year'}</span><strong className="text-emerald-300">50-110k EUR</strong></div>
</div>
</GlassCard>
<GlassCard delay={0.55} hover={false} className="p-3">
<h3 className="text-xs font-bold text-red-400 uppercase tracking-wider mb-1.5">{de ? 'Wettbewerber' : 'Competitors'}</h3>
<div className="flex justify-between text-[7px] text-white/30 uppercase tracking-wider mb-1 px-0.5">
<span></span><span>{de ? 'Gegr.' : 'Est.'}</span><span>{de ? 'Kunden' : 'Cust.'}</span><span>{de ? 'Umsatz' : 'Rev.'}</span><span>Invest</span>
</div>
<div className="space-y-0.5">
{[
{ name: 'Vanta', flag: '🇺🇸', year: '2018', cust: '8.000+', rev: '$220M', invest: '$504M' },
{ name: 'Drata', flag: '🇺🇸', year: '2020', cust: '5.000+', rev: '$100M', invest: '$328M' },
{ name: 'Sprinto', flag: '🇮🇳', year: '2020', cust: '2.000+', rev: '—', invest: '$32M' },
{ name: 'DataGuard', flag: '🇩🇪', year: '2017', cust: '4.000+', rev: '€52M', invest: '€80M' },
{ name: 'Proliance', flag: '🇩🇪', year: '2017', cust: '2.500+', rev: '—', invest: 'Pre-Seed' },
{ name: 'heyData', flag: '🇩🇪', year: '2019', cust: '1.500+', rev: '—', invest: '€18M' },
].map((c, idx) => (
<div key={idx} className="flex items-center justify-between text-[9px] gap-1">
<span className="text-white/70 shrink-0 min-w-[70px]">{c.flag} {c.name}</span>
<span className="text-white/30 text-[8px]">{c.year}</span>
<span className="text-white/40 text-[8px]">{c.cust}</span>
<span className="text-white/40 text-[8px]">{c.rev}</span>
<span className="text-white/60 font-mono text-[8px] shrink-0">{c.invest}</span>
</div>
))}
</div>
</GlassCard>
<GlassCard delay={0.6} hover={false} className="p-3">
<h3 className="text-xs font-bold text-amber-400 uppercase tracking-wider mb-1.5">{de ? 'Markt' : 'Market'}</h3>
<div className="space-y-1 text-xs">
<div className="flex justify-between"><span className="text-white/40">TAM</span><span className="text-white/70">{tam ? formatEur(tam.value_eur, lang) : '—'}</span></div>
<div className="flex justify-between"><span className="text-white/40">SAM</span><span className="text-white/70">{sam ? formatEur(sam.value_eur, lang) : '—'}</span></div>
<div className="flex justify-between"><span className="text-white/40">SOM</span><span className="text-white/70">{som ? formatEur(som.value_eur, lang) : '—'}</span></div>
</div>
</GlassCard>
</div>
{/* Disclaimer */}
<FadeInView delay={0.7} className="mb-4">
<div className="bg-white/[0.03] border border-white/[0.03] rounded-lg px-4 py-3">
<h4 className="text-[10px] font-bold text-white/30 uppercase tracking-wider mb-1">{de ? 'Hinweis / Haftungsausschluss' : 'Disclaimer'}</h4>
<p className="text-[9px] text-white/20 leading-relaxed">
{de
? 'Dieses Dokument dient ausschliesslich Informationszwecken und stellt weder ein Angebot zum Verkauf noch eine Aufforderung zum Kauf von Anteilen oder Wertpapieren dar. Die enthaltenen Informationen wurden vom Team Breakpilot (Gruenderteam, noch keine Gesellschaft gegruendet) nach bestem Wissen und Gewissen erstellt, koennen jedoch unvollstaendig sein und jederzeit ohne vorherige Ankuendigung geaendert werden. Es wird keine ausdrueckliche oder konkludente Gewaehr fuer die Richtigkeit, Vollstaendigkeit oder Aktualitaet der Inhalte uebernommen. Dieses Dokument enthaelt zukunftsgerichtete Aussagen, die auf aktuellen Annahmen und Erwartungen beruhen und mit erheblichen Risiken und Unsicherheiten verbunden sind. Die tatsaechlichen Ergebnisse koennen wesentlich von den dargestellten abweichen. Eine Investitionsentscheidung sollte ausschliesslich auf Grundlage weitergehender, rechtlich verbindlicher Unterlagen sowie unter Hinzuziehung eigener rechtlicher, steuerlicher und finanzieller Beratung getroffen werden. Soweit gesetzlich zulaessig, wird jede Haftung des Team Breakpilot sowie seiner Mitglieder fuer etwaige Schaeden, die direkt oder indirekt aus der Nutzung dieses Dokuments entstehen, ausgeschlossen. Dieses Dokument ist vertraulich und ausschliesslich fuer den vorgesehenen Empfaenger bestimmt. Eine Weitergabe, Vervielfaeltigung oder Veroeffentlichung ist ohne vorherige schriftliche Zustimmung nicht gestattet.'
: 'This document is for informational purposes only and does not constitute an offer to sell or a solicitation to purchase shares or securities. The information contained herein was prepared by Team Breakpilot (founding team, no company incorporated yet) to the best of their knowledge, but may be incomplete and subject to change without prior notice. No express or implied warranty is given for the accuracy, completeness or timeliness of the content. This document contains forward-looking statements based on current assumptions and expectations that involve significant risks and uncertainties. Actual results may differ materially. Any investment decision should be based solely on further legally binding documents and with the advice of independent legal, tax and financial counsel. To the extent permitted by law, all liability of Team Breakpilot and its members for any damages arising directly or indirectly from the use of this document is excluded. This document is confidential and intended solely for the designated recipient. Distribution, reproduction or publication without prior written consent is prohibited.'
}
</p>
</div>
</FadeInView>
{/* PDF Download Button */}
<FadeInView delay={0.75} className="text-center pb-4">
<button
onClick={handleDownloadPdf}
className="inline-flex items-center gap-2 px-6 py-2.5 rounded-full bg-indigo-500 hover:bg-indigo-600 transition-colors text-white text-sm font-medium shadow-lg shadow-indigo-500/30"
>
<Download className="w-4 h-4" />
{es.downloadPdf} (DIN A3)
</button>
</FadeInView>
</div>
)
}