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>
This commit is contained in:
Benjamin Admin
2026-03-27 13:22:56 +01:00
parent c989af42f5
commit cf476ea986

View File

@@ -305,12 +305,12 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
<div className="space-y-1.5"> <div className="space-y-1.5">
{(de ? [ {(de ? [
'Ohne KI verlieren sie ihre Wettbewerbsfähigkeit', 'Ohne KI verlieren sie ihre Wettbewerbsfähigkeit',
'Mit US-KI riskieren sie die Kontrolle über ihre sensibelsten Daten', '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', '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', 'Das Ergebnis: Stillstand in einer Phase, in der Geschwindigkeit entscheidend ist',
] : [ ] : [
'Without AI they lose their competitiveness', 'Without AI they lose their competitiveness',
'With US AI they risk control over their most sensitive data', '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', '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', 'The result: standstill in a phase where speed is decisive',
]).map((item, idx) => ( ]).map((item, idx) => (
@@ -408,7 +408,7 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
de ? 'Audit Manager — Abweichungen End-to-End mit Eskalation' : 'Audit Manager — deviations end-to-end with escalation', 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 ? '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 ? 'Academy — Online-Schulungen für GF und Mitarbeiter' : 'Academy — online training for management and employees',
de ? 'BSI-Cloud DE / OVH FR — Jitsi, Matrix, volle Integration' : 'BSI Cloud DE / OVH FR — Jitsi, Matrix, full integration', de ? 'BSI-Cloud DE / OVH FR' : 'BSI Cloud DE / OVH FR',
].map((item, idx) => ( ].map((item, idx) => (
<p key={idx} className="text-xs text-white/60 pl-3 relative"> <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" /> <span className="absolute left-0 top-1 w-1.5 h-1.5 rounded-full bg-cyan-400/60" />
@@ -450,11 +450,11 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
{[ {[
{ name: 'Code Security', desc: de ? 'SAST, DAST, SBOM, kontinuierliches Pentesting' : 'SAST, DAST, SBOM, continuous pentesting', color: '#ef4444', icon: ScanLine }, { 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 ? '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, AGB, DSE' : 'RoPA, DPIA, TOMs, retention, T&Cs, privacy', color: '#6366f1', icon: FileText }, { 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: '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: '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: '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 ? 'Jira, Ticketsysteme, Workflows' : 'Jira, ticket systems, workflows', color: '#0ea5e9', icon: Cpu }, { 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 }, { 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) => { ].map((mod, idx) => {
const Icon = mod.icon const Icon = mod.icon
@@ -472,17 +472,21 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
{/* Umsatzerwartung + Mitarbeiter + Pricing */} {/* Umsatzerwartung + Mitarbeiter + Pricing */}
<div className="grid md:grid-cols-3 gap-3 mb-4"> <div className="grid md:grid-cols-3 gap-3 mb-4">
<GlassCard delay={0.5} hover={false} className="p-3"> <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 (ARR)' : 'Revenue Forecast (ARR)'}</h3> <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"> <div className="space-y-1 text-xs">
{[ {[
{ year: '2026', arr: de ? '~22k EUR' : '~EUR 22k' }, { year: '2026', cust: '~30', arr: de ? '~22k EUR' : '~EUR 22k' },
{ year: '2027', arr: de ? '~588k EUR' : '~EUR 588k' }, { year: '2027', cust: '~120', arr: de ? '~750k EUR' : '~EUR 750k' },
{ year: '2028', arr: de ? '~1,7 Mio. EUR' : '~EUR 1.7M' }, { year: '2028', cust: '~350', arr: de ? '~2,5 Mio. EUR' : '~EUR 2.5M' },
{ year: '2029', arr: de ? '~3,4 Mio. EUR' : '~EUR 3.4M' }, { year: '2029', cust: '~700', arr: de ? '~5,0 Mio. EUR' : '~EUR 5.0M' },
{ year: '2030', arr: de ? '~5,4 Mio. EUR' : '~EUR 5.4M' }, { year: '2030', cust: '~1.200', arr: de ? '~8,5 Mio. EUR' : '~EUR 8.5M' },
].map((r, idx) => ( ].map((r, idx) => (
<div key={idx} className="flex justify-between"> <div key={idx} className="flex justify-between">
<span className="text-white/40">{r.year}</span> <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> <span className={`font-mono ${idx >= 3 ? 'text-emerald-300 font-bold' : 'text-white/70'}`}>{r.arr}</span>
</div> </div>
))} ))}
@@ -493,11 +497,11 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
<h3 className="text-xs font-bold text-purple-400 uppercase tracking-wider mb-1.5">{de ? 'Mitarbeiterentwicklung' : 'Headcount Growth'}</h3> <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"> <div className="space-y-1 text-xs">
{[ {[
{ year: '2026 (ab Aug)', count: '5 → 10' }, { year: '2026', count: '5' },
{ year: '2027', count: '10 → 17' }, { year: '2027', count: '10' },
{ year: '2028', count: '17' }, { year: '2028', count: '17' },
{ year: '2029', count: '17 → 20' }, { year: '2029', count: '25' },
{ year: '2030', count: '20 → 25' }, { year: '2030', count: '35' },
].map((r, idx) => ( ].map((r, idx) => (
<div key={idx} className="flex justify-between"> <div key={idx} className="flex justify-between">
<span className="text-white/40">{r.year}</span> <span className="text-white/40">{r.year}</span>
@@ -539,22 +543,24 @@ export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySl
<GlassCard delay={0.55} hover={false} className="p-3"> <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> <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-[8px] text-white/30 uppercase tracking-wider mb-1 px-0.5"> <div className="flex justify-between text-[7px] text-white/30 uppercase tracking-wider mb-1 px-0.5">
<span></span><span>{de ? 'Umsatz' : 'Revenue'}</span><span>Invest</span> <span></span><span>{de ? 'Gegr.' : 'Est.'}</span><span>{de ? 'Kunden' : 'Cust.'}</span><span>{de ? 'Umsatz' : 'Rev.'}</span><span>Invest</span>
</div> </div>
<div className="space-y-0.5"> <div className="space-y-0.5">
{[ {[
{ name: 'Vanta', flag: '🇺🇸', rev: '$220M ARR', invest: '$504M' }, { name: 'Vanta', flag: '🇺🇸', year: '2018', cust: '8.000+', rev: '$220M', invest: '$504M' },
{ name: 'Drata', flag: '🇺🇸', rev: '$100M ARR', invest: '$328M' }, { name: 'Drata', flag: '🇺🇸', year: '2020', cust: '5.000+', rev: '$100M', invest: '$328M' },
{ name: 'Sprinto', flag: '🇮🇳', rev: '—', invest: '$32M' }, { name: 'Sprinto', flag: '🇮🇳', year: '2020', cust: '2.000+', rev: '—', invest: '$32M' },
{ name: 'DataGuard', flag: '🇩🇪', rev: '€52M', invest: '€80M' }, { name: 'DataGuard', flag: '🇩🇪', year: '2017', cust: '4.000+', rev: '€52M', invest: '€80M' },
{ name: 'Proliance', flag: '🇩🇪', rev: '—', invest: 'Pre-Seed' }, { name: 'Proliance', flag: '🇩🇪', year: '2017', cust: '2.500+', rev: '—', invest: 'Pre-Seed' },
{ name: 'heyData', flag: '🇩🇪', rev: '—', invest: '€18M' }, { name: 'heyData', flag: '🇩🇪', year: '2019', cust: '1.500+', rev: '—', invest: '€18M' },
].map((c, idx) => ( ].map((c, idx) => (
<div key={idx} className="flex items-center justify-between text-[10px] gap-1"> <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/70 shrink-0 min-w-[70px]">{c.flag} {c.name}</span>
<span className="text-white/40 text-[9px]">{c.rev}</span> <span className="text-white/30 text-[8px]">{c.year}</span>
<span className="text-white/60 font-mono text-[9px] shrink-0">{c.invest}</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>
))} ))}
</div> </div>