Bewertung der technischen Reife auf Basis der „7 Pillars of App Architecture“.
Gesamtreifegrad: 8.8 / 10 (+0.7 nach PWA & Deployment Update)
ConTech / Bau-Tech • KI-gestütztes Baumanagement • Revidiert: 21. Februar 2026 • Erstaudit: 19. Februar 2026
Warum dieses Projekt förderwürdig ist
BauProto ist eine ganzheitliche, KI-gestützte Plattform für digitales Baumanagement. Sie vereint Baubesprechungsprotokolle, Aufgaben-Tracking, Planmanagement, BIM-Integration und Entscheidungsdokumentation in einer einzigen Anwendung. Die Plattform adressiert eine signifikante Marktlücke: Die deutsche Bauwirtschaft leidet unter einer Digitalisierungsrate von unter 10 % bei gleichzeitig massivem Dokumentationsbedarf (VOB, ÖBA-Standards, DSGVO).
Automatische Ableitung von Aufgaben aus Baubesprechungsprotokollen mittels lokaler LLMs (Ollama/Mistral) — ohne Abhängigkeit von Cloud-KI, vollständig DSGVO-konform.
Zweistufige KI-Pipeline mit Zod-Schema-Validierung, Quellenzuordnung (Explicit/Derived) und Qualitätsbewertung.
IndexedDB + Service Worker mit bidirektionaler Synchronisation — unverzichtbar auf Baustellen ohne zuverlässiges Netz.
Direkte IFC-Modell-Visualisierung im Browser via Three.js. Georeferenzierte Pins auf Bauplänen mit Status-Tracking.
Alleinstellungsmerkmal: BauProto ist die einzige bekannte ConTech-Plattform, die lokale KI-Protokollverarbeitung, Offline-Sync, BIM-Viewer und einen vollständigen Entscheidungs-Audit-Trail in einer einzelnen Anwendung vereint — und dabei als Edge-First-Applikation auf Cloudflare Workers deployt wird.
21. Februar 2026 — 25+ Fixes in 5 Batches (inkl. PWA & Deployment)
Zwischen dem Erstaudit (19.02.) und dieser revidierten Fassung wurde ein tiefgehender Funktionsaudit (Mental Execution) durchgeführt. Dabei wurde jeder Vertical Slice (UI → Hook → API → Schema → DB) des Task-Moduls einzeln nachverfolgt. Es wurden umfangreiche Korrekturen in 5 priorisierten Batches umgesetzt, inkl. vollständiger PWA-Integration und Deployment-Automatisierung — darunter kritische IDOR-Schwachstellen, fehlende Berechtigungsprüfungen und Schema-Inkonsistenzen.
Alle 20 Fixes des Funktionsaudits, gruppiert nach Schweregrad
Mobile Swipe-Gesten schlugen stillschweigend fehl
(HTTP 405), weil PATCH verwendet wurde, die API
aber nur PUT exportiert. Zusätzlich fehlte die
Response-Validierung.
Nach Status-Änderung per Swipe wurde die
Taskliste nicht aktualisiert. onStatusChange-Callback + router.refresh() hinzugefügt.
DELETE-Handler suchte Dateien unter public/api/files/, tatsächlicher Speicherort war
uploads/attachments/. Führte zu verwaisten Dateien
auf der Festplatte.
findUnique ohne
Organisations-Scoping: Jeder authentifizierte Nutzer konnte Aufgaben fremder
Organisationen einsehen. Korrigiert auf findFirst
mit organizationId-Filter.
Jeder authentifizierte Nutzer konnte beliebige
Aufgaben bearbeiten. hasPermission(role, "task:update") hinzugefügt.
Analog zu H1: Jeder konnte Aufgaben löschen.
hasPermission(role, "task:delete") hinzugefügt.
Finanzexporte waren für alle authentifizierten
Nutzer zugänglich. Auf requireRole(["ADMIN", "PROJECT_MANAGER"])
eingeschränkt. Außerdem requireAuth() in try/catch
verschoben.
Blockierte Aufgaben erschienen sowohl in der
„Überfällig“- als auch in der „Blockiert“-Gruppe.
Deduplizierungs-Helper isOverdue() implementiert.
Status-Badge unterschied nur OPEN vs. „erledigt“. Jetzt 4-Wege-Mapping mit deutschen Labels und eigener CSS-Klasse für BLOCKIERT.
Fehlende res.ok-Prüfung: 403/404-Responses wurden als Erfolg
behandelt. Toast-Fehlermeldung ergänzt.
Gleicher Fehler wie M5 in der
TaskCard-Komponente. useToast + Fehler-Feedback
ergänzt.
Lösch-Button mit opacity-0 war auf Touch-Geräten unerreichbar. Auf
sm:opacity-0 geändert (nur Desktop-Hover).
createInvitationSchema in index.ts überdeckte die
korrekte Version aus project.schema.ts — verwendete nicht-existierende UserRole-Enum-Werte statt MemberRole.
NotificationType fehlte TASK_EDITED, AuditEntityType fehlten DECISION und EVIDENCE_LINK.
file-storage.ts
gab "local"/"r2"
zurück, aber Prisma erwartet "LOCAL"/"R2". In 5 Dateien korrigiert.
validateId()
verwendete einen eigenen Regex (25-30 Zeichen), cuidSchema erlaubte 20-35 Zeichen. Jetzt einheitlich
über cuidSchema.safeParse().
Implementation von
ServiceWorkerRegistration, InstallPrompt und globalen
PWA-Meta-Tags (Apple Mobile Web App). Hinzufügen eines Screenreader-freundlichen "Skip to
content" Links. Globale ErrorBoundary und ToastProvider
integriert.
Vollständiges Setup von
@opennextjs/cloudflare, Wrangler Config und dazugehörigen npm-Scripts
(cf:build, cf:deploy) für hochperformantes Edge-Deployment. Vitest
und Playwright Test-Frameworks verankert.
Die verbliebene Next.js Vercel Boilerplate wurde restlos entfernt und durch ein vollständiges, responsives Dashboard (Mobile Gradient View vs. Desktop Bento Layout) mit Live-Anbindung an DB und Auth abgelöst.
Ablösung von sequenziellen O(N) Queries für Durchsatz/Statistiken durch parallelisierte Prisma Batch-Gruppierungen. Vermeidung des N+1 Problems beim Laden von Gewerke-Statistiken.
Revidierte Gesamtbewertung aller 7 Säulen nach Funktionsaudit
| Säule | Status | Abdeckung | Änderung | Kerntechnologien |
|---|---|---|---|---|
| 1. Frontend | EXCELLENT |
|
+10 | Next.js 16, React 19, Tailwind, Zustand, Three.js |
| 2. Backend | EXCELLENT |
|
+7 | 34 API Routes, OpenAPI 3.0, Zod, Webhooks, PubSub SSE |
| 3. Datenbank | EXCELLENT |
|
+7 | PostgreSQL 16, Prisma 6.7, PgBouncer, 30+ Models |
| 4. Auth | HERVORRAGEND |
|
+2 | NextAuth v5, WebAuthn, TOTP 2FA, OAuth, SAML/OIDC SSO |
| 5. Payments | SOLIDE BASIS |
|
— | Stripe SDK, 4 Tarife, Checkout, Portal, SEPA |
| 6. Security | HERVORRAGEND |
|
+10 | CSP, CSRF, HSTS, Rate-Limiting, RBAC, Audit-Trail |
| 7. Deployment | FÖRDERUNG NÖTIG |
|
+25 | Cloudflare Workers, Docker, Staging, Sentry |
Detailanalyse jeder Säule mit implementierten Features, behobenen Problemen und Skalierungspotenzialen
React 19 + Next.js 16 + Tailwind + Zustand + Storybook + Three.js
34 API-Route-Gruppen, OpenAPI 3.0, Zod, Webhooks, PubSub
PostgreSQL 16 + Prisma 6.7 + PgBouncer + Redis
NextAuth v5 + WebAuthn + TOTP/2FA + OAuth + SAML/OIDC SSO
requireAuth() auf requireRole() verschärft (H3)282 Zeilen Permission-Modul mit granularer Berechtigungsmatrix (54 Permissions × 5 Rollen). Trade-Tag-basierte Einschränkung für Subunternehmer.
Stripe SDK, 4 Plan-Tiers, Checkout, Portal, SEPA + Card
| Plan | Preis/Monat | Projekte | Nutzer | Speicher |
|---|---|---|---|---|
| Free | 0€ | 1 | 5 | 100 MB |
| Starter | 49€ | 5 | 15 | 1 GB |
| Professional | 99€ | 25 | 50 | 10 GB |
| Enterprise | Individuell | ∞ | ∞ | ∞ |
CSP, CSRF, HSTS, Rate-Limiting, RBAC, Audit-Trail, Sentry
hasPermission()-Checks auf Task-PUT/DELETE
(H1, H2)Bewertung: Durch die Behebung der IDOR-Schwachstelle und das Nachrüsten fehlender Berechtigungsprüfungen stieg diese Säule von 80 auf 90 Punkte — der größte Einzelsprung im gesamten Audit.
| Tier | Limit | Anwendung |
|---|---|---|
| Auth | 20/60s | Login, Register |
| AI | 10/60s | Protokoll-Extraktion |
| Upload | 10/60s | Datei-Uploads |
| Mutation | 30/60s | POST/PUT/DELETE |
| Read | 120/60s | GET-Anfragen |
| API Key | 1000/60s | M2M-Integration |
Cloudflare Workers, Docker Compose, Staging vorhanden
Kritisch für EU-Förderungen — Datenschutz-Grundverordnung
| Anforderung | Status | Nachweis |
|---|---|---|
| Datenminimierung | KONFORM | Nur notwendige Felder, keine versteckten Tracker |
| Datensparsamkeit bei KI | KONFORM | Lokales LLM (Ollama) — keine Datenübertragung an Dritte |
| Audit-Trail | KONFORM | Revisionssichere, unveränderliche Änderungshistorie |
| Zugriffsprotokollierung | KONFORM | IP-Adresse und User-Agent im AuditLog |
| Verschlüsselung in Transit | KONFORM | HSTS + upgrade-insecure-requests in CSP |
| PII-Schutz in Monitoring | KONFORM | Sentry: Auth-URLs aus Breadcrumbs gefiltert |
| Autorisierung / Zugriffskontrolle | KONFORM | NEU — IDOR behoben, granulare Permission-Checks auf allen Task-Endpoints |
| Löschrecht (Art. 17) | TEILWEISE | Cascading Deletes vorhanden, Löschportal ausstehend |
| Datenportabilität (Art. 20) | TEILWEISE | CSV/PDF-Export vorhanden, JSON-Export geplant |
| Penetrationstest | GEPLANT | Externer Pentest vor öffentlichem Launch |
Static Asset Bypass + CSRF-Validierung (Origin + Sec-Fetch-Site)
Rate Limiting vor Auth + API-Key-Erkennung (separates Bucket)
JWT Session-Validierung + API-Versionierung (X-API-Version)
Konkrete Maßnahmen, um jede Säule auf die Höchstpunktzahl zu bringen
next-intl oder react-intl mit DE/EN/FR. Alle UI-Strings in Übersetzungsdateien auslagern. DACH-Markt-Voraussetzung.
Aria-Labels, Fokus-Management, Kontrastverhältnisse, Tastaturnavigation. axe-core + Lighthouse-Audits in CI.
Chromatic für Storybook-basierte visuelle Tests. Performance-Budget mit Web Vitals Monitoring (CLS, LCP, INP).
Funktionsaudit für Meetings/Protokolle, Kalender, Entscheidungen, Offline-Sync analog zum Task-Modul-Audit durchführen.
Asynchrone Verarbeitung für Webhooks, E-Mail-Versand, KI-Extraktion. Dead-Letter-Queue + Retry-Strategien.
Vertical-Slice-Audit für alle verbleibenden API-Routen (Meetings, Calendar, Decisions, Plans, BIM). Permission-Checks verifizieren.
URL-basierte Versionierung (/v1/...). k6 oder Artillery Load-Tests mit realistischen Szenarien. GraphQL-Schnittstelle (optional).
API-Integrationstests mit Supertest/Playwright. Alle Endpoints auf korrekte Status-Codes, Validierung und Auth-Checks testen.
Horizontale Lese-Skalierung über Cloud-Provider. Point-in-Time Recovery für Disaster-Recovery-Szenarien.
Transparente Datenverschlüsselung (TDE) auf DB-Ebene. Spalten-basierte Verschlüsselung für PII-Felder (pgcrypto).
pg_stat_statements aktivieren. Slow-Query-Logging. Prisma Query-Analyse-Middleware. Index-Nutzung überwachen.
Automatisierter Test, der Prisma-Enums mit Zod-Schemas vergleicht. Sicherstellt, dass alle Module konsistente Werte verwenden.
Login-Historie pro Nutzer. Geräte-Übersicht mit „Alle Sitzungen beenden“. Anomalie-Erkennung (unbekannter Standort/Gerät).
Exponentielles Delay nach fehlgeschlagenen Logins (nicht nur IP-Rate-Limit, sondern Account-basiert). Account-Freeze nach n Fehlversuchen.
End-to-End-Verifizierung: Registrierung, Passwort-Reset, TOTP-Setup, WebAuthn-Enrollment, SSO-Login, API-Key-Lifecycle.
Stripe Metered Billing für Nutzer-Seats und Speicher. Overage-Alerts. Nutzungs-Dashboard pro Organisation.
Reverse-Charge-Logik für B2B. VAT-ID-Validierung (VIES API). Jahresabrechnung mit 16 % Rabatt. Rechnungsgenerierung (PDF).
MRR, Churn Rate, LTV, ARR Dashboard. Webhook-Event-Verarbeitung testen. Dunning-Flow verifizieren.
Promo-Code-System. Erweiterte Trial-Logik (14/30 Tage). Nahtlose Plan-Upgrades mit Proration. Downgrade-Schutz.
Idempotency-Keys. Webhook-Signature-Verification. Testmodus-Abdeckung aller Szenarien. Stripe Tax für automatische Steuerberechnung.
Professioneller Pentest durch zertifizierten Dienstleister. OWASP Top 10 Abdeckung. Schriftlicher Bericht mit Remediation.
Vertical-Slice-Audit (wie beim Task-Modul) für alle verbleibenden Module. IDOR-Checks, Permission-Verification, Response-Validierung.
Self-Service-Löschportal (Recht auf Löschung). Vollständiger JSON-Datenexport (Recht auf Datenportabilität). Datenschutzerklärung + Cookie-Consent.
Lint → Type-Check → Unit-Tests → E2E-Tests → Build → Deploy. Branch-Protection. PR-Preview-Deployments. Automatische Rollbacks.
Terraform oder Pulumi für Cloudflare, Neon/Supabase DB, Upstash Redis, R2 Storage. Reproduzierbare Environments. Secrets-Management (Vault/SSM).
Zentralisiertes Logging (Datadog/Axiom). APM mit Trace-Propagation. Custom Dashboards (Grafana). Alerting (PagerDuty/OpsGenie). SLO-Monitoring.
Blue/Green Deployments. Canary-Releases. Testabdeckung >80 %. Chaos-Engineering-Grundlagen (Fault Injection).
Multi-Region-Deployment (EU-West + EU-Central). Disaster-Recovery-Plan mit dokumentiertem RTO/RPO. Automatisierte Failover-Tests.
Konkrete Begründung für beantragte Fördergelder
| Investitionsbereich | Säule | Priorität | Aufwand | Begründung |
|---|---|---|---|---|
| CI/CD Pipeline & IaC | 7 — DevOps | KRITISCH | 3-4 Wo. | Automatisierung für Enterprise-Bereitschaft |
| Internationalisierung (i18n) | 1 — Frontend | KRITISCH | 3-4 Wo. | DACH-Marktexpansion (DE/AT/CH) |
| Penetrationstest | 6 — Security | KRITISCH | 2-3 Wo. | Pflicht für Enterprise-Kunden |
| DSGVO Art. 17 & 20 | 6 — Compliance | KRITISCH | 2 Wo. | Regulatorische Pflicht in der EU |
| Funktionsaudit aller Module | 1-6 — Alle | KRITISCH | 3-4 Wo. | Meetings, Kalender, Entscheidungen, Offline-Sync, Plans |
| Usage-Based Billing | 5 — Payments | HOCH | 3-4 Wo. | Skalierung des Umsatzmodells |
| Message Queue Backend | 2 — Backend | HOCH | 2-3 Wo. | Asynchrone Webhook/Mail/KI-Verarbeitung |
| Database Scaling | 3 — Datenbank | HOCH | 2 Wo. | Read Replicas + Point-in-Time Recovery |
| Accessibility (WCAG 2.1) | 1 — Frontend | MITTEL | 3 Wo. | Öffentliche Ausschreibungen |
| Observability Stack | 7 — DevOps | MITTEL | 2 Wo. | Zentralisiertes Logging, APM, Alerting |
| E2E Test-Erweiterung | 7 — DevOps | MITTEL | 2-3 Wo. | Testabdeckung >80 % |
| Gesamt | 28-36 Wo. | Vollständige Enterprise-Bereitschaft + 100/100 |
BauProto befindet sich nach dem Funktionsaudit in einem fortgeschrittenen MVP+-Stadium mit einer revidierten Gesamtreife von 8.8/10 (vorher 8.1). Die kritischsten Schwachstellen — eine IDOR-Lücke, fehlende Berechtigungsprüfungen und Schema-Inkonsistenzen zwischen Prisma und Zod — wurden in 20 gezielten Korrekturen behoben. Die Kernarchitektur ist technisch enterprise-fähig konzipiert. Die identifizierten Investitionsbereiche sind keine Schwächen, sondern natürliche Skalierungsstufen, die den Übergang vom MVP zur marktreifen Enterprise-Lösung markieren. Die beantragte Förderung ermöglicht genau diesen Schritt — von einer technisch soliden Innovation zu einem marktreifen, wettbewerbsfähigen SaaS-Produkt für die deutsche Bauwirtschaft.