fix: Onepager — finale Texte Problem/Lösung/USP, Gründer-Kachel entfernt

- USP: Ausführlicher Text + "100% Datensouveränität ohne US-Abhängigkeit"
- Problem: "Unlösbare Entscheidung" mit 4 präzisen Bullet Points
- Lösung: "Audit-ready zu jedem Zeitpunkt" mit 5 Bullet Points
- Gründer-Kachel entfernt → 3er-Grid (Ersparnis, Wettbewerber, Markt)
- Wettbewerber: Schrift etwas größer (10px), besser lesbar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-27 12:47:46 +01:00
parent 90c7f9d8ec
commit d3247ef090

View File

@@ -282,33 +282,37 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
<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-1">{es.uspText}</p>
<p className="text-sm font-semibold text-indigo-300 mt-1">{de ? '100% Datensouveränität' : '100% Data Sovereignty'}</p>
<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 — Bullet Points */}
{/* 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 ? [
'Um wettbewerbsfähig zu bleiben, müssen Unternehmen KI einsetzen',
'US-basierte KI-Anbieter in sensibelste Systeme integrieren? Zu riskant.',
'Wer auf US-SaaS verzichtet, verliert den Anschluss an die KI-Transformation',
'Wer sie nutzt, riskiert Datenabfluss und regulatorische Unsicherheit',
'Über 30.000 Unternehmen in DE durch AI Act, CRA, NIS2 belastet',
'Ergebnis: Entscheidungsblockade statt Innovation',
'Ohne KI verlieren sie ihre Wettbewerbsfähigkeit',
'Mit US-KI riskieren sie die Kontrolle über ihre sensibelsten Daten',
'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',
] : [
'Companies must adopt AI to stay competitive',
'Integrating US AI providers into core systems? Too risky.',
'Avoiding US SaaS means falling behind the AI transformation',
'Using them risks data leakage and regulatory uncertainty',
'Over 30,000 companies in Germany affected by AI Act, CRA, NIS2',
'Result: Decision paralysis instead of innovation',
'Without AI they lose their competitiveness',
'With US AI they risk 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" />
@@ -322,21 +326,22 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
<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 ? [
'Ersetzt punktuelle Audits durch kontinuierliche Compliance & Security',
'SAST, DAST, SBOM und Pentests bei jeder Code-Änderung automatisch',
'VVT, TOMs, DSFA, Löschfristen, CE-Risikobeurteilungen fortlaufend generiert',
'Audit-Abweichungen End-to-End: Rollen, Fristen, Tickets, Eskalation an GF',
'Nahtlose Integration in bestehende Workflows (z.\u00a0B. Jira)',
'BSI-Cloud DE oder OVH FR — kontinuierlich statt punktuell',
'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',
] : [
'Replaces spot audits with continuous compliance & security',
'SAST, DAST, SBOM and pentests automatically on every code change',
'RoPA, TOMs, DPIA, retention, CE risk assessments continuously generated',
'Audit deviations end-to-end: roles, deadlines, tickets, escalation to mgmt',
'Seamless integration into existing workflows (e.g. Jira)',
'BSI cloud DE or OVH FR — continuous instead of periodic',
'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" />
@@ -464,8 +469,8 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
</div>
</FadeInView>
{/* Bottom: Kundenersparnis + Gründer + Wettbewerber + Markt */}
<div className="grid md:grid-cols-4 gap-3 mb-4">
{/* 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">
@@ -477,40 +482,28 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
</GlassCard>
<GlassCard delay={0.55} hover={false} className="p-3">
<h3 className="text-xs font-bold text-indigo-400 uppercase tracking-wider mb-1.5">{de ? 'Gründer' : 'Founders'}</h3>
<div className="space-y-1">
{data.team?.slice(0, 4).map((m, idx) => (
<div key={idx} className="flex justify-between items-center">
<span className="text-xs text-white/80 font-medium">{m.name}</span>
<span className="text-[10px] text-white/40">{de ? m.role_de : m.role_en}</span>
<h3 className="text-xs font-bold text-red-400 uppercase tracking-wider mb-1.5">{de ? 'Wettbewerber' : 'Competitors'}</h3>
<div className="space-y-0.5">
{[
{ name: 'Vanta', flag: '🇺🇸', rev: '$220M ARR', invest: '$504M' },
{ name: 'Drata', flag: '🇺🇸', rev: '$100M ARR', invest: '$328M' },
{ name: 'Sprinto', flag: '🇮🇳', rev: '—', invest: '$32M' },
{ name: 'DataGuard', flag: '🇩🇪', rev: '€52M', invest: '€80M' },
{ name: 'Proliance', flag: '🇩🇪', rev: '—', invest: 'Pre-Seed' },
{ name: 'heyData', flag: '🇩🇪', rev: '—', invest: '€18M' },
].map((c, idx) => (
<div key={idx} className="flex items-center justify-between text-[10px] gap-1">
<span className="text-white/70 shrink-0">{c.flag} {c.name}</span>
<span className="text-white/30 text-[9px]">{c.rev}</span>
<span className="text-white/50 font-mono text-[9px] shrink-0">{c.invest}</span>
</div>
))}
</div>
</GlassCard>
<GlassCard delay={0.6} 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="space-y-0.5">
{[
{ name: 'Vanta', flag: '🇺🇸', rev: '$220M ARR', invest: '$504M', val: '$4,15B' },
{ name: 'Drata', flag: '🇺🇸', rev: '$100M ARR', invest: '$328M', val: '$2B' },
{ name: 'Sprinto', flag: '🇮🇳', rev: '—', invest: '$32M', val: 'Series B' },
{ name: 'DataGuard', flag: '🇩🇪', rev: '€52M', invest: '€80M', val: '€341M' },
{ name: 'Proliance', flag: '🇩🇪', rev: '—', invest: 'Pre-Seed', val: '—' },
{ name: 'heyData', flag: '🇩🇪', rev: '—', invest: '€18M', val: 'Series A' },
].map((c, idx) => (
<div key={idx} className="flex items-center justify-between text-[9px] gap-1">
<span className="text-white/70 shrink-0">{c.flag} {c.name}</span>
<span className="text-white/30 text-[8px]">{c.rev}</span>
<span className="text-white/40 font-mono text-[8px] shrink-0">{c.invest}</span>
</div>
))}
</div>
</GlassCard>
<GlassCard delay={0.65} 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-0.5 text-xs">
<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>