EU AI Act Enforcement-Deadline — 2. August 2026 Jetzt prüfen →
Engine-Hub
Engine-Changelog

Aktuell: AI-ACT-2024-1689-v5.12.0

Rule-Set vom 2026-05-10 · 35 dokumentierte Versionen

Jede Version ist mit Test-Auswirkungen, Article-References und Migration-Notes dokumentiert. Historische Assessments bleiben mit ihrer ursprünglichen Engine-Version gültig.

v5.12.0Minor
2026-05-13

Pre-Launch Audit Fix-Sprint — P0/P1 Findings behoben

  • 🔒 P0-1 Stripe-Webhook-Idempotency verkabelt: wasProcessed/markProcessed-Gate in app/api/webhooks/stripe/route.ts. Stripe-Replays werden jetzt nach Event-ID erkannt und mit 200/idempotent beantwortet. Verhindert doppelte audit_trail-Inserts, doppelte Welcome-Emails und doppelte Analytics-Events bei Webhook-Retries.
  • 🔒 P0-4 Account-Delete CSRF-sicher: Endpoint von GET auf POST umgestellt, verlangt Origin-Check + explizites "LOESCHEN"-Confirmation-Token. Neue DeleteAccountSection.tsx-Client-Component mit Modal in /app/einstellungen. Browser-Prefetch und CSRF-Bilder können keine Lösch-Anfragen mehr triggern.
  • 🚨 P0-2 Domain-Gates Detection-Bug behoben: Finance-Gate und Banking-Gate firten zuvor NIE wegen Mismatch zwischen domain-gates.ts (erwartete "finance"/"hr_recruiting") und tatsächlichen library-Werten ("credit_scoring"/"hr_recruitment"). Komplette Neuschreibung mit alignierten Sets und korrekten Use-Case-ID-Prefixes (finance_/insurance_/hr_). Trim's Bankingbot-Case (banking + analyze_persons + fully_auto + EU customers) klassifiziert jetzt korrekt als HIGH_RISK_CONFIRMED statt fälschlich Minimal Risk.
  • 🏥 P0-7 Healthcare-Gate implementiert: drei Pfade — Emergency-Triage (Annex III §5(d) → HIGH_RISK_CONFIRMED), Medical-Device-AI (MDR 2017/745 + AI Act doppelte Regulierung), Mental-Health-Chatbot (vulnerable group exposure). Plus Wellness/Fitness-Erkennung für Limited-Risk-Pfad. Detection deckt 10+ healthcare-spezifische Use-Case-Prefixes ab (pathology_, ophthalmology_, cardiology_, emergency_, mental_health_, etc.).
  • 🧪 P0-5 Unit-Test-Suite für alle 5 Sprint-41-Trust-Module: 36 Tests in lib/engine-v3/empire/__tests__/sprint-41-modules.test.ts covered HR/Finance/Banking/Healthcare-Gates, Art.50-Triggers, GPAI-Role-Resolver, Document-Status-Logic und Verdict-State-Machine-Integration. Inkludiert expliziten "Trim Bankingbot Regression Guard"-Test der den P0-2-Bug künftig fängt. `npm test` Script + CI-Workflow-Hook hinzugefügt. Alle 36 Tests grün.
  • 📄 P0-3 PDF-Stack konsolidiert: dead code lib/pdf-generator.ts (260 Lines @react-pdf/renderer) entfernt — niemand importierte createReportDocument. DRAFT-Watermark in den ECHTEN pdfkit-Renderer lib/document-generator/render-pdf.ts portiert: drawDraftWatermark-Funktion rendert 96pt rotierten "DRAFT"-Stamp diagonal + Top-Right-Corner-Marker mit Verdict-Status-Detail (PROVISIONAL/LEGAL REVIEW/PREFLIGHT ERROR) auf jeder Seite wenn verdictStatus ≠ FINAL. Beide Document-Generator-API-Routes (/api/documents/[type]/[assessmentId] und /api/v1/documents/generate) berechnen jetzt Verdict via computeVerdict und übergeben verdictStatus an RenderContext.
  • 📝 P0-6 Outdated "5–6 Fragen"-Copy entfernt: Homepage Hero (3 Stellen) + Email-Template (lib/email/templates.ts) auf "sektor-spezifische Fragen" umgestellt. Mismatch zwischen Marketing-Versprechen und tatsächlichem WizardV2-Flow (5-15 Fragen je nach Komplexität) beseitigt.
  • 🔐 P1-3 Auth-Callback Open-Redirect-Härtung: next-Parameter wird jetzt mit /^\/[^/\\]/-Regex validiert — nur echte interne Pfade erlaubt. Protocol-relative URLs ("//evil.com"), Scheme-Injection (javascript:, data:) und Backslash-Tricks werden auf /app/dashboard zurückgefallen.
  • 🔐 P1-4 Hardcoded Admin-Email aus Source entfernt: lib/constants.ts hatte ADMIN_FALLBACK = "leutrim.miftaraj@hotmail.com" als Safety-Net. Jetzt fail-closed: wenn ADMIN_EMAILS env nicht gesetzt, gibt es keine Admin-Zugänge. Produktion MUSS ADMIN_EMAILS in Vercel setzen. Personenbezogene Daten sind nicht mehr im verteilten Code.
  • 🔐 P1-2 Public-Verify Enumeration-Schutz: Hash-Validation von min 8 auf min 16 hex-chars erhöht (64 Bit Entropy), und der `ilike(id, hash%)`-Fallback-Path entfernt. Nur exakte result_hash-Matches erlaubt — keine Assessment-ID-Prefix-Enumeration mehr möglich.

Test-Auswirkung: `npx tsc --noEmit` läuft mit 0 Errors. `npm test` läuft mit 36/36 grün. CI-Workflow erweitert um den neuen Test-Step. Alle behobenen Bugs sind durch automatisierte Regressionsfänger abgesichert — die hier eingeführten Tests verhindern dass die gleichen Bugs erneut entstehen.

v5.11.0Minor
2026-05-13

Sprint 41 Phase 3 — Art. 50 / GPAI / Document-Status + Enterprise PDF Polish + Wizard-Consolidation

  • ⚖️ Art. 50 EU AI Act wird jetzt PARAGRAPH-FÜR-PARAGRAPH ausgewertet statt als Bundle: lib/engine-v3/empire/article-50-triggers.ts evaluiert 50(1) direkte Interaktion, 50(2) synthetische Inhalte (Provider), 50(3) Emotionserkennung + biometrische Kategorisierung (Deployer), 50(4) Deepfakes (Deployer). Jeder Trigger mit Role-Tag (provider/deployer/both), triggerReason, legalBasis, notTriggeredReason — keine pauschalen Vier-Punkt-Reports mehr.
  • 🧬 GPAI Drei-Rollen-Separation in lib/engine-v3/empire/gpai-role.ts: System Provider / System Deployer / GPAI-Model-Provider werden klar getrennt. Wer ChatGPT/Claude/Gemini/Copilot NUTZT bekommt Art. 53 GPAI-Pflichten korrekt als NICHT-anwendbar zugeordnet (treffen den Upstream-Provider), aber Vendor-Due-Diligence-Pflicht wird neu angezeigt. Endlich keine falschen Art. 53-Verpflichtungen mehr für KMU die nur GPAI-Konsumenten sind.
  • 📋 Document Generator Status Logic in lib/engine-v3/empire/document-status.ts: Pro Dokument (FRIA, Tech-Doc, Instructions, Konformitäts-Erkl., Post-Market, DSFA, AI-Literacy) wird MANDATORY/RECOMMENDED/OPTIONAL/NOT_APPLICABLE/DRAFT_ONLY berechnet. Wenn Verdict ≠ FINAL: alle generierbaren Dokumente werden DRAFT_ONLY mit verdict-spezifischem Watermark (DRAFT — Preflight Error / Provisional / Legal Review).
  • 🎨 Result-Page komplett neu strukturiert mit 5 nummerierten Sektionen: 1) Verdict, 2) Anwendungsbereich, 3) Folge-Fragen (wenn Gate fired), 4) Risiko-Pfad-Analyse, 5) Rollen & Transparenz-Pflichten. SectionHeading-Helper rendert visuell konsistente Section-Anker mit Brand-Akzent.
  • 🔌 Zwei neue Result-Page-Panels: Article50Panel zeigt triggered/notTriggered-Split mit Provider/Deployer/Both Role-Badges und collapsible "Nicht ausgelöste Pflichten" Section · GPAIRolePanel zeigt drei RoleCards + Reasoning-Trail + Applicable-vs-NotApplicable-Obligations.
  • 🧙 Wizard-Konsolidierung: Statt zwei separate Wizards (/assessment alt + /assessment-v2 modern) gibt es jetzt EINEN kanonischen Wizard. /assessment route nutzt das moderne sector-first WizardV2 mit 216-Use-Case-Bibliothek; /assessment-v2 ist 301-Redirect zur kanonischen URL.
  • ✨ NewSystemClient-Modernisierung: 8-Sektor-Chips (HR/Finance/Healthcare/Legal/Retail/Manufacturing/Education/Other) + 4 Quick-fill-Templates (ChatGPT Enterprise / M365 Copilot / Claude / Salesforce Einstein) + Best-Practice-Tip. 3-Sektion-Layout mit Gradient-Hero, automatischer Use-Case-Vorfüllung bei Sektor-Auswahl.
  • 🏢 PDF Enterprise-Polish (law-firm aesthetic): neue dedizierte Cover-Page mit Navy/Gold-Branding (#1A3A6B + #C9A961 Akzent-Bar), Risk-Block + Verdict-Status-Banner, Audit-ID + Engine-Version Footer. Refined Typography: Uppercase Section-Titles mit Letter-Spacing, warmes #1F2937 Body-Text, Helvetica-Bold-Akzente.
  • ⚠️ DRAFT-Watermark-System: Wenn Verdict-Status ≠ FINAL wird auf JEDER PDF-Page ein 80px DRAFT-Watermark (rotiert -30°, 45% Opacity) gerendert + Top-Right-Korner-Marker mit Verdict-Status-Detail (PROVISIONAL / LEGAL REVIEW / PREFLIGHT ERROR). Audit-Konfusion durch falsch deployte Draft-Reports ausgeschlossen.
  • 📚 KI-Kompetenz-Fragenbank Expert-Edition: erweitert von 25 → 55 Fragen (+120%). Alle 30 neuen Fragen sind szenario-basiert mit advanced/expert-Difficulty (Schweizer SaaS extraterritorial, Art. 6(3)-Cumulative-Conditions, Rubber-stamping-Problem 95% Übernahmequote, GPAI Systemic Risk, Cross-Reference DSGVO+AI Act, BetrVG §87 Mitbestimmung, Implementing Acts, Schrems-II + FISA 702, MDR-Overlap bei Triage-Systemen, etc.).
  • 📜 Vertragsklauseln-Bibliothek Senior-Level: erweitert von 7 → 15 Klauseln (+114%). Neue Klauseln: Vendor-AI-Act-Konformitäts-Gewährleistung (Art. 16(a)+(g)), Employment-AI-Mitarbeiter-Information (Annex III §4 + DSGVO Art. 88), Customer-AI-Disclosure (Art. 50(1)), GPAI-Model-Lizenzbedingungen (Art. 53(1)(b)+(c)), High-Risk-Haftungsfreistellung mit Liability-Cap (Art. 99), Substantial-Modification-Trigger mit €50K-Vertragsstrafe (Art. 25(1)(c)), Data-Governance-Audit-Right (Art. 10), Incident-Response-SLA mit Severity-Thresholds (Art. 73).
  • 📱 Responsive-Audit: Settings-Page grid-cols-2 → grid-cols-1 sm:grid-cols-2 für saubere Mobile-Darstellung ab 320px. Result-Page-Sections, Article50Panel, GPAIRolePanel und NewSystemClient-Sektor-Chips alle responsive (grid-cols-1 sm:grid-cols-3, flex-wrap, max-w-Constraints).

Test-Auswirkung: `npx tsc --noEmit` läuft mit 0 Errors. Alle neuen Engine-Module sind pure Functions, fully unit-testable. Result-Page renders backwards-compatible — bestehende Reports werden weiterhin korrekt dargestellt. PDF-Generator: optional verdictStatus + verdictWatermark Parameter, ohne Bruch für existierende Callers.

v5.10.1Minor
2026-05-12

Sprint 41 Phase 2 — Domain-Gates (HR/Finance/Banking) + Onboarding-Guide

  • 🏛️ Drei Domain-Gates in /lib/engine-v3/empire/domain-gates.ts implementiert: HR-Gate (Recruiting/Employment/Performance), Finance-Gate (Credit/Insurance/Complaint-Triage) und Banking-Gate (Banks specifically). Jedes Gate ist pure function (testbar) und liefert RiskCandidate + Required-Legal-Review-Flag + Missing-Questions-Liste.
  • 🚨 Banking-Gate fängt jetzt Trim's Test-Case "Bankingbot" korrekt: banking + analyze_persons + fully_auto + personal_data + EU customers → POTENTIAL_HIGH_RISK + LEGAL_REVIEW_REQUIRED (vorher fälschlicherweise Minimal Risk).
  • 🚨 Finance-Gate fängt "Qualitätssicherung / finance_complaint_triage": wenn Triage automatisierte Kundenbenachteiligung erzeugen kann → LEGAL_REVIEW_REQUIRED bis Folge-Fragen geklärt sind.
  • 🚨 HR-Gate trennt Minimal/Limited/Potential-High-Risk-Cases: pure Interview-Frage-Generator = Minimal · direkte Kandidaten-Interaktion ohne Bewertung = Limited (+ Art. 50(1)) · Scoring/Ranking/Empfehlung = POTENTIAL_HIGH_RISK.
  • 🎯 Verdict-State-Machine integriert die Gate-Resultate: requires_legal_review aus Gate triggert LEGAL_REVIEW_REQUIRED-Verdict auch wenn die generische Heuristik nicht greifen würde. Gate-Reasons werden in statusReasons gemerged.
  • ❓ Neue UI-Komponente MissingQuestionsCard in /components/empire/v4/: rendert die priorisierten Folge-Fragen (kritisch/hoch/mittel) mit legaler Relevanz pro Frage. Wird auf Ergebnis-Seite oberhalb der Risk-Karte angezeigt wenn ein Gate fired.
  • 🎓 Schnellstart-Guide /app/willkommen neu gebaut (vorher 404 von "Empire-Tour"): 6 Schritte (Erstes System / Pflichten / Dokumente / Team / KI-Kompetenz / Notifications), pro Schritt Best-Practice + Tipp + Direkt-Link, plus 14-Tage-Plan für die ersten zwei Wochen. Done-Detection: Schritte werden als "Erledigt" markiert wenn der zugehörige Datenpunkt im Workspace existiert.

Test-Auswirkung: `npx tsc --noEmit` läuft mit 0 Errors. Domain-Gates sind pure Functions, fully unit-testable. Engine-Output-Format unverändert — Verdict ergänzt nur `gateDecision`-Property die optional konsumiert werden kann.

v5.10.0Major
2026-05-12

Sprint 41 Phase 1 — Launch-Polish · Trust-Critical Engine-Hardening

  • 🏛️ Verdict-State-Machine in /lib/engine-v3/empire/verdict-state-machine.ts: kanonisches Modul das aus Engine-Output + Facts den finalen Verdict-Status (FINAL/PROVISIONAL/BLOCKED/LEGAL_REVIEW_REQUIRED) berechnet inkl. Konfidenz-Cap (60/75/80/100%). Eliminiert die Trust-Killer-Kombination "Stabil · 100% Konfidenz · Insufficient Information".
  • 🌐 Scope-Logic getrennt vom Risk: 5 explizite Scope-States (OUT_OF_SCOPE / IN_SCOPE_MINIMAL / IN_SCOPE_LIMITED / IN_SCOPE_HIGH_RISK / IN_SCOPE_PROHIBITED). Ergebnis-Seite zeigt jetzt "AI Act anwendbar · Minimal Risk" statt fälschlicherweise "Art. 2 — Ausserhalb des Anwendungsbereichs" wenn CH-Provider mit EU-Kunden.
  • 🚦 Result-Page-Verdict-Banner: prominenter farbiger Banner ganz oben mit Verdict-Status (Final bewertbar / Vorläufig / Blockiert / Juristische Prüfung empfohlen) + Risk-Class-Label + statusReasons + gekappte Konfidenz/Plausibilität wenn non-final.
  • ⚠️ "Stabil"-Badge (LegalUpdateSensitivityBadge) versteckt sich automatisch wenn verdictStatus !== FINAL. Verhindert irreführendes "Stabil · Re-Assessment nur bei Änderung" neben "insufficient_information".
  • 🔗 Verify-Hash 404 gefixt: removed `.eq("completed", true)` Filter in /verify/[hash]/page.tsx — fand bisher Re-Assessment-Edge-Cases und Drafts nicht. Plus `completed` jetzt im Select um State im UI anzuzeigen.
  • 🏠 Dashboard "Erstes System prüfen" verschwindet wenn schon Systeme da: MaturityHero bekommt `totalWorkspaceSystems`-Prop und versteckt sich wenn Maturity-Aggregator 0 zählt aber Workspace bereits Systeme hat.
  • 🎓 "Empire-Tour" → "Schnellstart-Guide" umbenannt mit professionellerer Sub-Description (Best Practices · jederzeit erneut zugänglich · überspringbar).
  • 📝 "5–6 Fragen"-Text im Neues-System-Wizard ersetzt durch "vollständiges Enterprise-Assessment" — passt zur tatsächlichen Wizard-Tiefe.
  • 📱 App-Einstellungen jetzt collapsible (per Default geschlossen, klickbar zum Ausklappen): zeigt aktive Sprache + PWA-Status im Header, expandiert für Install-Steps + Sprach-Switcher. Spart massiv vertikalen Platz.
  • 🌍 Language-Switcher funktional: Englisch nicht mehr disabled, kann jetzt selektiert werden — Beta-Marker zeigt unvollständige Translations an, App fällt für ungetränselte Strings auf Deutsch zurück.
  • 💰 App-Pricing-Page (/app/upgrade) komplett gematcht zur Website /preise: 27 Feature-Rows in Vergleichs-Tabelle inkl. Public-API-Rate-Limits, Webhook-Subscriptions, HMAC-SHA256, Living-Compliance-Engine. Plan-Bullets pro Plan vollständig synchronisiert.
  • 📄 Document-Generator-Buttons im /app/dokumente: ersetzt das alte "Generieren → markdown"-Link durch einen Format-Selector-Dropdown (PDF / Word / HTML / Markdown) der zum gleichen `/api/documents/{type}/{id}?format={X}`-Endpoint mit korrektem Format-Parameter führt. Default-Click öffnet PDF direkt.

Test-Auswirkung: TypeScript-Compile 0 errors. Verdict-State-Machine als pures Modul ohne I/O — unit-test-bar. Engine-Klassifikations-Logik selbst unverändert; nur Anzeige-Logik + Verdict-Wrapper.

v5.9.4Patch
2026-05-11

Sprint 40.4 — Full TypeScript Pass · 162 Errors → 0

  • Lokaler `tsc --noEmit` Lauf gefunden + 162 echte Type-Errors gefixt, die Vercel sonst sequenziell während des Builds aufgedeckt hätte. Erstmals proaktive Pre-Push-Verifikation statt reaktiver Fix-Schleife.
  • 6× `profile.confidence` → `profile.legacyResult.confidence`: Property liegt im legacyResult-Sub-Object, nicht direkt auf RegulatoryRiskProfile (Sprint-39-Code hatte falsche Annahme).
  • 2× `RiskLevel` aus `lib/engine-v3/empire/types.ts` re-exportiert: Sprint-40-Module (negative-reasoning, launch-safe-mode) konnten den Type sonst nicht importieren.
  • ~150× i18n Dictionary-Type-Mismatches behoben: `DeepStringify<T>`-Helper macht aus den `as const`-Literal-Types (deutsche Strings) generische strings, sodass en/fr-Translations sie erfüllen. Plus `Dictionary` Type in i18n/server.ts auf DictionaryShape aktualisiert.
  • 3× `.catch()` auf Supabase-Builder → `.then(() => {}, () => {})`: PostgrestFilterBuilder ist Thenable aber hat kein .catch-Methode in Type-Definition.
  • 1× ungültiger `case "gpai"` in negative-reasoning entfernt: RiskLevel umfasst prohibited/high_risk/limited/minimal/out_of_scope — kein gpai.

Test-Auswirkung: `npx tsc --noEmit` läuft jetzt mit 0 Errors durch (vorher 162). `npm install` installiert alle 665 Packages clean. Engine-Logic 100% unverändert.

v5.9.3Patch
2026-05-11

Sprint 40.3 — Type-Check-Sweep + Webpack-Externals

  • getBrandingConfig 3 weitere Call-Sites mit falscher Argument-Reihenfolge gefixt: cron-Engine-Bump-Fanout (l.619), v1/documents/generate-Route (l.135) und /documents/[type]/[assessmentId]-Route (l.210). Korrekte Signatur ist immer (ownerId, plan, admin) — vorher hatten 3 Stellen (admin, ownerId) was zur Compile-Time-Type-Error führte.
  • Plan-Resolution in jeden gefixten Call-Site eingewoben — bei der Document-Route via einmaliger profiles.plan-Query, in cron via bestehender Profile-Loader. White-Label-Branding funktioniert jetzt überall konsistent.
  • next.config.ts: pdfkit, fontkit und @react-pdf/renderer als serverExternalPackages markiert. Verhindert dass Webpack die CJS-Internals dieser Libraries bundlen will und die transitive iconv-lite-Dep nicht findet. Pure Build-Hygiene, kein Runtime-Effekt.
  • app/admin/dsgvo/page.tsx: AlertCircle unused-import entfernt. Plus systematischer lucide-react-Sweep auf alle 7 Sprint-39/40-TSX-Files — alle clean.

Test-Auswirkung: Reines Type/Build-Hygiene-Sprint. Validation 520/520 · Library 216/216 · Smoke 24/24 weiterhin grün. Keine Engine-Logic, keine Migration.

v5.9.2Patch
2026-05-11

Sprint 40.2 — JSX-Tag-Mismatch-Hotfix in Living-Engine-Page

  • JSX-Tag-Mismatch in /engine/wie-die-engine-lernt behoben: zwei interne Hervorhebungs-Boxen waren als <div>...</p> geschlossen (Copy-Paste-Fehler von einer <p>-Variante). SWC-Parser akzeptiert das nicht. Beide auf konsistente <div>...</div> umgestellt.
  • Plus deutsche Anführungszeichen "Stimmt nicht" in JSX-Text durch HTML-Entities &quot;&quot; ersetzt — defensiver gegen JSX-Parser-Quirks bei verschachtelten Quotes.

Test-Auswirkung: Reines Markup-Fix, kein Code-Change. Brace-Balance + smarte JSX-Tag-Validation grün auf allen 4 Sprint-39/40-TSX-Files.

v5.9.1Patch
2026-05-11

Sprint 40.1 — Living-Engine USP + Pricing/API-Doku-Konsistenz + Build-Hotfix

  • Build-Hotfix: `createHash`-Import in dsr-handler.ts entfernt (unused-import-Error blockierte Vercel-Build mit `eslint.ignoreDuringBuilds:false`). Plus Supabase `.delete().select(head:true)` durch korrekte `.delete({count:"exact"})`-Syntax ersetzt. Plus Permissions-Policy von komplexer `payment=(self "url")`-Syntax auf simple `payment=*` (Next.js 15.5 Konfig-Parser-Issue mit quote-escaped origins).
  • Neue Marketing-Page /engine/wie-die-engine-lernt — komplette USP-Erklärung des Living-Compliance-Konzepts. Drei Säulen (Telemetrie/Feedback/EUR-Lex-Monitor) mit DSGVO-Rechtsgrundlagen + visuellen Beispielen + Privacy-Garantien. Hero mit Live-Countdown integriert.
  • Footer: Wissen-Spalte zeigt jetzt "Wie die Engine lernt" als prominenten Link direkt vor dem Engine-Changelog. Visibility-Boost für USP.
  • Hero: 5. Trust-Signal "Living Engine · Auto-Reassess" hinzugefügt — sichtbar bereits above-the-fold.
  • Pricing-Konsistenz: /preise FEATURE_TABLE hat jetzt zwei neue Kategorien — "Public API · v1" (mit Rate-Limit pro Plan: Pro=60, Team=300, Agency=2’000 req/min) und "Living Compliance Engine" (zeigt welche der 7 Living-Features in welchem Plan enthalten sind). 1:1-Match mit lib/api/auth.ts.
  • Plan-Feature-Listen: Pro/Team/Agency-Cards listen jetzt explizit Public-API-Rate-Limits und Webhook-Subscriptions auf, konsistent mit der Comparison-Table darunter.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Reines Marketing- + Build-Polish-Sprint, keine Engine-Logic-Änderung, keine Migration.

v5.9.0Minor
2026-05-11

Sprint 40 — Auto-Evolution + DSGVO-Admin + Security-Hardening

  • Classification-Telemetry (anonymisiert): SHA-256-Fingerprint normalisierter Antworten + risk_level/role/annex/plausibility/country. Niemals die rohen Antworten. Rechtsgrundlage Art. 6(1)(f) DSGVO — anonymisierte Daten ausserhalb des Anwendungsbereichs (Recital 26). Engine sieht ihre eigene Verteilung über Zeit + Sektoren, ohne PII zu speichern.
  • User-Feedback-Modul: opt-in Thumbs-up/down/unsicher mit optionalem Kommentar (1000 Zeichen). E-Mail- und Telefonnummern-Regex-Scrubbing serverseitig. IP-Hash-Rate-Limit 20/h. Fingerprint-verlinkt (nicht user-verlinkt) — bleibt anonym auch wenn Du es willst.
  • Regulatory Monitor: EUR-Lex Cron-Watcher (alle 20h throttled) scannt automatisch nach neuen EU-AI-Act-Publikationen. JSON-API mit HTML-Fallback-Parser. Dedupe via CELEX-ID. Admin sieht unreviewed-Queue + reviewed-History auf /admin/regulatory mit Impact-Level-Bewertung.
  • DSR-Handler (DSGVO Art. 15/17/20): submit → verify-token via E-Mail → admin fulfills. Art. 15 generiert vollständigen JSON-Export aus 6 Tabellen. Art. 17 cascade-deletes + anonymisiert Billing für 10-Jahres-Steuer-Retention. Alle admin actions audit-logged. 30-Tage-SLA-Tracker.
  • Retention-Policy-Cron: täglich automatisch — telemetry/feedback 730d, api_usage_log 90d, public_verify_log 30d, webhook_deliveries 30/90d (failed/delivered), admin_audit 1095d. Jeder Run in retention_runs protokolliert. Macht Art. 5(1)(e) Speicherbegrenzung wirklich enforce-bar.
  • Security-Hardening: SSRF-Guard für Webhook-URLs blockiert RFC-1918 + Loopback + Link-local (incl. AWS-IMDS 169.254.169.254) + CGNAT + IPv6-Link-local/Unique-local. All-IPs-Check gegen DNS-Rebinding. Wired in beide Webhook-Erstellungs-Pfade.
  • Security-Header-Verschärfung: Content-Security-Policy mit Allowlist für Stripe/Supabase/Resend/Anthropic/PostHog. COOP same-origin, CORP same-site, HSTS preload, Permissions-Policy mit payment für Stripe. API-Routes bekommen Cache-Control no-store + X-Robots-Tag noindex.
  • Admin-Dashboards: /admin/pulse (Sprint 39) + /admin/dsgvo (DSR-Queue + Audit-Log + Retention-Runs) + /admin/regulatory (EUR-Lex-Reviews). Alle gated via ADMIN_EMAIL allowlist.
  • 3 neue Docs in /docs: SECURITY-AUDIT-v5.9.0.md (11 Sektionen, production-ready Verdict), E2E-CHECKLIST.md (17 Sektionen Smoke-Test ~25-60min), DSGVO-COMPLIANCE.md (10 Sektionen Legal-Basis-Matrix + DSR-Implementation + Sub-Processors).

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Engine-Logic unverändert — Sprint 40 fügt rein additive Telemetrie + Cron-Hooks + Admin-Views + Security-Layer hinzu. Plus 1 neue SQL-Migration (sprint-40-auto-evolution-and-dsgvo.sql) mit 5 Tabellen, alle RLS-enabled, alle idempotent.

v5.8.0Minor
2026-05-11

Sprint 39 — Living Compliance · Engine-Sharpness + Operational Autonomy

  • Negative-Reasoning im Engine-Output: `negative_reasoning.whyNotProhibited` + `whyNotHighRisk` zeigen warum eine Klassifikation NICHT in einer schwereren Risikoklasse landet. 8 Art.-5-Verbote + 8 Annex-III-Kategorien per-Klassifikation geprüft, mit Article-Reference und natürlich-sprachlicher Erklärung. Audit-Killer.
  • Evidence-Needed pro Obligation im `/api/v1/classify`-Response gruppiert. Daten kommen aus dem existierenden `evidenceRequirements`-Array — surfaced jetzt strukturiert pro Pflicht-ID. Document-Type, Criticality, Update-Cadence, Legal-Basis je Beleg.
  • Launch Safe Mode: neuer `launch_safe_mode.needsReview`-Flag mit 6 Reason-Signalen (Plausibility < 65 %, Low-Confidence, Art.-5-Berührung, Critical-Sector mit Non-High-Confidence, Prohibited-Pflicht-Review, High-Risk-Doppelkontrolle). Konservativer Schutz-Layer.
  • Regulatory Timeline als Single Source of Truth: `lib/regulatory-timeline.ts` hartcodiert alle EU-AI-Act-Stichtage (02.02.2025, 02.08.2025, 02.08.2026, 02.08.2027, 31.12.2030). Helper-Funktionen für Countdown + Scope-Filterung.
  • <RegulatoryCountdown /> Live-Widget (Server-Component) auf Hero und /zeitplan/page — 3 Varianten (compact/inline/card) mit Urgency-Tiers (rot < 30 Tage, amber < 90 Tage, blue darüber). Generiert SEO-frische date-stamps bei jedem Page-Load.
  • Pre-Milestone E-Mail-Automation: Cron-Job feuert 30/14/7/1 Tage vor jeder regulatorischen Frist an alle Workspaces mit relevanten Klassifikationen. Branded HTML+Text via Resend, mit affected_system_names. Idempotent via app_settings-Keys.
  • Admin Pulse Dashboard auf /admin/pulse — Single-Page-View mit Verdict-Banner (✅/⚠️/🔴), 4 Sections (Engine/Business/Ops/Compliance), gated via ADMIN_EMAIL env var.
  • Weekly Pulse Digest E-Mail: jeden Sonntag nach 18:00 UTC erhält der Admin einen 1-Minuten-Snapshot aller Metriken mit Verdict-Header. Bus-Factor-Schutz für "tool läuft 6-12 Monate Cruise-Mode".

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Engine-Logic unverändert — nur additive Output-Felder (negative_reasoning, evidence_needed, launch_safe_mode) + neue Cron-Hooks + Admin-View. Keine Migration nötig.

v5.7.2Patch
2026-05-11

Sprint 38 — Deploy-Hotfix · Swiss-Apostroph + Migration-Guards

  • Build-Breaker behoben: Schweizer Tausender-Apostroph in /api Rate-Limit-Tabelle (`'2'000 req/min'`) wurde vom Webpack-Parser als vorzeitiger String-Terminator interpretiert → ersetzt durch typografisches `’` (U+2019).
  • sprint-30 Migration jetzt vollständig defensiv: alle drei `profiles.plan`/`workspaces.plan`/`billing_subscriptions.plan`-Zugriffe sind `information_schema.columns`-guarded. Läuft sauber durch egal in welcher Tabelle das Plan-Feld bei der jeweiligen Installation liegt.
  • sprint-35 + sprint-36 Migrations: die partiellen Indexes mit `WHERE created_at > now() - interval '5 minutes'` raus — Postgres lehnt sie ab weil `now()` ist STABLE statt IMMUTABLE. Die Composite-Indexes davor decken den Rate-Limit-Query bereits ab. Plus explizite `drop index if exists` davor für Reste aus failed runs.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Keine Engine-Änderungen — reines Deploy-Hotfix-Sprint. Source-Fix für 1 TSX-File + 3 Migration-Files (idempotent re-runbar).

v5.7.1Patch
2026-05-11

Sprint 37 — Brand-Polish & Legal-Safe Positioning

  • Neues Brand-Asset-Set: echtes ai-risk-check.com Shield+Circuit-Logo (horizontal Lockup + Icon), pre-rendered in 40/80/200px für Retina-Web, transparente PNGs in /public/brand/. Komplettes Favicon-Set (16/32/180/192/512 + maskable) ersetzt die alten SVGs.
  • Legal-Risk-Fix in Hero & Features: "Kein Anwalt nötig" raus (potentieller RDG-/BGFA-/UWG-Verstoss), ersetzt durch "Workflow-Tool"-Positionierung mit expliziter RDG/BGFA-Disclaimer-Note unter dem Hero. FAQ-#4 bereits korrekt — keine Änderung.
  • Anonyme Testimonials (Sarah K., Marcus B., Andrea M.) raus — UWG-§5-Risiko bei nicht-verifizierten Quotes. Ersetzt durch Methodology-Trust-Section mit 520/216/24/100%-Metriken und Link auf öffentlich nachvollziehbare Engine-Changelog.
  • Neue /ueber-uns-Page mit Founder-Bio (Leutrim Miftaraj, MSc FFHS, mit Foto), Company-Card (Innopulse Consulting GmbH UID/Adresse/HR-Nr), 4 Build-Principles, Engine-Status-Sidebar.
  • Header upgraded: horizontales Lockup mit "Engine v5.7"-Mikro-Tagline darunter (uniqueness 10/10 statt Claude-Sample), Navi um "Über uns" und "Public API · v1" erweitert. Mobile-Menu spiegelt das.
  • Footer komplett überarbeitet: neue "Unternehmen"-Spalte mit LinkedIn-Company-Badge, Innopulse-Link, About; LinkedIn-Icon-Button im Brand-Block; vollständige Company-Identität (UID CHE-219.727.921, HR-Nr CH-170.4.021.748-3); RDG/BGFA-Disclaimer im Footer-Bottom.
  • JSON-LD Schema upgraded: Org sameAs erweitert um LinkedIn-Company + innopulse.io, Person-Schema mit echtem image (leutrim-miftaraj.jpg), knowsLanguage de+en+fr.
  • Layout-Metadata: PNG-Favicons in Next.js Metadata, manifest.json bereinigt (alle SVG-Refs raus), OG-Image als PNG mit echtem Logo.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Keine Engine-Änderungen — Brand & Legal-Compliance-Polish-Sprint. Public assets: 17 neue Files (logo-horizontal × 4 sizes, icon, favicon set × 5, og, founder portrait × 2).

v5.7.0Minor
2026-05-11

Sprint 36 — Empire-Complete: i18n FR/EN · Auto-Re-Assessment · External Verification · NB-Pack

  • i18n-Fundament für drei Sprachen: Deutsch (Default), English (DACH-international + UK), Français (Suisse Romande primary). Type-safe key-basiertes t() System ohne externe Library. Server- und Client-Support, LocaleSwitcher im Nav, Accept-Language-Auto-Detection auf First-Visit, persistentes Cookie auf User-Wahl.
  • Auto-Re-Assessment: Engine-Bump triggert automatische Re-Klassifikation aller bestehenden Assessments. Materielle Änderungen (Risiko-Level, Rolle, Annex-Path, Obligation-IDs) erzeugen reassessment_audit-Row + assessment.republished-Webhook + branded Email-Digest pro Owner/Workspace. Throughput 1000/min in Batches von 50. Pro+ Plan-Gated, individuell opt-out-bar.
  • External Verification API auf /api/public/verify/[hash] — UNAUTHENTICATED public Endpoint mit per-IP-Rate-Limit (30/min). CORS-open für Embed-Widgets, Lookup via result_hash oder assessment_id-Prefix. Auditoren, Regulatoren und Third-Parties können Reports ohne ai-risk-check-Konto verifizieren.
  • NB-Pack-Fundament: Annex I Catalog mit 14 Produkten (12 Section A mit NB-Pflicht: MDR, IVDR, Machinery, Toys, RED, Aviation, etc. + 2 Section B Type-Approval). detectAnnexIProduct() Helper für automatische Wizard-Erkennung. Marketing /nb-pack Landing-Page mit branchenspezifischen Icons.
  • UI: ReassessBadge auf ergebnis-page bei republished_at gesetzt (Diff-Summary inline + Full-JSON-Diff collapsed). AutoReassessToggle in Settings → Auto-Re-Assessment mit Historie der letzten 10 Re-Assessments.
  • DB: 4 neue Tabellen (reassessment_audit, public_verify_log) + 5 neue Spalten (republished_*, nb_pack_*, preferred_locale, auto_reassess_enabled) + 1 neue RPC (public_verify_rate_count). Alles RLS-enabled, additiv, idempotent.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Engine-Logic unverändert — v5.7.0 ist Surrounding-Feature-Release, kein Rule-Update. Migration sprint-36-auto-reassess.sql idempotent.

v5.6.0Minor
2026-05-11

Sprint 35 — Public API v1 + Webhooks

  • Stable HTTP+JSON Public API auf /api/v1/* mit Stripe-Style Bearer-Tokens (airc_live_…). 8 Endpoints: classify, assessments (GET+PATCH), documents/generate, maturity, webhooks/subscriptions, openapi.json.
  • Per-Plan Rate-Limits via Postgres rolling-window count: Pro 60/min, Team 300/min, Agency 2000/min. Free hat keinen API-Zugang. Headers X-RateLimit-Limit/Remaining/Reset auf jeder Response.
  • HMAC-signierte Webhook-Subscriptions (Team+) mit 5-Attempt-Exponential-Backoff (30s/5min/1h/6h/24h). 7 Events: assessment.completed/reviewed/republished, engine.version.bumped, maturity.snapshot.recorded, document.generated, api_key.created.
  • OpenAPI 3.1 Spec auf /api/v1/openapi.json — kompatibel mit Postman, Insomnia, OpenAPI-SDK-Generatoren. Engine-Version-Annotation `x-engine-version` für Spec-Compatibility-Tracking.
  • Public Marketing-Page /api mit Quickstart, curl-Examples, Endpoint-Reference (gruppiert nach Tag), Webhook-Verifikations-Code-Snippet, Rate-Limit-Tabelle pro Plan.
  • In-App Settings → API-Keys: 30-Tage Usage-Chart, Stripe-Style One-Time-Secret-Reveal, Webhook-Manager mit Pause/Delete und HMAC-Verifikations-Snippet im UI.
  • Cron-Integration: Webhook-Retry-Queue läuft alle 15min, Engine-Version-Bump-Detection mit Fan-out an alle aktiven Subscriptions, persistent gespeichert in neuer app_settings-Tabelle.
  • Existing UI-Review-Actions (Sprint 33) feuern jetzt assessment.reviewed-Events; createApiKey() feuert api_key.created — Audit-Trail komplett.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Neue Tabellen: api_keys, api_usage_log, webhook_subscriptions, webhook_deliveries, app_settings. Alle RLS-enabled. Migration sprint-35-public-api.sql idempotent.

v5.5.0Minor
2026-05-10

Sprint 34 — Document-Format-Upgrade (DOCX / PDF / HTML)

  • Native Word-Output (.docx) für alle 5 Compliance-Dokumente: FRIA, Annex IV Technical-Doc, Instructions, EU-Konformitätserklärung, Post-Market Monitoring. Microsoft-Word-kompatibel mit Heading-Styles, Tabellen, Listen, White-Label-Header (companyName + primaryColor) und Footer mit Seitenzahlen.
  • Audit-fertiges PDF via pdfkit: A4-Layout, Brand-Header pro Seite, Footer mit Engine-Version + Audit-Hash + optional Reviewer-Attest. Tabellen auto-sized auf content-width, Placeholders amber-bold.
  • Self-contained HTML mit print-stylesheet — ideal für Email-Embed und Browser-Print-to-PDF.
  • Gemeinsamer Markdown-Tokenizer (lib/document-generator/markdown-tokens.ts) speist alle 3 Renderer aus identischem Token-Stream. Heading/Paragraph/List/Table/Blockquote/Code/HR + Inline bold/italic/code/placeholder.
  • API-Route /api/documents/[type]/[id] erweitert um ?format=docx|pdf — Default markdown bleibt für Backwards-Compat. Runtime auf nodejs forciert.
  • White-Label-Branding durchgängig: alle 5 Docs × 3 Formate = 15 branded Outputs pro Klassifikation für Team/Agency-Plan.
  • DocumentGeneratorPanel UI mit 4-Button-Toolbar pro Dokument: Word (primary) · PDF · HTML · .md (Power-User).

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Neue Module: lib/document-generator/{markdown-tokens,render-context,render-html,render-docx,render-pdf}.ts. Neuer dep: docx ^9.5.0.

v5.4.0Minor
2026-05-10

Sprint 33 — Reviewer-Workflow (4-Augen-Prinzip)

  • Enterprise-tauglicher Review-Workflow: BaFin / FINMA / BSI-IT-Grundschutz APP.4.1 kompatibel. Status-Machine über 6 Zustände (draft → pending_review → approved/changes_requested/rejected → published).
  • Server-Actions in lib/actions/review.ts: submitForReview, approveAssessment, requestChanges, rejectAssessment, addComment, resolveComment. Permission-Enforcement via getMemberCapabilities().
  • Workspace-Member-Capability can_review als per-Mitglied-Toggle. Owner haben automatisch Review-Rechte, Editoren bei Migration default-true.
  • Comment-Thread mit Decision-Kind-Markern (decision_approved / decision_changes_requested / decision_rejected / decision_submitted) — Diskussion und Audit-Log in einem.
  • Neue Review-Queue Seite /app/review-queue zeigt alle ausstehenden Reviews im aktiven Workspace, Team+ Plan-gated. Sidebar-Nav-Item erscheint nur für berechtigte Mitglieder.
  • ReviewPanel auf der ergebnis-Page (#review-Anchor) mit submitter-view, reviewer-view, approval-block, comment-thread. Notification an Reviewer + Submitter via Slack/Teams-Webhooks (Sprint 31) bei reviewer_assigned-Kategorie.
  • Migration sprint-33-review-workflow.sql idempotent + Helper-View review_queue_v1 für ergonomische Queue-Abfragen.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Neue Module: lib/actions/review.ts, lib/review/load-panel-data.ts, components/review/{ReviewPanel,CommentThread,StatusBadge}.tsx, app/app/(protected)/review-queue/page.tsx. Erweitert: lib/utils/team.ts (canReview, canSubmitForReview, getMemberCapabilities), AppShell mit conditional Review-Queue-Nav.

v5.3.0Minor
2026-05-10

Sprint 31 — Engagement Wins (Maturity Hero + Webhook Channels)

  • Maturity-Score Dashboard-Hero: workspace-weiter 0-100 Score über 5 Dimensionen (Dokumentation, Governance, Transparenz, Monitoring, KI-Kompetenz). Inline-SVG 5-Achsen-Radar ohne externe Chart-Library.
  • Sektor-Peer-Benchmark mit K-Anonymität (K=5): zeigt P25/P50/P75 + eigenes Perzentil pro Sektor wenn ≥5 Workspaces im Sektor Snapshots beigetragen haben.
  • 30-Tage-Maturity-Trend: tägliche Workspace-Snapshots via Cron + Delta-Punkte + Sparkline-History.
  • Slack-Webhook-Dispatch (Block Kit) und MS-Teams-Dispatch (Adaptive Cards 1.5) für 6 Default-Kategorien: Deadline-Warnungen, Pattern-Alerts, Re-Assessment, High-Risk, FRIA-Pflicht, Reviewer-Anfragen (Sprint 33).
  • Pro-Plan-Gate für Webhook-Channels. Settings-Page /app/einstellungen/webhooks mit Test-Send-Button und Kategorie-Multi-Select.
  • Monatlicher Compliance-Pulse-Cron (1. des Monats, 09:00 UTC): Score-Trend + 30-Tage-Delta an Slack/Teams (E-Mail-Template folgt in Sprint 32).
  • Migration sprint-31-webhooks.sql + sprint-32-maturity-history.sql + maturity_peer_stats_30d View (K-anonymisiert auf SQL-Ebene).

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Neue Module: lib/notifications/dispatch-{slack,teams}.ts, lib/maturity/{workspace-aggregate,peer-benchmark,trend,load-hero-data}.ts, components/dashboard/{MaturityHero,MaturityRadar}.tsx, components/notifications/WebhookSettings.tsx.

v5.2.0Minor
2026-05-10

Sprint 30 — Foundation Hygiene (post-launch cleanup)

  • Single Source of Truth für Marketing-Stats: lib/engine-v3/empire/validation/coverage.ts. Alle Hardcoded-Zahlen in /preise und Homepage durch dynamische Imports ersetzt.
  • Stripe Legacy-Cleanup: pro_monthly / pro_yearly (€29 / €229) aus StripePlan / STRIPE_PRICES / PLAN_PRICES entfernt. Migration sprint-30-pricing-cleanup.sql relabelt etwaige Orphan-Subscriptions auf canonical professional_*.
  • Emoji-Sweep über 65 user-facing Dateien (287 Occurrences): 🔴🟡🟢/🎯/📋/⏰/🛡 ersetzt durch Lucide-Icons via lib/ui/icon-mapping.ts. Compliance-UI rendert konsistent SVG statt OS-abhängige Emoji-Glyphs.
  • SETUP.md komplett neu — alle Pricing-Referenzen auf €89 / €149 / €299, Stack-Liste auf v5.2.0.
  • README-Engine-Badge v4.18 → v5.2.0; FriaWizard-Fallback-Version v5.1.2 → v5.2.0.

Test-Auswirkung: Validation 520/520 · Library-Audit 216/216 · Empire-Smoke 24/24. Keine Regressionen, reine Foundation-Hygiene vor v5.3.0 Empire-Roadmap.

v5.1.3Patch
2026-05-10

Sprint 29.3 — Vercel Build Hotfix

  • lib/actions/assessments.ts: "use server" directive an Position 1 verschoben (Sprint 29.1-Bug bei batch-Import-Insertion).
  • Build-Pipeline: Webpack/SWC kompiliert wieder sauber.
  • Comprehensive directive-position-check als Pre-Build-Validation eingebaut (verhindert ähnliche Fehler).

Test-Auswirkung: 1089 Assertions all green: 0 TS · Legacy 332/332 · Validation 491/491 · Library 216/216 · Empire-Smoke 28/28 · E2E 22/22.

v5.1.2Patch
2026-05-10

Sprint 29.2 — Final Empire Audit (E2E + SEO-Surface + Stale-Cleanup)

  • E2E-Smoke-Test über alle 14 Empire-Features etabliert (e2e-test.ts, 22 Assertions, 100% Pass).
  • 7-dimensionaler Final-Audit: Security, RLS, Stale-References, SEO, Accessibility, Performance, Functional E2E.
  • public/robots.txt neu erstellt (war fehlend).
  • 6 EU-AI-Act-Subpages mit Metadata + canonical, 9 weitere mit canonical ergänzt.
  • app/(marketing)/grundlagen/ entfernt + 301-redirect zu /engine/how-it-works.
  • lib/seo/schema.ts JSON-LD-Featurelist aktualisiert (342→491+216+28).
  • npm-scripts neu: e2e-test, validate-all (führt alle Suites+E2E aus).
  • Art. 5 strict qualifier-cascade durch E2E dokumentiert (Sprint-4-fix verified).

Test-Auswirkung: 1089 Assertions all green: Legacy 332/332 + Validation 491/491 + Library 216/216 + Empire-Smoke 28/28 + E2E 22/22 = 1089.

v5.1.1Patch
2026-05-10

Sprint 29.1 — Review-Follow-Up Hardening (Konsistenz + Vertrauen)

  • Legacy-Test-Runner (Importer-Tests) an Sprint-4-verschärfte Importer-Logik angepasst — Provider-Check-Bug gefixt (placesOnMarket allein war zu greedy).
  • Engine-Bugfix in normalize.ts: explizit gesetzte "no"-Antworten für usesUnderOwnAuthority + firstImportsToEu werden jetzt respektiert (vorher von developed_system="thirdparty" überschrieben).
  • Library-Hydration vollständig: pipeline.ts Stage 9.5 surfaced jetzt useCaseLibrary.sectoralOverlays als SECTORAL_*-Flags, merged articleRefs + recitalRefs in ClassificationResult, fügt Library-Reasoning-Step zum Audit-Trail.
  • Homepage stale values aktualisiert (v3.16.0/64/471/342 → dynamische Werte aus ENGINE_VERSION + getLibraryStats).
  • Deadline-Copy mit konkreten Digital-Omnibus-Daten (vorläufige Einigung 7. Mai 2026: 2.12.2027 stand-alone, 2.8.2028 produktintegriert).
  • jspdf 2.5.2 → 3.0.1 + SECURITY-NOTES.md mit Exposure-Analyse.

Test-Auswirkung: 1067 Assertions all green: 0 TS · Legacy 332/332 · Validation 491/491 · Library-Audit 216/216 · Empire-Smoke 28/28.

v5.1.0Minor
2026-05-10

Sprint 29 — Production Hardening + Engine-Native Use-Case-Library

  • selected_use_case_id wird jetzt direkt von normalize.ts konsumiert. Die 216 Use-Cases hydrieren Facts mit triggers, sectoralOverlays, affectedPersons.
  • content_creation als kanonische UseCaseArea ergänzt (Art. 50(2) synthetische Inhalte).
  • TypeScript-Build mit strict-mode aktiviert (ignoreBuildErrors: false). Alle 191 latenten Type-Errors gefixt.
  • Security-Headers (HSTS, X-Frame-Options, Permissions-Policy) auf jeder Route.
  • 8 Engine-Trust-Pages public veröffentlicht (Coverage, Test-Coverage, Changelog, Mappings).
  • Versionierter Deadline-Banner (Digital-Omnibus-aware).

Test-Auswirkung: 491/491 + 216/216 + 28/28 — alle grün, keine Regressionen.

v5.0.1Patch
2026-05-09

Pricing-Drift Hotfix

  • Alle Sales-Pages, Onboarding-Flow, v5-Launch-Page und Welcome-Email auf canonical Pricing ausgerichtet (Starter €0 · Professional €89 · Team €149 · Agency €299).
  • Inkonsistente CHF/EUR-Mischformen entfernt.
v5.0.0Major
2026-05-09

Production Launch — Empire Stack v5.0

  • Sprint 28: Production-Hardening + Launch-Polish.
  • Error-Logger (Supabase-basiert) + 3-Level Error-Boundaries.
  • Health-Check-Endpoint /api/health für externes Uptime-Monitoring.
  • Stripe-Webhook-Idempotency (wasProcessed/markProcessed/withIdempotency).
  • /v5 Launch-Page mit allen 14 Empire-Features.
  • Empire-Smoke-Test mit 28 End-to-End-Tests.

Test-Auswirkung: 491/491 + 216/216 + 28/28 — alle grün.

v4.17.0Minor
2026-05-09

Sprint 27 — Custom-Domain White-Label (CNAME)

  • Team/Agency-Tier: eigene Domain (z.B. compliance.kunde.com) für branded URLs.
  • Live DNS-CNAME-Verifikation via Node DNS-Module.
  • PDF-Export nutzt verifizierte Custom-Domain in Verify-URL.
v4.16.0Minor
2026-05-09

Sprint 26 — Substantial Modification (Art. 25) + PDF-Export

  • Art. 25 Diff-Workflow: Provider-Status-Flip-Detection, Risk-Eskalation, Obligation-Diff.
  • Audit-Package PDF-Export im Big-Four-Format (pdfkit).
v4.15.0Minor
2026-05-09

Sprint 25 — Public Sample-Generator (25 indexable URLs)

  • 5 Scenarios × 5 Document-Generators = 25 Live-Demo-Pages.
  • Engine-Klassifikation läuft on-page-load.
v4.14.0Minor
2026-05-09

Sprint 24 — Bulk-Actions auf Tasks

  • Multi-Select für 100+ Tasks · Mass-Status · Mass-Notiz · Mass-Frist.
  • Performance: 50 Task-Updates → 5-10 DB-Writes (~10x faster).
v4.13.0Minor
2026-05-09

Sprint 23 — Decision-Flow-Diagram (Visual SVG)

  • 5-Layer-Flowchart (Inputs → Pre-flight → Pfade → Overlays → Verdict).
  • 5 Node-Shapes · 4 Edge-Types · audit-defensible Visual-Reasoning.
v4.10.0Minor
2026-05-09

Sprint 20 — Email Notifications (8 Kategorien)

  • 8 granulare Notification-Kategorien (Tages-Digest, Wochen-Summary, Stichtag-Erinnerungen, Pattern-Alerts, FRIA-Pflicht).
  • Branded HTML-Templates mit White-Label-Integration.
v4.5.0Minor
2026-05-08

Sprint 15 — Document-Generator (5 Compliance-Dokumente)

  • FRIA · Annex IV Tech-Doc · Instructions · EU-Konformitätserklärung · PMMP.
  • Markdown + HTML · Platzhalter-System für menschliche Ergänzung.
v4.3.0Minor
2026-05-08

Sprint 13 — Audit-Package (signed hash + verify)

  • JSON-LD · CSV · Markdown · ZIP-Bundle Export.
  • SHA-256 Hash-Signatur · öffentliche /verify/[hash]-Page.
v4.0.0Major
2026-05-08

Sprint 10 — Empire-Layer

  • Multi-Path-Classifier · Review-Status v2 (7-Tier).
  • Unknown-Facts-Detection · Legal-Update-Sensitivity (5 Levels).
  • Counterfactual-Engine.

Test-Auswirkung: 491 Validation-Cases etabliert als kanonische Test-Suite.

v3.21.0Rule-Set
2026-05-08

Use-Case-Library Expansion (106 → 216 Cases)

  • 13 Use-Case-Library-Files · 27 Sektoren · 22 Familien.
  • SEO-Felder + Test-Kontrakte pro Use-Case.
v3.0.0Major
2026-04-15

Engine v3 — Pipeline-Refactor

  • 12-Stage Pipeline mit Facts-Store als Single Source of Truth.
  • Deterministische Klassifikation · pure Functions · audit-defensible.
Engine-Changelog — Rule-Set-Versionierung | ai-risk-check | ai-risk-check.com