feat: Glossar-Folie mit 27 Abkürzungen in 4 Kategorien

Letzte Folie "Glossar & Abkürzungen":
- Code Security & DevSecOps: SAST, DAST, SBOM, DevSecOps, SCA, CI/CD, AppSec
- Compliance & Datenschutz: DSGVO, VVT, TOMs, DSFA, DSR, DSB, ISMS
- EU-Regulierungen: AI Act, CRA, NIS2, MVO, TISAX
- Geschäftskennzahlen: ARR, MRR, CAC, LTV, ARPU, SaaS, ESOP, ROI

Jede Abkürzung mit ausgeschriebenem Namen + Kurzbeschreibung (DE+EN)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-28 23:03:27 +01:00
parent 06431be40d
commit 159d07efd5
5 changed files with 106 additions and 0 deletions

View File

@@ -45,6 +45,7 @@ import AIPipelineSlide from './slides/AIPipelineSlide'
import SDKDemoSlide from './slides/SDKDemoSlide'
import StrategySlide from './slides/StrategySlide'
import FinanzplanSlide from './slides/FinanzplanSlide'
import GlossarySlide from './slides/GlossarySlide'
interface PitchDeckProps {
lang: Language
@@ -188,6 +189,8 @@ export default function PitchDeck({ lang, onToggleLanguage }: PitchDeckProps) {
return <StrategySlide lang={lang} />
case 'annex-finanzplan':
return <FinanzplanSlide lang={lang} />
case 'annex-glossary':
return <GlossarySlide lang={lang} />
default:
return null
}

View File

@@ -0,0 +1,99 @@
'use client'
import { Language } from '@/lib/types'
import GradientText from '../ui/GradientText'
import FadeInView from '../ui/FadeInView'
import GlassCard from '../ui/GlassCard'
interface GlossarySlideProps {
lang: Language
}
export default function GlossarySlide({ lang }: GlossarySlideProps) {
const de = lang === 'de'
const categories = [
{
title: de ? 'Code Security & DevSecOps' : 'Code Security & DevSecOps',
color: 'text-red-400',
terms: [
{ abbr: 'SAST', full: 'Static Application Security Testing', desc: de ? 'Analyse des Quellcodes auf Schwachstellen ohne Ausführung' : 'Source code analysis for vulnerabilities without execution' },
{ abbr: 'DAST', full: 'Dynamic Application Security Testing', desc: de ? 'Testen der laufenden Anwendung auf Schwachstellen' : 'Testing running applications for vulnerabilities' },
{ abbr: 'SBOM', full: 'Software Bill of Materials', desc: de ? 'Vollständige Liste aller Software-Komponenten und Abhängigkeiten' : 'Complete list of all software components and dependencies' },
{ abbr: 'DevSecOps', full: 'Development + Security + Operations', desc: de ? 'Integration von Sicherheit in den Entwicklungsprozess' : 'Integration of security into the development process' },
{ abbr: 'SCA', full: 'Software Composition Analysis', desc: de ? 'Analyse von Open-Source-Abhängigkeiten auf Schwachstellen' : 'Analysis of open-source dependencies for vulnerabilities' },
{ abbr: 'CI/CD', full: 'Continuous Integration / Continuous Deployment', desc: de ? 'Automatisierte Build- und Deploy-Pipeline' : 'Automated build and deploy pipeline' },
{ abbr: 'AppSec', full: 'Application Security', desc: de ? 'Sicherheit auf Anwendungsebene' : 'Security at application level' },
],
},
{
title: de ? 'Compliance & Datenschutz' : 'Compliance & Data Protection',
color: 'text-indigo-400',
terms: [
{ abbr: 'DSGVO', full: 'Datenschutz-Grundverordnung / GDPR', desc: de ? 'EU-Datenschutzverordnung seit Mai 2018' : 'EU data protection regulation since May 2018' },
{ abbr: 'VVT', full: de ? 'Verzeichnis von Verarbeitungstätigkeiten' : 'Record of Processing Activities (RoPA)', desc: de ? 'Pflichtdokumentation aller Datenverarbeitungen' : 'Mandatory documentation of all data processing' },
{ abbr: 'TOMs', full: de ? 'Technisch-Organisatorische Maßnahmen' : 'Technical & Organizational Measures', desc: de ? 'Schutzmaßnahmen für personenbezogene Daten' : 'Protective measures for personal data' },
{ abbr: 'DSFA', full: de ? 'Datenschutz-Folgenabschätzung' : 'Data Protection Impact Assessment (DPIA)', desc: de ? 'Risikoanalyse bei hohem Risiko für Betroffene' : 'Risk analysis when high risk for data subjects' },
{ abbr: 'DSR', full: de ? 'Betroffenenrechte / Data Subject Rights' : 'Data Subject Rights', desc: de ? 'Auskunft, Löschung, Berichtigung, Portabilität' : 'Access, erasure, rectification, portability' },
{ abbr: 'DSB', full: de ? 'Datenschutzbeauftragter' : 'Data Protection Officer (DPO)', desc: de ? 'Verantwortlich für Datenschutz-Compliance' : 'Responsible for data protection compliance' },
{ abbr: 'ISMS', full: 'Information Security Management System', desc: de ? 'Managementsystem für Informationssicherheit (z.B. ISO 27001)' : 'Management system for information security (e.g. ISO 27001)' },
],
},
{
title: de ? 'EU-Regulierungen' : 'EU Regulations',
color: 'text-cyan-400',
terms: [
{ abbr: 'AI Act', full: de ? 'KI-Verordnung (EU) 2024/1689' : 'AI Regulation (EU) 2024/1689', desc: de ? 'Weltweit erste KI-Regulierung, Risikoklassen für KI-Systeme' : 'World\'s first AI regulation, risk classes for AI systems' },
{ abbr: 'CRA', full: 'Cyber Resilience Act', desc: de ? 'Cybersicherheit für Produkte mit digitalen Elementen, SBOM-Pflicht' : 'Cybersecurity for products with digital elements, SBOM mandatory' },
{ abbr: 'NIS2', full: 'Network and Information Security Directive 2', desc: de ? 'Cybersicherheits-Richtlinie, 30.000+ Unternehmen in DE betroffen' : 'Cybersecurity directive, 30,000+ companies in DE affected' },
{ abbr: 'MVO', full: de ? 'Maschinenverordnung (EU) 2023/1230' : 'Machinery Regulation (EU) 2023/1230', desc: de ? 'CE-Kennzeichnung inkl. Cybersicherheit ab Jan 2027' : 'CE marking incl. cybersecurity from Jan 2027' },
{ abbr: 'TISAX', full: 'Trusted Information Security Assessment Exchange', desc: de ? 'Informationssicherheits-Standard der Automobilindustrie' : 'Information security standard for automotive industry' },
],
},
{
title: de ? 'Geschäftskennzahlen' : 'Business Metrics',
color: 'text-emerald-400',
terms: [
{ abbr: 'ARR', full: 'Annual Recurring Revenue', desc: de ? 'Jährlich wiederkehrender Umsatz (MRR × 12)' : 'Annually recurring revenue (MRR × 12)' },
{ abbr: 'MRR', full: 'Monthly Recurring Revenue', desc: de ? 'Monatlich wiederkehrender Umsatz' : 'Monthly recurring revenue' },
{ abbr: 'CAC', full: 'Customer Acquisition Cost', desc: de ? 'Kosten pro Neukundengewinnung' : 'Cost per new customer acquisition' },
{ abbr: 'LTV', full: 'Lifetime Value', desc: de ? 'Gesamtumsatz pro Kunde über die Lebensdauer' : 'Total revenue per customer over lifetime' },
{ abbr: 'ARPU', full: 'Average Revenue Per User', desc: de ? 'Durchschnittlicher Umsatz pro Kunde' : 'Average revenue per customer' },
{ abbr: 'SaaS', full: 'Software as a Service', desc: de ? 'Software als monatlicher Abonnement-Service' : 'Software as monthly subscription service' },
{ abbr: 'ESOP', full: 'Employee Stock Option Plan', desc: de ? 'Mitarbeiterbeteiligungsprogramm' : 'Employee participation program' },
{ abbr: 'ROI', full: 'Return on Investment', desc: de ? 'Rendite auf die Investition' : 'Return on investment' },
],
},
]
return (
<div className="max-w-6xl mx-auto">
<FadeInView className="text-center mb-5">
<h2 className="text-3xl md:text-4xl font-bold mb-2">
<GradientText>{de ? 'Glossar & Abkürzungen' : 'Glossary & Abbreviations'}</GradientText>
</h2>
</FadeInView>
<div className="grid md:grid-cols-2 gap-4">
{categories.map((cat, idx) => (
<FadeInView key={idx} delay={0.1 + idx * 0.05}>
<GlassCard hover={false} className="p-4">
<h3 className={`text-xs font-bold ${cat.color} uppercase tracking-wider mb-3`}>{cat.title}</h3>
<div className="space-y-2">
{cat.terms.map((term, i) => (
<div key={i} className="flex gap-2">
<span className={`text-xs font-bold ${cat.color} min-w-[65px] shrink-0`}>{term.abbr}</span>
<div>
<span className="text-xs text-white/70">{term.full}</span>
<span className="text-[10px] text-white/40 ml-1"> {term.desc}</span>
</div>
</div>
))}
</div>
</GlassCard>
</FadeInView>
))}
</div>
</div>
)
}

View File

@@ -35,6 +35,7 @@ const translations = {
'Anhang: SDK Demo',
'Anhang: Strategie',
'Anhang: Finanzplan',
'Glossar',
],
executiveSummary: {
title: 'Executive Summary',
@@ -329,6 +330,7 @@ const translations = {
'Appendix: SDK Demo',
'Appendix: Strategy',
'Appendix: Financial Plan',
'Glossary',
],
executiveSummary: {
title: 'Executive Summary',

View File

@@ -28,6 +28,7 @@ export const SLIDE_ORDER: SlideId[] = [
'annex-sdk-demo',
'annex-strategy',
'annex-finanzplan',
'annex-glossary',
]
export const TOTAL_SLIDES = SLIDE_ORDER.length

View File

@@ -228,3 +228,4 @@ export type SlideId =
| 'annex-sdk-demo'
| 'annex-strategy'
| 'annex-finanzplan'
| 'annex-glossary'