Multi-Mandanten-SaaS-Architektur für FlaM / Schwarzarbeit, AIG, BGSA und VA/Flue/S mit über 200 dokumentierten Arbeitsabläufen, allen 27 Compliance-Anforderungen aus Pflichtenheft § 5–7 und technisch implementierten Schnittstellen zu Bundes- und Kantonssystemen — vom Admin selbst konfigurierbar. Kern-Workflows (ZEMIS, sedex, FlaM, SAP-FI) sind implementiert und demo-verifiziert. Die Live-Aktivierung externer Systeme erfolgt nach Bereitstellung kundenseitiger Zugangsdaten, Zertifikate und Testfenster.

Evaluatoren können sich direkt auf gefilterte Ansichten eintreten — ein Login ist einmalig erforderlich, danach führen die Links in den jeweiligen Fachbereich inklusive passendem Filter.
Screenshots der Produktionsinstanz ohne Demodaten-Obfuskation. Zum Vergrössern anklicken. Jedes Bild verlinkt zusätzlich auf den entsprechenden Screen in der App.
Mandantentrennung, State-Machine mit Transitions-Guards, eindeutige Aktenzeichen, Soft-Delete mit lückenlosem Audit-Log, WCAG 2.1-AA-Barrierefreiheit und ein Retention-Cronjob für die automatische Anonymisierung — die Grundpfeiler sind implementiert, getestet und laufen im Betrieb.
hermes/01_pflichtenheft.md,hermes/02_isds_konzept.md undhermes/03_testkonzept.md.Acht Anbindungen an Bundes- und Kantonssysteme sind technisch implementiert und im Admin-Bereich selbst konfigurierbar: Endpoint-URL und Credentials eingeben, bei ZEMIS und SIMIC das Client-Zertifikat (.pem oder .p12) hochladen, Verbindung per Button prüfen. Alle Secrets und Passphrasen werden AES-256-GCM verschlüsselt, Zertifikate zusätzlich mit Server-Side-Encryption in S3 abgelegt. Die Live-Aktivierung erfolgt nach Bereitstellung kundenseitiger Zugangsdaten, Zertifikate, Endpunkte und Testfenster — die technische Implementierung ist demo-verifiziert, die externe Abnahme erfolgt im Onboarding mit den zuständigen Systembetreibern.
Zwei tragende Säulen für den produktiven Betrieb in der öffentlichen Verwaltung: eine zentrale Lizenzprüfung mit Cockpit und ein durchgängiger Schutz der besonders schützenswerten Personendaten — direkt in der Datenbank, transparent für Sachbearbeiter.
Eine JWT-signierte Lizenz wird in der Datenbank gehalten und beim Start der Applikation validiert. Module und Limits werden in DE/FR/IT/EN als fachliche Bezeichnungen angezeigt — nicht als technische Kürzel.
AHV-Nummer, E-Mail und Telefonnummer werden mit AES-256-GCM verschlüsselt in der Datenbank gespeichert. Ein HMAC-Blind-Index ermöglicht die Suche, ohne den Klartext jemals offenzulegen.
Heute lauffähig: Lizenz-Cockpit, PII für AHV/E-Mail/Telefon, Audit-Log, Soft-Delete, Retention-Job, Mandanten-Trennung. Pen-Test, ISDS-Schutzbedarfsanalyse, WCAG-2.2-AA-Audit und Hosting-Migration auf eu-central-2 sind Phase 1.
docs/ROADMAP.mdDie SSO-Anbindung an eIAM (Bundes-IAM) bzw. das ablösende AGOV ist technisch vorbereitet: SamlConfig-/OidcConfig-Tabellen, Admin-UI unter /admin/sso, JIT-Provisioning und Rollen-Mapping (SACHBEARBEITER / LEITUNG / ADMIN) sind implementiert. Die Live-Anbindung und externe Abnahme durch das BIT erfolgen im Onboarding — der benötigte Föderations-Vertrag und die IdP-Konfiguration werden gemeinsam mit dem Kunden eingerichtet.
Die Farbwelt wird aus lokalen Kantonsflaggen-Assets abgeleitet und für die Benutzeroberfläche kontrast- und lesbarkeitsgerecht aufbereitet. Alle 26 Kantone sind vorbereitet — visuell eindeutig, ohne funktionale Fragmentierung.
Kanton St. Gallen
Flaggenbasierte Leitfarbe Grün
Kanton Schaffhausen
Flaggenbasierte Leitfarbe Gold
Kanton Zürich
Flaggenbasierte Leitfarbe Blau
Rechtlicher Hinweis: Kantonswappen, -farben und -bezeichnungen sind Eigentum der jeweiligen Kantone der Schweizerischen Eidgenossenschaft. Die in dieser Applikation verwendete Farbwelt wurde aus lokalen Flaggen-Assets abgeleitet und UI-konform aufbereitet. Es wird keinerlei Zugehörigkeit, Beauftragung oder Zertifizierung durch die jeweiligen Kantone impliziert. Die dargestellten Badges sind vereinfachte Darstellungen; eine Einbindung autorisierter Wappen erfolgt erst nach Genehmigung des jeweiligen Kantons im Onboarding-Prozess.
Sechs Bausteine für den produktiven Betrieb in der öffentlichen Verwaltung. Sie decken Live-Systemstatus, Tenant-Sicherheit, Bildschirm-Sperre, lückenlose Änderungs-Historie, PII-Schutz für Wohnadressen sowie die technisch vorbereitete SSO-Integration ab.
Sechs-Punkte-Check: Datenbank-Verbindung, NextAuth-Konfiguration, PII-Schlüssel, Lizenz, Retention-Job, Cloud-Speicher. Auto-Refresh alle 30 Sekunden.
/admin/healthSicherheitsrichtlinien pro Mandant zentral steuerbar. TOTP-Pflicht für Admins und konfigurierbare Bildschirm-Sperrzeit, ohne Code-Anpassung.
/admin/securityBildschirm-Sperre nach Inaktivität -- die Sitzung bleibt erhalten, aber alle Personendaten werden hinter einem blockierenden Overlay versteckt. Zurück mit Passwort-Eingabe.
Jede UPDATE- oder TRANSITION-Aktion wird mit Vorher- und Nachher-Snapshot protokolliert. Die UI zeigt die geänderten Felder in einer klaren Side-by-Side- Gegenüberstellung.
/admin/auditStrasse, Postleitzahl und Ort werden bei Personendaten ebenfalls AES-256-GCM- verschlüsselt. Ein Blind-Index erlaubt die Suche, ohne den Klartext jemals offenzulegen.
lib/pii/person-pii.tsSamlConfig- und OidcConfig-Tabellen, Admin-UI, JIT-Provisioning sowie Rollen-Mapping sind implementiert. Die Live-Anbindung an eIAM bzw. AGOV und die externe Abnahme durch das BIT erfolgen im Onboarding.
/admin/sso — Onboarding-SchrittWas bedeutet das für den produktiven Betrieb?
Diese sechs Punkte runden die Implementation so ab, dass die Lösung ohne weitere Zwischenstände als Pilot gestartet werden kann. Die SSO-Anbindung an eIAM bzw. AGOV ist technisch vorbereitet; die Live-Anbindung und externe Abnahme erfolgen im Onboarding.
Bug-Meldungen, Feature-Wünsche, formelle Offerten und Datenexport-Anfragen — alles in einem durchgängigen, auditierbaren Prozess. Mandanten behalten volle Kontrolle über ihre Daten; der Plattformbetreiber (Provider-Support) sieht ausschliesslich freigegebene, anonymisierte Pakete. Jede Statusänderung wird im AuditLog und im dedizierten DataExportAccessLog protokolliert.
Jeder authentifizierte Nutzer kann Fehler oder Feature-Wünsche einreichen. Tickets erhalten eine eindeutige Nummer (TK-YYYY-NNNN), durchlaufen den Workflow DRAFT → APPROVED → RESOLVED und werden dem jeweiligen Mandanten zugeordnet.
Für Feature-Wünsche erstellt der Plattformbetreiber formelle Offerten (OFF-YYYY-NNNN) mit Betrag, Währung und Gültigkeitsdatum. Der Mandanten-Admin kann annehmen oder ablehnen — transparent und nachvollziehbar.
Der Provider-Support stellt Datenexport-Anfragen an einen Mandanten. Der Mandanten-Admin prüft, lädt ein anonymisiertes Paket hoch, bestätigt die Anonymisierung und gibt frei — oder lehnt ab.
Der Plattformbetreiber (Provider-Support) hat keinen direkten Zugriff auf Mandanten-Rohdaten. Nur freigegebene, anonymisierte Export-Pakete werden sichtbar — der Smoke-Test bestätigt, dass Kanton B die Anfragen von Kanton A nicht sieht.
Mandanten-Admins erstellen Support-Tickets, verfolgen den Status und kommunizieren über Kommentare. Der Provider-Support bearbeitet mandantenübergreifend — mit klarer Trennung zwischen internen und kundenvisiblen Notizen.
Jede Statusänderung — von der Ticket-Erstellung über den Export-Upload bis zur Offerten-Annahme — wird im zentralen AuditLog und im dedizierten DataExportAccessLog festgehalten.
Durchgängig, auditierbar, mandantensicher
Vom ersten Bug-Report bis zum Offerten-Akzept und Datenexport-Widerruf — jede Interaktion zwischen Kanton und Plattformbetreiber ist ticketbasiert nachvollziehbar. Der gesamte Supportprozess wurde in einem End-to-End-Smoke-Test auf der Produktionsumgebung verifiziert.
Jede externe Interaktion, jeder Import, jeder Job-Lauf wird lückenlos nachverfolgt. Idempotenz, Retry mit Backoff, Upload-Härtung und Formelschutz sind keine Konzepte — sie sind implementiert, getestet und demo-verifiziert.
Fünf Bausteine für den Sachbearbeiter-Alltag: globale Suche über alle Objekte, Tastaturkürzel zum direkten Anspringen von Modulen, CSV-Export aus Listen und Audit-Log, Aktivitätsstrom pro Fall sowie eine Kanban-Ansicht für Workflow-Schritte.
Cmd/Ctrl+K oder „/“ öffnet ein Overlay mit Live-Suche über Fälle, Betriebe, Personen, Sanktionen, Meldungen und Benutzer.
Vim-inspiriertes „g + Buchstabe“-Schema für den schnellen Modulwechsel, ergänzt um globale Aktionen und ein Cheatsheet.
Cmd/Ctrl+N Neuer Fall · / Sucheg d / c / s / p / b / m / t Module? Hilfe-Overlay mit allen KürzelnListen direkt aus dem Browser exportieren — Excel- und Power-BI-tauglich, ohne Server-Roundtrip.
lib/csv-export.tsTab im Fall-Detail mit der vollständigen Änderungs-Historie als chronologische Stream-Ansicht — ohne in den Audit-Log wechseln zu müssen.
Workflow-Schritte wahlweise als Liste oder Kanban-Board — mit drei Spalten für „offen“, „in Arbeit“ und „erledigt“.
Pro typischen Fall etwa 30 bis 60 Sekunden weniger Mausweg, vor allem bei Mehrfach-Suche und Reporting-Tagen. Tastatur-Vorgehen wird offiziell dokumentiert und ist ohne Schulung anwendbar.
Jede nummerierte Anforderung aus dem Kurzprofil ist umgesetzt. Die rechte Spalte zeigt den technischen Umsetzungspfad, der Pfeil verlinkt direkt in die laufende Applikation.
Alle Kacheln sind klickbar und führen direkt in den entsprechenden Screen der Applikation.
Keine proprietäre Infrastruktur, keine Lock-ins. Standard-Stack, offene Datenmodelle, klare Rollen- und Audit-Trennung. Die Applikation ist so aufgebaut, dass sie direkt in eine Produktivumgebung des Kantons überführt werden kann.
Nicht nur Features — jede Zeile Code ist nach modernsten Prinzipien geschrieben. OWASP-konform, performance-optimiert, kompromisslos sicher.
any-Workarounds, ESLint-konform. Konsistente Komponenten-Architektur mit shadcn/ui.16 Dokumente nach HERMES-Standard. Vollständig vorhanden, personalisiert mit Wasserzeichen, gesicherter Zugriff via E-Mail-Verifikation. Klicken Sie ein Dokument an für den geschützten Zugriff.
Der manuelle ZEMIS-CSV-Import und die sedex-Speicher-Pipeline sind implementiert und demo-verifiziert. Sedex-Dateien, Envelope-Metadaten, technische und fachliche Quittungen werden über den gesamten Lebenszyklus verfolgt. Der Live-Adapter ist bewusst deaktiviert — die Live-Aktivierung erfolgt nach Bereitstellung des kundenseitigen sedex-Zugangs, der Zertifikate und des Testfensters.
Der FlaM-Dossier-Workflow ist technisch implementiert und demo-verifiziert. Dossier-Erstellung, Dokumentenregistrierung, Status-Abfrage und -Aktualisierung, Organisations-Lookup und externe Dossier-ID-Persistenz sind implementiert. Idempotenz, Audit-Logging und Mandantentrennung sind verifiziert. Die Evaluator-UI unter /admin/flam macht den Workflow sichtbar und testbar.
Der SAP-FI-Invoicing-Workflow ist technisch implementiert und demo-verifiziert. Anhang-12-konforme Payload-Struktur mit Kopf, Parteien, Positionen und Anhang-Metadaten. Validierung, deterministischer Demo-BelegNr, Idempotenz, Preview-Endpoint (sanitisierter Payload) und Evaluator-UI unter/admin/sap.
Diese Software ist nicht ein PowerPoint-Konzept und keine Architekturskizze. Sie ist eine ausgelieferte, funktionsfähige Fachapplikation: über 200 Arbeitsabläufe abgedeckt, alle 27 Compliance-Anforderungen erfüllt, acht Schnittstellen zu Bundes- und Kantonssystemen technisch implementiert und vom Admin selbst konfigurierbar. Demo-verifiziert und bereit für Evaluation, Pilotdemo und kontrolliertes Onboarding.