fix(pitch-deck): Competition slide — add Effizienz to AppSec tab + fix pricing tiers
All checks were successful
Build pitch-deck / build-push-deploy (push) Successful in 1m10s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 34s
CI / test-python-voice (push) Successful in 37s
CI / test-bqas (push) Successful in 30s
All checks were successful
Build pitch-deck / build-push-deploy (push) Successful in 1m10s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 34s
CI / test-python-voice (push) Successful in 37s
CI / test-bqas (push) Successful in 30s
AppSec tab: Added Effizienz-Kennzahlen table (was only in Overview tab). Pricing tab: ComplAI pricing corrected: - 4 tiers → 3 tiers (Starter/Professional/Enterprise matching Folie 11) - Enterprise: €40k → €50k/yr - "110 Regularien" → "380+ Regularien" - "DE / FR" → "DE" (Frankreich removed) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -277,13 +277,12 @@ const PRICING_COMPARISON: CompetitorPricing[] = [
|
|||||||
{
|
{
|
||||||
name: 'ComplAI',
|
name: 'ComplAI',
|
||||||
flag: '🇩🇪',
|
flag: '🇩🇪',
|
||||||
model: 'Cloud (BSI DE / FR)',
|
model: 'Cloud (BSI DE)',
|
||||||
publicPricing: true,
|
publicPricing: true,
|
||||||
tiers: [
|
tiers: [
|
||||||
{ name: { de: 'Startup/<10', en: 'Startup/<10' }, price: 'ab €300/mo', annual: 'ab €3.600/yr', notes: { de: '14-Tage-Test, Kreditkarte', en: '14-day trial, credit card' } },
|
{ name: { de: 'Starter (<10 MA)', en: 'Starter (<10 emp.)' }, price: '€300/mo', annual: '€3.600/yr', notes: { de: '380+ Regularien, modular', en: '380+ regulations, modular' } },
|
||||||
{ name: { de: '10-50 MA', en: '10-50 emp.' }, price: 'ab €1.250/mo', annual: 'ab €15.000/yr', notes: { de: 'Cloud, modular, 110 Regularien', en: 'Cloud, modular, 110 regulations' } },
|
{ name: { de: 'Professional (10-250)', en: 'Professional (10-250)' }, price: '€1.250–3.333/mo', annual: '€15.000–40.000/yr', notes: { de: 'Alle Module, Priority Support', en: 'All modules, priority support' } },
|
||||||
{ name: { de: '50-250 MA', en: '50-250 emp.' }, price: 'ab €2.500/mo', annual: 'ab €30.000/yr', notes: { de: 'Cloud, alle Module, Priority', en: 'Cloud, all modules, priority' } },
|
{ name: { de: 'Enterprise (250+)', en: 'Enterprise (250+)' }, price: 'ab €4.167/mo', annual: 'ab €50.000/yr', notes: { de: 'Dedicated, Custom, SLA', en: 'Dedicated, custom, SLA' } },
|
||||||
{ name: { de: '250+ MA', en: '250+ emp.' }, price: 'ab €3.500/mo', annual: 'ab €40.000/yr', notes: { de: 'Cloud, Enterprise, Dedicated', en: 'Cloud, enterprise, dedicated' } },
|
|
||||||
],
|
],
|
||||||
setupFee: '€0',
|
setupFee: '€0',
|
||||||
isBP: true,
|
isBP: true,
|
||||||
@@ -842,6 +841,44 @@ export default function CompetitionSlide({ lang, features, competitors }: Compet
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Efficiency Ratios — AppSec */}
|
||||||
|
<GlassCard className="!p-3 mt-4 mb-4" hover={false}>
|
||||||
|
<h4 className="text-xs font-semibold text-white/60 mb-2 flex items-center gap-1.5">
|
||||||
|
<TrendingUp className="w-3.5 h-3.5" />
|
||||||
|
{lang === 'de' ? 'Effizienz-Kennzahlen' : 'Efficiency Ratios'}
|
||||||
|
</h4>
|
||||||
|
<div className="overflow-x-auto">
|
||||||
|
<table className="w-full text-[11px]">
|
||||||
|
<thead>
|
||||||
|
<tr className="border-b border-white/10">
|
||||||
|
<th className="text-left py-1.5 px-2 text-white/40 font-medium">{lang === 'de' ? 'Kennzahl' : 'Metric'}</th>
|
||||||
|
{APPSEC_COMPETITORS.map(c => (
|
||||||
|
<th key={c.name} className="py-1.5 px-2 text-white/50 font-medium text-center">{c.flag} {c.name}</th>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr className="border-b border-white/5">
|
||||||
|
<td className="py-1.5 px-2 text-white/50">{lang === 'de' ? 'Umsatz / Mitarbeiter' : 'Revenue / Employee'}</td>
|
||||||
|
{APPSEC_COMPETITORS.map(c => (
|
||||||
|
<td key={c.name} className="py-1.5 px-2 text-center text-white/70">
|
||||||
|
${ratio(c.revenueNum, c.employees)}
|
||||||
|
</td>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
<tr className="border-b border-white/5">
|
||||||
|
<td className="py-1.5 px-2 text-white/50">{lang === 'de' ? 'Mitarbeiter' : 'Employees'}</td>
|
||||||
|
{APPSEC_COMPETITORS.map(c => (
|
||||||
|
<td key={c.name} className="py-1.5 px-2 text-center text-white/70">
|
||||||
|
{c.employees.toLocaleString()}
|
||||||
|
</td>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</GlassCard>
|
||||||
|
|
||||||
{/* Score Summary */}
|
{/* Score Summary */}
|
||||||
<div className="mt-4 flex items-center justify-center gap-4 flex-wrap">
|
<div className="mt-4 flex items-center justify-center gap-4 flex-wrap">
|
||||||
{[
|
{[
|
||||||
|
|||||||
Reference in New Issue
Block a user