oruni
Deine Modelle. Deine Daten. Deine Regeln.
Bündelt Anthropic, Google, OpenAI, Mistral, Groq, DeepSeek, xAI, drei Enterprise-Hyperscaler und lokale Ollama-Modelle hinter einem einzigen, OpenAI-kompatiblen Endpunkt, läuft dabei vollständig auf der eigenen Maschine. Kein Zwischenkonto sieht einen Prompt, kein Aufschlag auf den Tokenpreis, PII wird lokal maskiert und ein echter Z3-Solver beweist es.
oruni vs. Cloud-LLM-Gateway
Ein zentraler Prompt-Zugangspunkt ist wirtschaftlich zu wertvoll, um ihn zu verschenken.
Ein Cloud-Gateway routet Prompts über die eigene Infrastruktur eines Dritten, bevor sie den Modell-Anbieter erreichen, mit eigenem Preismodell und eigenem Interesse an genau diesem Datenstrom. oruni läuft als einzelnes, rund 13 MB großes Rust-Binary vollständig auf der eigenen Maschine, kein Docker-Zwang, kein Server-Setup, direkte Verbindung zum gewählten Anbieter.
Ein Endpunkt, 13 Provider-Arten, praktisch jeder Anbieter
Vollständig angebunden statt nur beworben.
Anthropic, Google Gemini, OpenAI, Mistral, Groq, DeepSeek, xAI, lokale Ollama-Modelle, dazu die drei Enterprise-Hyperscaler AWS Bedrock, Oracle OCI und Azure OpenAI Service sowie IBM watsonx.ai. Jeder weitere Anbieter mit echtem OpenAI-kompatiblem Endpunkt läuft ohne eine Zeile Code über kind: "custom", darunter die chinesischen Frontier-Labs und die verbreiteten Serverless-Inferenz-Hoster.
Failover, Fallback-Ketten, EU-only-Routing, Local-First
Vier Mechanismen gegen einen einzelnen Ausfallpunkt.
Automatischer Failover bei Netzwerkfehlern, 429 oder 5xx, ein echter 4xx bricht die Kette dagegen sofort ab. Konfigurierbare Fallback-Ketten wechseln bei Bedarf sogar die Provider-Art. EU-only-Routing erzwingt ausschließlich EU- oder lokal markierte Provider. Schlagen beide fehl und sieht der Fehler nach einem echten Verbindungsabbruch aus, routet Local-First-Fallback automatisch auf den ersten erreichbaren lokalen Provider um.
Cache: von 17,3 auf 0,3 Sekunden
Exact-Match und semantischer Abgleich, automatisch für jede Anfrage.
Ein Hash aus Modell und Nachricht trifft identische Anfragen direkt aus dem lokalen Vektor-Cache, ein zusätzlicher semantischer Abgleich über lokale Embeddings erkennt auch eine bloße Umformulierung. Gemessen an einem echten Modell-Aufruf: 17,3 Sekunden ohne Treffer gegenüber 0,26 bis 0,32 Sekunden mit Treffer.
Persistentes, app-übergreifendes Gedächtnis
Ein Fakt, einmal gemerkt, für jede angebundene Anwendung.
Nach jeder Antwort wird Frage und Antwort lokal mit Embedding gespeichert, bei einer thematisch ähnlichen, unabhängigen Anfrage automatisch als Kontext eingespielt, app-übergreifend. Verschlüsselt im selben Tresor wie Provider-Schlüssel, mit Herkunft und Konfidenzwert im Audit-Log als Abwehr gegen Gedächtnis-Vergiftung, pro Anfrage per Header abschaltbar.
PII-Anonymisierung mit einem Beweis statt einem Versprechen
Derselbe Z3-Solver, der Ausgaben verifiziert, sichert auch die Maskierung ab.
76 Standard-Entitätstypen werden lokal maskiert, bevor eine Anfrage einen Provider erreicht, IBAN-Erkennung mit echter ISO-7064-Mod-97-Prüfziffer statt reiner Formaterkennung. Ein echter Z3-SMT-Solver beweist danach formal, dass kein Originalwert mehr im ausgehenden Text steckt, ein Verstoß wird hart blockiert, nicht nur protokolliert.
Schlüssel-Tresor: nie im Klartext
Hardware- und OS-gebunden, auf jeder Plattform.
DPAPI unter Windows, Login-Keychain unter macOS, Secret Service unter Linux, AES-256-GCM-Datei-Fallback als letzte Stufe ohne Desktop-Sitzung. Nachprüfbar per Grep gegen die rohe Datenbankdatei, nicht nur behauptet.
Guardrails und hash-verkettetes Audit-Log
Rate-Limit, Budget-Kill-Switch, Circuit-Breaker, Prompt-Injection-Vorprüfung.
Ein Sliding-Window-Rate-Limit pro Gateway-Key, ein monatliches Budget mit echtem Kill-Switch aus den realen Provider-Kosten, ein Circuit-Breaker pausiert instabile Provider automatisch. Jede Routing-Entscheidung landet hash-verkettet im Audit-Log, ein Prüf-Endpunkt berechnet die gesamte Kette neu und meldet den ersten Bruch.
MCP-Gateway für Agenten-Frameworks
Kein ungeschützter Sonderpfad neben dem regulären Endpunkt.
POST /mcp spricht das Model Context Protocol über JSON-RPC 2.0, das Werkzeug chat_completion läuft durch denselben Kern wie /v1/chat/completions: Routing, Cache, PII-Maskierung und Gedächtnis greifen identisch. Echtes Provider-Passthrough-Streaming mit PII-sicherem Zwischenpuffer läuft für alle 13 Provider-Arten, Tool-Calls eingeschlossen.
Das Dashboard: kein Mockup
Jeder Screenshot ist eine echte Aufnahme der laufenden Anwendung.
Ein Chat-Testfeld schickt eine Frage an mehrere Modelle gleichzeitig, mit Latenz, Token-Verbrauch und PII-Zähler je Antwort. Live-Traffic gestapelt nach Routing-Ergebnis, ein Kosten-Dashboard aus echten, bereits abgerechneten Provider-Werten, dazu OpenTelemetry-Export und Preiskatalog-Sync, beides bewusst Opt-in statt automatischem Hintergrundverkehr. Seit dem Dashboard-Überarbeitung: durchgängige Toggle- und Slider-Bedienelemente statt Textfeldern, ein Drei-Wege-Theme-Umschalter (Hell/Dunkel/System), eine Info-Seite mit Version, Lizenz und verwendeten Open-Source-Bausteinen, Enterprise-Funktionen auch ohne Lizenz als Vorschau sichtbar statt komplett versteckt.
Router-Metadaten, Zero-Data-Retention-Routing und Presets
Drei neue Funktionen, die produktive Gateway-Nutzung schließen.
Der Header X-Oruni-Metadata: enabled liefert in jeder Antwort, auch im letzten Stream-Chunk, ein oruni_metadata-Feld: tatsächlicher Provider, Cache-Treffer, eingesprungener Fallback, maskierte PII-Stellen, eingeflossene Gedächtnis-Fakten, Dauer. Zero-Data-Retention-Routing beschränkt Anfragen wahlweise auf Provider ohne Datenspeicherung. Presets bündeln Modell und System-Prompt unter einem Namen wie preset/support-de.
Management-Keys, Prompt-Injection-Allowlist und SSO-Gruppen-Mapping
Gebaut für Plattformen, die auf oruni aufbauen, und für Enterprise-Logins.
Management-Keys, ein eigener, niedriger privilegierter Schlüsseltyp, erzeugen automatisch Gateway-Keys für eigene Kunden, ohne manuelle Dashboard-Interaktion. Eine Allowlist lässt gezielte Ausnahmen bei der Prompt-Injection-Erkennung zu, statt jeden Treffer pauschal zu blockieren. SSO-Gruppen-Rollen-Mapping bildet IdP-Gruppen beim Login automatisch auf oruni-Rollen ab, bei jedem Login neu ausgewertet.
Preise: Open-Core, kein Tokenpreis-Aufschlag
1.000 Dollar Modellkosten bleiben 1.000 Dollar.
Der Kern ist Apache-2.0 quelloffen und kostenlos, BYOK ohne eigene Marge. Ein verbreitetes Cloud-Gateway berechnet im Guthaben-Modus 5,5 Prozent Gebühr, oruni kennt diesen Aufschlag bei keinem Volumen. Enterprise-Funktionen sind separat pro Instanz oder Team lizenziert, Ed25519-signiert, ohne Cloud-Aktivierungsserver.
Enterprise: Governance, die sich beweisen lässt
SSO, Team-Gedächtnis, Ensemble-Voting, Formal-Verification.
SSO/OIDC mit PKCE gegen jeden Standard-Anbieter, Team-Gedächtnis mit Konfliktprüfung, Multi-Provider-Ensemble-Voting mit sichtbarer Kostensumme, automatische Sperre bei wiederholten Prompt-Injection-Treffern, Hub-and-Spoke-Policy-Verteilung ohne gemeinsamen Laufzeit-Zustand, Compliance-Reports und Cost-Center direkt aus den Audit-Log-Daten.
Radikale Transparenz statt Marketing-Fassade
Namentlich genannter Entwickler, offen benannte KI-Mitentwicklung.
Entwickelt von einer einzelnen, im Impressum namentlich genannten Person, Apache-2.0-Kern, kein Vendor-Lock-in, die baseURL in fünf Sekunden auf einen anderen Anbieter umstellbar. Die Rolle von KI-Systemen im eigenen Entwicklungsprozess wird offen benannt statt versteckt, menschliche Letztverantwortung für jede Zeile Code bleibt bestehen.
Roadmap
Was gezielt bis zum Rollout ausgebaut wird
- Vorkompilierte Linux- und macOS-Pakete (aktuell nur Windows-Release)
- Signierter Windows-MSI-Installer für Verteilung per Gruppenrichtlinie, SCCM oder Intune
- Unabhängiges externes Sicherheitsaudit des Open-Core-Teils
Ihr Projekt
Etwas Ähnliches für Ihr Unternehmen?
oruni ist eines von 22 Systemen, die ich vollständig selbst gebaut habe. Schreiben Sie mir kurz, worum es bei Ihnen geht.