Selbst gehostete Unternehmensplattform

SupaWebApp

Ein gesicherter Core — Anmeldung, Rollen, Teams, Spaces, Chat, Kalender, Dashboards, Benachrichtigungen und Workflow-Automatisierung — und darauf aufsetzend Module, die sich über ein eigenes Protokoll andocken. Alles läuft im eigenen Haus — die KI-Inferenz auf Wunsch eingeschlossen.

  • Self-hosted per Docker
  • DSGVO-konform
  • Deutsch & Englisch
  • Helles & dunkles Theme
  • LLM lokal oder in der Cloud
  • Mandantenfähig
Datenschutz

Selbst gehostet — und damit DSGVO-konform

Die Plattform läuft auf Ihren eigenen Servern. Es gibt keinen Anbieter, der mitliest, keinen Auftragsverarbeiter, der in einen Vertrag genommen werden müsste, und keine Übermittlung in ein Drittland. Auch die KI rechnet im eigenen Haus: kein Text, kein Dokument und keine Aufnahme verlässt dafür Ihr Netz.

Daten bleiben bei Ihnen

Standort, Aufbewahrung und Löschfristen bestimmen Sie — nicht die Geschäftsbedingungen eines Anbieters.

Keine Auftragsverarbeitung

Kein externer Dienstleister sieht Ihre Daten, also auch keine Verträge, Prüfungen und Drittlandtransfers, die daran hängen.

KI ohne Datenabfluss

Sprachmodelle können vollständig auf eigener Hardware laufen — dann geht kein Prompt an einen Anbieter und nichts trainiert fremde Modelle. Ob überhaupt ein Cloud-Modell zum Einsatz kommt, entscheiden Sie.

Nachweisbar

Zugriffe laufen über ein Rechtemodell und landen im Protokoll — die Rechenschaftspflicht lässt sich damit belegen.

4installierbare Module
3Stufen von API-Schlüsseln
1Origin für alle Modul-Oberflächen
0Cloud-Dienste für die KI nötig
Der Core

Was die Plattform von Haus aus kann

Diese Funktionen sind kein Zubehör, sondern Teil des Core: Sie stehen ab der ersten Anmeldung bereit und gelten für jedes Modul, das später dazukommt.

Anmeldung & Zwei-Faktor

Passwörter mit argon2id, TOTP nach einer Richtlinie, die der Administrator setzt (aus, optional oder Pflicht), Single Sign-on über OIDC und serverseitige Sitzungen, die sich sofort entziehen lassen.

Rollen & Berechtigungen

Eigene Rollen neben den Systemrollen, Rechte als feste Schlüssel. Jede Route nennt die Berechtigung, die sie verlangt — wo keine steht, wird abgelehnt.

Teams & Spaces

Persönliche, Team- und Unternehmens-Spaces sind die eine Stelle, an der Zugriff entschieden wird — für Core-Inhalte wie für alles, was Module ablegen.

API-Schlüssel

Drei Stufen für Benutzer, Anwendungen und Module, jeweils mit Geltungsbereich und Ablauf. Gespeichert wird nur ein Hash; das Geheimnis zeigt sich genau einmal.

TeamChat

Kanäle in jedem Space und Direktnachrichten zu zweit, mit Anhängen, Lesebestätigungen, Ungelesen-Zählern und Kanälen, in denen nur die Leitung schreibt.

Kalender

Eigene Kalender, abonnierte ICS-Quellen als schreibgeschützte Ansicht, Freigabe in Team- und Unternehmens-Spaces sowie Erinnerungen über die Workflows.

Dashboards

Frei zusammengestellte Layouts je Space — persönlich, für ein Team oder für das ganze Unternehmen — gespeist aus Kennzahlen, die die Module beisteuern.

Benachrichtigungen

Eine Glocke für Core und Module, dazu Ankündigungen an das ganze Unternehmen — und in einer Mehr-Mandanten-Installation an alle Mandanten.

Workflows

Auslöser, Bedingung, Aktionen — als Ereignis, nach Zeitplan oder von Hand. Jeder Lauf wird mit seiner Spur protokolliert, jede Änderung an einer Regel bleibt mit Wiederherstellungspunkt erhalten.

Mandantenfähigkeit

Optional bedient eine Installation mehrere Organisationen, jede unter eigener Domain und mit streng getrennten Daten. Der Haupt-Mandant verwaltet die übrigen und kann seine Module in sie hineinreichen.

Zweisprachig, zwei Themes

Die gesamte Oberfläche gibt es auf Deutsch und Englisch, in einem hellen und einem dunklen Theme — Einstellung pro Benutzer.

Dokumentation im Produkt

Ein Einstiegs-Guide, die Referenz der Core-API und die Doku jedes installierten Moduls — durchsuchbar, zweisprachig und auf das gefiltert, was der Lesende tatsächlich aufrufen darf.

Module

Erweiterungen, die sich sauber andocken

Jedes Modul ist ein eigenständig betriebener Dienst mit eigenem Datenbank-Schema. Der Administrator installiert es über seine Adresse; danach erreicht der Browser es ausschließlich über den Core.

IdeaPod

ideapod

Sprachmemo aufnehmen, live auf dem Server transkribieren lassen und den fertigen Gedanken in den passenden Space legen.

  • Transkript erscheint beim Sprechen, über whisper.cpp im eigenen Haus
  • Ziel wählbar: privat, Team oder Unternehmen
  • Ob die Audiodatei bleibt, entscheidet eine Admin-Einstellung
  • Optional Titel, Zusammenfassung und Gliederung über Cortex

Cortex

cortex

Chat wie man ihn kennt, dazu ein Dokumentenspeicher zum Nachschlagen — und die LLM-Fähigkeiten, aus denen sich alle anderen Module bedienen.

  • GGUF-Modelle per HuggingFace-Referenz, direkter URL oder Upload
  • Worker-Flotte mit Clustern, Prioritäten und GPU-Bündelung
  • Websuche über SearXNG, Tavily oder Brave
  • Funktionsaufrufe, sichtbares Nachdenken, Nachprüfung der Antwort, Bilder
  • Nachschlagen in eigenen Dokumenten, im Knowledge Vault und in anderen Modulen
  • Angebundene MCP-Server als zusätzliche Werkzeuge und Datenquellen

Email Organizer

emailorganizer

Postfächer anbinden, Nachrichten laufend abholen und automatisch einsortieren — mit einem Modell, das aus den eigenen Ordnern lernt.

  • IMAP sowie Gmail und Microsoft über OAuth
  • Kategorien aus vorhandenen Ordnern trainieren, nach Zeitplan nachtrainieren
  • Gruppierung auch ohne Vorgaben
  • Auffällige Nachrichten werden in der Liste markiert

Knowledge Vault

knowledgevault

Dateiablagen anbinden, Inhalte auslesen und durchsuchbar machen — die Wissensbasis des Unternehmens.

  • SMB/CIFS, SharePoint, WebDAV und lokale Pfade
  • Text aus PDF, DOCX, TXT und Markdown, dazu Texterkennung in Bildern
  • Suche über Volltext und Bedeutung zugleich
  • Bilder bekommen eine Beschreibung, die mitgesucht wird
  • Liefert seine Treffer an den Chat weiter

Maßgeschneiderte Module für Kunden

Dieselbe Mechanik trägt auch Fachanwendungen: Wir entwickeln Module, die auf die Abläufe eines einzelnen Kunden zugeschnitten sind — mit eigener Oberfläche, eigenen Daten und eigenen Berechtigungen, aber vollständig in die Plattform eingebettet. Änderungsprotokoll, Papierkorb, Exporte, Kennzahlen fürs Dashboard und die Anbindung an die Workflows kommen dabei aus demselben Baukasten.

Das Modulprotokoll

Wie ein Modul dazukommt

  1. Manifest bereitstellen

    Das Modul veröffentlicht eine Beschreibung seiner selbst: welche Rechte es braucht, welche Ereignisse es hört, welche Einstellungen es kennt und wo seine Oberfläche liegt.

  2. Installieren und zustimmen

    Der Administrator trägt die Adresse ein und bestätigt die verlangten Rechte. Der Core legt daraufhin Schlüssel und gemeinsames Geheimnis an und nimmt die Berechtigungen des Moduls in seine Rollenverwaltung auf.

  3. Betrieb hinter dem Core

    Der Browser spricht nie direkt mit dem Modul, sondern immer über den Core. Die Modul-Oberfläche läuft abgeschottet und ohne eigene Herkunft, mit einem Token, das nach zehn Minuten verfällt.

  4. Zusammenspiel über den Core

    Ereignisse kommen als signierte Nachrichten an. Und wenn ein Modul etwas von einem anderen braucht — ein Sprachmodell, eine Suche —, fragt es den Core, nie das andere Modul.

Künstliche Intelligenz

Sprachmodelle — im eigenen Haus oder in der Cloud

Wo gerechnet wird, entscheiden Sie: auf eigener Hardware, bei einem Anbieter in der Cloud — oder beides nebeneinander. Bleibt alles im Haus, verlässt kein Text, kein Dokument und keine Aufnahme Ihr Netz.

Lokal, in der Cloud oder gemischt

Ein Dienst hält die Modelle bereit und stellt sie über die verbreitete OpenAI-Schnittstelle zur Verfügung. Dahinter kann die eigene Grafikkarte stecken oder ein Anbieter in der Cloud — für den Rest des Systems sieht beides gleich aus, ein Wechsel kostet keine Zeile Code. Modelle kommen per Referenz, per Adresse oder als Datei dazu; ein Admin sagt, welches wofür zuständig ist: Chat, Einbettungen, Bilder.

Funktionsaufrufe und MCP

Das Modell antwortet nicht nur, es handelt: Pro Frage entscheidet es über echte Funktionsaufrufe, ob es sucht, ein Dokument liest oder das Datum braucht. Welche Funktionen es dabei benutzen darf, gibt ein Admin vor. Darüber hinaus lassen sich MCP-Server anbinden — damit bekommt das Modell Werkzeuge und Datenquellen, die das System selbst gar nicht kennt.

Flotte statt einzelner Karte

Rechenknoten werden zu Clustern gebündelt: mit Priorität, erlaubten Modellen, CPU oder GPU, einer Strategie für knappen Grafikspeicher und einer Zeit, nach der ein unbenutztes Modell wieder Platz macht. Ein zu großes Modell kann sich über die Karten mehrerer Knoten verteilen.

Auch ohne Internetzugang

Ein Rechner ohne Verbindung nach außen lädt seine Modelle nicht selbst: Der Core reicht die Datei von einem Knoten weiter, der sie schon hat, und prüft dabei die Prüfsumme.

Synapse — Agent auf dem Arbeitsplatz

Eine Desktop-Anwendung arbeitet in einem Projektordner: erst planen, dann handeln, mit Freigabe vor jeder Änderung, einer Liste erlaubter Befehle und einer Aufzeichnung jedes Laufs. Rechnen darf sie lokal oder zentral — was erlaubt ist, gibt die Organisation vor.

Sicherheit

Grundsätze, die nicht verhandelbar sind

  • Im Zweifel nein. Jede Route nennt die Berechtigung, die sie verlangt; eine Route ohne Angabe wird abgewiesen.
  • Der Core ist die Vermittlung. Module fassen weder fremde Datenbank-Schemata noch Suchindex, Cache oder einander direkt an.
  • Zwei Tore statt einem. Für ein Modul braucht es die Berechtigung und die Freigabe für diesen Benutzer — geprüft beim Token, in der Navigation und bei jedem Aufruf.
  • Eine Stelle für Zugriff. Ob jemand einen Space sehen darf, beantwortet genau ein Dienst — nirgends nachgebaut.
  • Abgeschottete Oberflächen. Modul-Oberflächen laufen ohne eigene Herkunft in einer Sandbox; sie können nicht im Namen des Benutzers handeln.
  • Signierte Wege. Aufrufe vom Core an ein Modul sind signiert und nur wenige Minuten gültig.
  • Geheimnisse bleiben geheim. Passwörter mit argon2id, API-Schlüssel nur als Hash, Zweitfaktor- und Modul-Geheimnisse verschlüsselt unter einem Hauptschlüssel — und nichts davon in Protokollen.
  • Offene Punkte stehen im Dokument. Was noch zu härten ist, wird geführt und nicht verschwiegen.
Technik

Womit gebaut wird

BereichWahl
SpracheTypeScript im Monorepo, pnpm und Turborepo
Core-APINestJS mit Prisma
OberflächeReact und Vite, Modul-Oberflächen in Sandbox-Rahmen
DatenbankPostgreSQL 16 mit pgvector
SucheOpenSearch, jederzeit aus der Datenbank neu aufbaubar
Sitzungen & EreignisseRedis 7
Sprache zu Textwhisper.cpp als eigener Dienst
Sprachmodellellama.cpp mit GGUF-Modellen
BetriebDocker Compose, ein einziger Zugang nach außen

In zwei Befehlen gestartet

# .env anlegen und einen Hauptschlüssel setzen
cp .env.example .env

# Stack bauen und starten
docker compose -f infra/docker-compose.yml up -d --build

# erreichbar unter http://localhost:7890