Stadtportal-as-a-Service auf Basis von unser-wuerzburg.com — ergebnisoffene Stack-Evaluation und Produktions-Roadmap
| Berichtstyp | Technologie-Entscheidungsvorlage & Umsetzungs-Roadmap |
| Stichtag | 3. Juni 2026 — alle Versionsstände, Preise und Rechtslagen per Websuche zu diesem Datum erhoben |
| Scope | Voll-SaaS „Stadt- & Veranstaltungsportal-as-a-Service“: Multi-Tenant-Plattform mit News/Redaktion, Eventkalender + Ticketing, Gastro-/Branchenverzeichnis, Tourismus — je Tenant eigene Domain + Redaktions-Backend. Zielkunden: Kommunen, Stadtmarketing-GmbHs, DMOs, Regionalverlage (DACH). |
| Team-Annahme | 1–3 Entwickler (Kernkompetenz: PHP-Backend, CMS-/E-Commerce-Systeme, modernes Frontend mit TypeScript), intensiver Claude-Code-Einsatz, bisher klassisches Shared-Hosting |
| Skalen-Annahme | 10–200 Tenants, leselastig, SEO-kritische Public-Seiten, öffentliche Auftraggeber (Datenresidenz DE/EU = harte Vertriebsanforderung) |
| Bezug | Baut auf der Risikoanalyse vom 19.05.2026 auf. Deren No-Go-Bewertung des Voll-SaaS-Pfads bleibt unverändert gültig — dieser Report beantwortet ausschließlich die Frage: Wenn gebaut wird, dann wie? |
Abgeleitet aus den beiden Prototypen (Richtung A „editorial“, Richtung B „Local Discovery“, je 14 Seiten), der Risikoanalyse und den B2G-Marktanforderungen ergibt sich folgendes Profil. Es treibt jede Stack-Entscheidung in diesem Report:
| Domäne | Anforderung | Stack-Konsequenz |
|---|---|---|
| Mandanten | 10–200 Tenants, je eigene Domain, eigenes Branding (Design-Tokens), eigenes Impressum/V.i.S.d.P. | Multi-Tenancy-Kern, On-Demand-TLS, Theming-System, Legal-Module pro Tenant |
| Inhalte | News/Artikel (redaktionell), Events (+ Ticketing), Gastro-/Branchenverzeichnis, Tourismus-Seiten, UGC (Kommentare, Listings) | Block-Editor, Medien-Pipeline, Event-Datenmodell an offenen Standards (schema.org), Moderations-Workflow (DSA) |
| Reichweite | SEO-kritisch (Rich Results für Events), schnell, leselastig; AI-Search-Realität: strukturierte Daten wichtiger als je | Server-Rendering, strukturierte Daten, Kalender-Feeds, aggressives HTTP-/CDN-Caching, Core Web Vitals als Budget |
| Käufer | B2G/B2B: Vergabeverfahren, Rechnung statt Kreditkarte, AVV, Datenresidenz DE, Barrierefreiheit vertraglich durchgereicht | XRechnung-Billing, EU-Hosting, EN 301 549/WCAG 2.2, optionaler SSO-Broker für Behörden-Identitäten (SAML/OIDC) |
| Endkunden | Bürger kaufen Tickets, kommentieren, abonnieren Newsletter | BFSG-konformer Checkout, lizenzierter PSP mit Marktplatz-/Connect-Modell, Passkeys, EU-Mailversand |
| Betrieb | 1–3 Devs müssen Produkt UND Betrieb stemmen; SLA 99,5–99,9 % anbietbar | Monolith, Managed-Tooling, wenige bewegliche Teile, dokumentiertes DR |
Fünf Stack-Familien wurden ergebnisoffen gegen das Anforderungsprofil evaluiert. Die Entscheidung wurde von vier Faktoren getrieben: vorhandene Team-Expertise, EU-Hosting-Eignung (harte B2G-Anforderung), Reife des Ökosystems für Rechnungs-Billing sowie geringer Betriebsaufwand für ein kleines Team. Wo Alternativen objektiv stärker waren, ist das in die Abwägung eingeflossen — in Summe bietet jedoch kein Alternativpfad einen Vorteil, der den Verlust der vorhandenen Expertise und der EU-Hosting-Eignung aufwiegt.
Der Stack ist bewusst schlank und auf wenige, bewährte Bausteine reduziert — konkrete Produktwahl je Layer wird zum Umsetzungsstart final festgezurrt. Die Schichten im Überblick:
srcset; dedizierter Bild-Proxy erst bei vielen Tenants/Formaten nötig.Die wichtigste Einzelentscheidung der gesamten Plattform. Für 10–200 Tenants mit moderatem Einzeltraffic ist der 2026er-Konsens (AWS, PlanetScale, einschlägige Guides) eindeutig:
| Pattern | Pro | Contra | Urteil |
|---|---|---|---|
| Single DB + datenbankseitige Mandantenisolation | Eine Migration, ein Backup, Cross-Tenant-Suche/Analytics trivial, geringste Betriebskosten | Isolation logisch statt physisch — durch Isolation auf DB-Ebene mitigiert | Empfohlen |
| Schema-per-Tenant | Stärkere Isolation, einfacher Tenant-Export | Migrationen × N, Katalog-Bloat, Query-Planner leidet ab einigen hundert Schemas | Unnötiger Overhead |
| DB-per-Tenant | Maximale Isolation (Compliance-Argument) | 3–5× Wartungskosten, Infra 5–8× teurer, Backups/Monitoring × N | Overkill |
Implementierung (Defense in Depth): Mandanten-Scoping auf Applikationsebene (globale Lese-Scopes + Tenant-Middleware) als erste Verteidigungslinie; datenbankseitige Mandantenisolation pro Request als zweite — ein App-Bug kann dann kein Cross-Tenant-Leak mehr verursachen. Performance-kritisch ist eine geeignete Index-Strategie mit dem Mandanten als führendem Kriterium; richtig umgesetzt ist der Isolations-Overhead auch bei zweistelligen Millionen Zeilen vernachlässigbar. Mandantenkern: ein schlanker Mandantenkern (etabliertes, stabiles Paket oder schlanker Eigenbau), da das Single-DB-Pattern wenig Paket-Magie braucht. Einzelne „VIP-Tenants“ (Großstadt mit Sonderanforderungen) lassen sich später hybrid in eigene DBs auslagern, ohne die Architektur zu brechen.
Jeder Tenant bringt seine eigene Domain mit (veranstaltungen.stadt-xy.de) oder nutzt eine Subdomain (stadt-xy.plattform.de). Der Self-Hosting-Weg ist hier 2026 dem Managed-Weg klar überlegen:
*.plattform.de) für alle Plattform-Subdomains.Public-Portal (server-gerendertes Frontend-Framework): nutzt die vorhandene Frontend-Kompetenz und die Interaktionsmuster der Prototypen; das Server-Rendering liefert vollständiges HTML an Crawler — die historischen SEO-/Rendering-Schmerzpunkte sind in den aktuellen Tooling-Generationen beseitigt. Bewusste Alternative für maximale Einfachheit: rein server-gerenderte Templates für die leselastigen Seiten + interaktive Insel-Komponenten für Widgets (Karte, Checkout, Filter) — diese Entscheidung kann in Phase 1 nach einem kurzen Spike final getroffen werden; das Datenmodell ist davon unabhängig.
Admin/Redaktion (etabliertes Admin-Framework): ein vom Public-Frontend abweichender Technologie-Ansatz — das ist der bewusste Trade-off. Begründung: das Admin-Framework liefert CRUD, Tabellen, Formulare, Relation-Manager, Panel-Mandantenfähigkeit und einen Block-/Rich-Text-Editor out of the box; das von Hand nachzubauen kostet 3–4 Monate. Das Admin-Panel ist intern (Redakteure, Tenant-Admins), nicht SEO-relevant, nicht designkritisch — genau dort ist dieser Pragmatismus richtig. Die gewählte Generation ist stabil und mittelfristig ohne disruptive Major-Migration.
Headless-CMS bewusst verworfen: Die geprüften Headless-CMS-Produkte scheiden aus — mal durch Lizenzmodelle, die sich mit dem Mandantenmodell beißen, mal durch strategische Anbieter-Risiken oder Kernfeatures hinter Enterprise-Paywall bzw. restriktiver Lizenz. Keines ist SaaS-mandantenfähig out of the box; alle brächten ein zweites Laufzeit-System in den Betrieb.
Das Eventmodul ist das strategische Herzstück (vgl. Variante B der Risikoanalyse). Das interne Schema wird von Tag 1 an an offenen Standards (schema.org und etablierte Tourismus-Domain-Spezifikationen) ausgerichtet — mit strukturierten Daten für Rich Results, Kalender-Feeds und Open-Data-Schnittstellen:
Ein EU-Cloud-Hoster mit ISO/IEC 27001:2022, Datenresidenz Deutschland und AVV als Primär-Hoster — das reicht für die meisten kommunalen DMO-Vergaben. Die ehrliche Lücke: kein BSI-C5-Testat. Dafür gibt es einen dokumentierten Eskalationspfad: ein C5-zertifizierter Eskalations-Hoster (deutscher Anbieter mit C5-Testat + IT-Grundschutz, über die einschlägigen öffentlichen Beschaffungs-Broker rahmenvertraglich beziehbar) — zum ~2–3-fachen Preis, nur wenn eine Vergabe C5 hart fordert. Eine US-betriebene „Sovereign Cloud“ wäre für ein 1–3-Dev-Team Overkill und juristisch weiter umstritten.
Das bisherige Shared-Hosting-Panel ist kein SaaS-Betriebswerkzeug: kein Zero-Downtime-Deploy, kein Queue-Worker-Management, kein Infrastructure-as-Code — für eine SaaS mit SLA das falsche Werkzeug. Stattdessen ein schlankes, weitgehend gemanagtes Betriebs-Setup mit folgenden Funktionen:
| Funktion | Kategorie | Kosten | Anmerkung |
|---|---|---|---|
| Server-Provisioning + Deploy | Managed-Provisioning-/Deploy-Dienst | niedrige zweistellige €/Monat | Zero-Downtime-Deploys, gemanagte Datenbanken (Backups/Patching/Failover), native Hoster-Integration. EU-Alternative und ein quelloffener Exit-Pfad bleiben offen, da Server Standard-Maschinen sind |
| CI/CD | CI-Pipeline mit Test-/Qualitäts-Gates | ~0 € | Build + automatisierte Tests + statische Analyse in der CI, Deploy via Hook; für 1–3 Devs im Free-/Team-Kontingent |
| CDN | EU-CDN | ab ~1–2 €/Monat | günstiger EU-Traffic; DSGVO-nativ; Basis-WAF inklusive. US-CDNs bewusst vermieden (CLOUD-Act-Reibung im B2G-Vertrieb) |
| Error-Tracking | Error-Tracking (EU-Region) | niedrige zweistellige €/Monat | EU-Datenresidenz; bei Bedenken self-hosted möglich |
| APM | Monitoring/APM (EU-Region) | niedrige zweistellige €/Monat | EU-Rechenzentrum verfügbar, Mandanten-Support; kostenloses In-App-Dashboard ergänzend |
| Uptime/Status | Uptime-Monitoring + Statuspage | 0 € | Monitore + Statuspage im Gratis-Kontingent; self-hosted als Zweitmeinung |
Der Primär-Hoster bietet keine native Managed-Datenbank — zwei tragfähige Wege: (a) gemanagte Datenbanken über den Provisioning-Dienst (Backups, Patching, Failover auf dem eigenen Server — der pragmatische Start) oder (b) self-managed mit dediziertem Backup-Werkzeug als späterer Ausbau. DR-Zielwerte, die in B2G-Verträgen anbietbar und mit diesem Setup realistisch sind:
Backup-Topologie: automatisierte Datenbank-Backups → S3-kompatibler Objektspeicher beim Primär-Hoster plus Offsite-Kopie zu einem zweiten Anbieter mit EU-Datenresidenz gegen Provider-Single-Point-of-Failure. Server-Snapshots als dritte Ebene.
Zum Vergleich: dasselbe Setup auf einer US-betriebenen Managed-Cloud-Plattform (EU-Region verfügbar, aber US-Anbieter + Usage-Pricing) läge grob beim 3–5-Fachen und bliebe im B2G-Vertrieb angreifbar.
Für B2G-Kunden ist Compliance kein Anhang, sondern Kaufkriterium. Sechs Rechtsbereiche greifen direkt ins Datenmodell und die Roadmap — alle sechs sind von Tag 1 eingeplant statt nachgerüstet:
| Rechtsrahmen | Stand 06/2026 | Konsequenz im Produkt |
|---|---|---|
| E-Rechnung / XRechnung | Empfangspflicht B2B seit 01/2025; Ausstellungspflicht ab 2027 (>800 k € Umsatz) bzw. 2028 (alle). B2G: XRechnung mit Leitweg-ID faktisch Pflicht | Invoice-first-Billing mit eigener XRechnung-/ZUGFeRD-Erzeugung; KoSIT-konforme Validierung in der Pipeline; SEPA-Überweisung/Lastschrift statt Karten-Checkout für SaaS-Gebühren |
| ZAG / PSD2 (Ticketing) | Geldannahme für Dritte = erlaubnispflichtiges Finanztransfergeschäft (BaFin); Handelsvertreterausnahme eng | Ein lizenzierter Zahlungsdienstleister (PSP) mit Marktplatz-/Connect-Modell (Auszahlung direkt an Veranstalter, Express-Onboarding, Plattform-Gebühr) — Gelder fließen nie übers eigene Konto. KassenSichV/TSE: für reinen Online-Verkauf nicht relevant |
| EU AI Act, Art. 50 | Hauptanwendung 02.08.2026; Digital Omnibus (Einigung 07.05.2026) verschiebt nur Hochrisiko-Pflichten auf 2027/28, nicht Art. 50. Maschinenlesbare Markierung synthetischer Inhalte ab 02.12.2026 (Grandfathering-Detail vor Go-Live anwaltlich verifizieren) | Human-in-the-loop-Publishing erzwingen: KI-Entwurf → redaktionelle Prüfung → V.i.S.d.P. — die redaktionelle-Verantwortung-Ausnahme befreit Texte weitgehend von der Kennzeichnungspflicht. KI-Bildgenerierung: C2PA-Manifest in der Pipeline |
| BFSG / BITV 2.0 | BFSG in Kraft seit 28.06.2025 — Ticketing-Checkout und B2C-Vertragsanbahnung fallen darunter; Kommunen reichen BITV 2.0 / EN 301 549 vertraglich durch. EN-Update mit WCAG-2.2-Referenz noch nicht im Amtsblatt | Direkt gegen WCAG 2.2 AA bauen (abwärtskompatibel); Accessibility im Design-System (Fokus-Management, Kontrast-Tokens, Formulare); Barrierefreiheitserklärungs-Modul pro Tenant; externer BITV-Test vor GA |
| DSGVO / TDDDG | EuG hat DPF-Klage (Latombe) am 03.09.2025 abgewiesen — US-Transfers formal weiter zulässig, politisches Restrisiko bleibt; B2G-Kunden schließen US-Hoster faktisch oft aus | Plattform = Auftragsverarbeiter: standardisierter AVV + TOM-Anhang + Subprozessorenliste (inkl. KI-APIs mit EU-Endpoints!); Consent-Management pro Tenant-Domain (quelloffene Lösung); EU-only-Defaults überall |
| DSA / DDG & § 18 MStV | NIS2UmsuCG seit 06.12.2025 in Kraft (Agentur anfangs unter den Schwellen, aber Lieferketten-Klauseln der Kunden!); DSA-Hostingpflichten gelten auch für Kleinstunternehmen | Notice-and-Action-Meldeweg (Art. 16) + Begründungsversand (Art. 17) als mandantenfähiges Moderations-Feature; Impressum + V.i.S.d.P. pro Tenant konfigurierbar; Gegendarstellungs-Workflow (§ 20 MStV); „Anzeige“-Kennzeichnung im Content-Modell |
Annahmen: 2 Entwickler Vollzeit (3. Person punktuell für Design/QA), intensiver Claude-Code-Einsatz, Prototypen A/B als Design-Grundlage vorhanden. Aufwände in Personentagen (PT) inklusive Tests — automatisierte Test- und Qualitäts-Gates laufen ab Phase 0 in CI, nicht als nachgelagerte QA-Phase. Die Phasen 1–3 sind so geschnitten, dass nach Phase 3 ein eigenständig verkaufbares Event-Modul existiert (= Variante B der Risikoanalyse als eingebauter Plan B).
| Phase | Zeitraum | Inhalt & Deliverables | Aufwand |
|---|---|---|---|
| 0 — Fundament | Wo 1–4 | Monorepo + CI/CD (automatisierte Test-/Statik-/Format-Gates); Provisionierung beim EU-Cloud-Hoster (Staging/Prod), App-Webserver-Setup inkl. Spike zur automatischen Pro-Domain-TLS mit Domänen-Eigentumsprüfung; Mandantenkern (Tenant-Modell, Middleware, globale Scopes, datenbankseitige Isolation, Index-Konvention); Authentifizierung (inkl. Passkeys, Rollen/Permissions); Design-System: Tokens aus Prototyp-Entscheidung (A oder B!) in Design-Tokens des Frontend-Stacks; Frontend-Spike: server-gerendertes Framework vs. Templates + Insel-Komponenten → Entscheidung | ~70–85 PT |
| 1 — Content-Core | Wo 5–12 | Artikel-/Seitenmodell mit Block-/Rich-Text-Editor; Redaktions-Workflow (Entwurf → Review → V.i.S.d.P.-Freigabe — AI-Act-/MStV-konform); Admin-Panel mit Panel-Mandantenfähigkeit; Medien-Pipeline (AVIF/WebP, srcset); Kategorien/Tags/Autoren; Public-Frontend Homepage/News/Artikel aus dem Prototyp; SEO-Grundausstattung (strukturierte Daten für Artikel, Sitemaps, Canonicals, OG); typtolerante Suche (deutsche Synonym-Liste); HTTP-/CDN-Caching-Strategie | ~120–150 PT |
| 2 — Verzeichnis & Karten | Wo 13–18 | Gastro-/Business-Modell (Öffnungszeiten, Attribute, Claim-Prozess für Gewerbetreibende); DSGVO-konformer Karten- und Geocoding-Stack ohne Consent-Banner (self-hosted, DACH-Raum); Listen-/Karten-/Detailansichten aus Prototyp; Bewertungs-/Kommentarsystem inkl. DSA-Moderation (Meldeweg Art. 16, Begründungsversand Art. 17, Moderations-Queue im Admin-Panel); Tourismus-Seitentypen | ~90–110 PT |
| 3 — Events & Ticketing | Wo 19–26 | Event-Datenmodell an offenen Standards (schema.org/Tourismus-Spezifikationen: Serien, Wiederholungen, Absagen-Status, Barrierefreiheits-Attribute); Kalender-/Listen-/Detailseiten + strukturierte Daten für Rich Results + Kalender-Feeds; Import aus Landes-/Open-Data-Ökosystemen (Mapping); Ticketing: Onboarding der Veranstalter beim PSP (Express), Checkout (BFSG/WCAG-2.2-konform!), Kontingente, PDF-Tickets mit QR, Check-in-Ansicht (PWA), Storno/Refund-Flows; Open-Data-Schnittstelle für Events Meilenstein: eigenständig verkaufbares Event-Modul (= Variante B) |
~110–140 PT |
| 4 — SaaS-Schicht | Wo 27–33 | Tenant-Self-Service: Onboarding-Wizard, Theming (Token-Editor: Logo, Farben, Typo), Custom-Domain-Flow (DNS-Verifikation → automatische Pro-Domain-TLS); Plan-/Feature-Gating; Billing: Vertragsverwaltung + Rechnungslauf mit XRechnung/ZUGFeRD (KoSIT-validiert), Leitweg-ID, SEPA; Legal-Module pro Tenant (Impressum, V.i.S.d.P., Datenschutz, Barrierefreiheitserklärung, AVV-Generator); Consent-Management-Integration; Anbindung des EU-Mailversand-Dienstes (transaktional + Tenant-Newsletter); Spike für Behörden-SSO via SSO-Broker (nur wenn erster Kunde es fordert — sonst Backlog) | ~90–115 PT |
| 5 — Hardening | Wo 34–39 | Externer Pentest + Behebung; externer BITV-/WCAG-2.2-Audit (z. B. BIK-Test) + Behebung; Lasttests (Ticket-Onsale-Szenario!); DR-Probe: dokumentierter Full-Restore (RTO-Nachweis); Observability-Feinschliff (Monitoring-Alerts, Statuspage); Security-Review der Mandantenisolations-Policies; Betriebs-Runbooks; Vertriebsdokumente (AVV, TOMs, SLA, Subprozessorenliste, EVB-IT-Cloud-Kriterienkatalog-Antworten) | ~60–75 PT |
| 6 — Pilot & GA | Wo 40–44 | Pilotbetrieb mit 1–2 Design-Partnern (unser-wuerzburg.com selbst als Tenant Nr. 1 + idealerweise eine zahlende Kommune/DMO); Feedback-Schleife; Migrations-Tooling für Bestandsdaten; Go-Live-Checkliste; GA | ~40–55 PT |
| # | Risiko / Entscheidung | Schwere | Mitigation |
|---|---|---|---|
| R1 | Markt-Risiko bleibt dominant: No-Go-Bewertung der Risikoanalyse gilt unverändert; 9–18 Monate Vergabe-Sales-Cycle parallel zur Entwicklung | kritisch | Phasenschnitt mit verkaufbarem Event-Modul ab Wo 26; Design-Partner VOR Phase 1 akquirieren — ohne LOI eines zahlenden Pilotkunden Phase 2+ nicht starten |
| R2 | Mandantenkern: Festlegung in Phase 0; nicht jedes Paket ist final stabil | mittel | Stabiles, etabliertes Paket oder schlanker Eigenbau; Single-DB-Pattern minimiert die Paket-Abhängigkeit |
| R3 | Primär-Hoster: mehrere Preiserhöhungen in 2026 + fehlendes C5-Testat | mittel | +30 % Kalkulations-Puffer; portable Architektur; Eskalationspfad zu C5-zertifiziertem Hoster dokumentiert |
| R4 | AI-Act-Detailfragen (Provider- vs. Deployer-Einstufung bei KI-Features, Grandfathering-Fristen des Digital Omnibus) | mittel | Human-in-the-loop als Default-Architektur; anwaltliche Prüfung vor Aktivierung von KI-Features (Budget eingeplant) |
| R5 | BFSG-Konformität des Ticketing-Checkouts — Marktaufsicht aktiv seit 2025 | mittel | WCAG 2.2 AA von Tag 1 im Design-System; externer BITV-Audit in Phase 5 als Gate vor GA |
| R6 | Frontend-Doppelstack (eigener Ansatz für Public-Portal vs. Admin-Panel) erhöht kognitive Last | niedrig | Strikte Trennung der Welten; Admin-Framework nur intern; gemeinsame Design-Tokens |
| R7 | Such-Dienst: deutsche Komposita-Zerlegung fehlt | niedrig | Synonym-/Custom-Dictionary; Wechsel auf alternative Such-Engine als spätere Option (Such-Abstraktion hält Wechselkosten klein) |
| R8 | DSA-Einstufung: Branchenbuch mit Selbst-Einträgen könnte „Online-Plattform“-Schwelle reißen | niedrig | Art.-16/17-Pflichten ohnehin implementiert; Einzelfallbewertung mit Anwalt in Phase 4 |
Versionsstände, Preise und Rechtslagen wurden zum Stichtag per Websuche aus den jeweiligen Primär- und Sekundärquellen erhoben (Hersteller-/Behörden-Dokumentation, Fachpresse, einschlägige Rechts- und Datenschutz-Quellen). Detaillierte Quellenangaben sind in dieser Kundenfassung nicht enthalten.