Trust & tenant isolationVertrauen & Mandantentrennung
Every tenant kept apart. Every claim with its status.Jeder Mandant getrennt. Jede Aussage mit Status.
How the platform separates tenants, what each isolation tier offers, and how a tenant is created, limited, exported and deleted — with what works today and what is still planned.Wie die Plattform Mandanten trennt, was jede Isolationsstufe bietet und wie ein Mandant angelegt, begrenzt, exportiert und gelöscht wird — mit dem, was heute funktioniert, und dem, was noch geplant ist.
Where we stand: the platform runs self-hosted (T0) or as a shared pool (T1). In the shared pool, database enforcement of tenant isolation for every service is in preview — enforced on the live dev stack, not yet on the Kubernetes environments. Dedicated (T2) and sovereign (T3) tiers are planned.Stand heute: Die Plattform läuft selbst betrieben (T0) oder als geteilter Pool (T1). Im Pool ist die Durchsetzung der Mandantentrennung in der Datenbank für jeden Dienst in der Vorschau — auf dem laufenden Dev-Stack erzwungen, auf den Kubernetes-Umgebungen noch nicht. Dedizierte (T2) und souveräne (T3) Stufen sind geplant.
Isolation tiersIsolationsstufen
One code path, four levels of separation.Ein Codepfad, vier Stufen der Trennung.
The tier decides what a tenant shares with others — not which features it gets. Each tier shows what works today and what is planned.Die Stufe entscheidet, was ein Mandant mit anderen teilt — nicht, welche Funktionen er bekommt. Jede Stufe zeigt, was heute funktioniert und was geplant ist.
T0
Self-hostedSelbst betrieben
Your own cluster or data centerIhr eigener Cluster oder Ihr Rechenzentrum
- Database, vector store and object storage are yoursDatenbank, Vektorspeicher und Objektspeicher gehören Ihnen
- Your models behind your gatewayIhre Modelle hinter Ihrem Gateway
- Your identity provider, your secrets storeIhr Identitätsanbieter, Ihr Secrets-Speicher
Today: Heute: The install profile for customer infrastructure is proven on a test cluster. The public repository and license are not published yet.Das Installationsprofil für Kundeninfrastruktur ist auf einem Testcluster belegt. Öffentliches Repository und Lizenz sind noch nicht veröffentlicht.
- Edition: self-hosted (open source, free)Edition: selbst betrieben (Open Source, kostenlos)PreviewVorschau
- Deployment: on-prem customer-infrastructure profileBetrieb: On-prem-Profil für KundeninfrastrukturAvailableVerfügbar
T1
Shared poolGeteilter Pool
Business customers, departments, trialsGeschäftskunden, Abteilungen, Testphasen
- Tenant context on every requestMandantenkontext bei jeder Anfrage
- Own gateway key, plan, quotas and budget per tenantEigener Gateway-Schlüssel, Plan, Kontingente und Budget je Mandant
- Signed service tokens between servicesSignierte Service-Tokens zwischen den Diensten
- Tenant-fair run queueMandantenfaire Ausführungs-Warteschlange
Today: Heute: Preview. On the live dev stack the database enforces tenant isolation for every service: each service has its own role and row-level security is forced on every tenant table. The Kubernetes environments are not switched over yet; there, tenant filters in the application code keep tenants apart.Vorschau. Auf dem laufenden Dev-Stack erzwingt die Datenbank die Mandantentrennung für jeden Dienst: Jeder Dienst hat eine eigene Rolle, Row-Level-Security ist auf jeder Mandantentabelle erzwungen. Die Kubernetes-Umgebungen sind noch nicht umgestellt; dort trennen Mandantenfilter im Anwendungscode.
- Multi-tenancy with row-level securityMandantenfähigkeit mit Row-Level-SecurityAvailableVerfügbar
- Per-tenant gateway identity, plans and enforced quotasGateway-Identität je Mandant, Pläne und durchgesetzte KontingenteAvailableVerfügbar
- Signed service-to-service tokens bound to tenant and user; authenticated vector store and message busSignierte Service-zu-Service-Tokens, an Mandant und Nutzer gebunden; Vektorspeicher und Message-Bus mit AuthentifizierungPreviewVorschau
- Database-enforced tenant isolation — own role per service, FORCE row-level security, cross-tenant leak testsIn der Datenbank erzwungene Mandantentrennung — eigene Rolle je Dienst, FORCE Row-Level-Security, Leak-Tests zwischen MandantenPreviewVorschau
T2
DedicatedDediziert
Regulated customers with physical data separationRegulierte Kunden mit physischer Datentrennung
- Own database instance per tenantEigene Datenbankinstanz je Mandant
- Own workers, shared control planeEigene Worker, gemeinsame Steuerungsebene
- Encryption keys per tenant, bring your own keySchlüssel je Mandant, eigener Schlüssel des Kunden
Today: Heute: Planned. The tenant export is built as the migration path from the shared pool.Geplant. Der Mandanten-Export ist als Umzugsweg aus dem geteilten Pool gebaut.
- Dedicated isolation tier: own database instance and workers per tenant, shared control planeDedizierte Isolationsstufe: eigene Datenbankinstanz und eigene Worker je Mandant, gemeinsame SteuerungsebenePlannedGeplant
- Encryption keys per tenant (envelope encryption), bring your own key in the dedicated tiersSchlüssel je Mandant (Envelope-Verschlüsselung), eigener Schlüssel des Kunden in den dedizierten StufenPlannedGeplant
T3
Sovereign siloSouveränes Silo
Public sector, health, finance, operator-internalÖffentliche Hand, Gesundheit, Finanz, Betreiber-intern
- An installation of its ownEine eigene Installation
- In the provider’s region or your data centerIn der Region des Anbieters oder in Ihrem Rechenzentrum
- Local models on your own GPUsLokale Modelle auf eigenen GPUs
Today: Heute: As an operated edition: planned. The install profile it would use exists (see T0).Als betriebene Edition: geplant. Das Installationsprofil, das sie nutzen würde, gibt es (siehe T0).
- Edition: Dedicated / Private Cloud (paid) — isolated instance, your region or data centerEdition: Dedicated / Private Cloud (kostenpflichtig) — isolierte Instanz, Ihre Region oder Ihr RechenzentrumPlannedGeplant
- On-prem model serving on own GPUs (vLLM stack in the install profile)On-prem-Modellbetrieb auf eigenen GPUs (vLLM-Stack im Installationsprofil)PreviewVorschau
Moving between tiers uses the same tenant export and import as backups and provider switches — one documented archive format.Der Wechsel zwischen Stufen nutzt denselben Mandanten-Export und -Import wie Backups und Anbieterwechsel — ein dokumentiertes Archivformat.PreviewVorschau
Per tenant, not per platformJe Mandant, nicht je Plattform
Keys, limits, bills and policies belong to the tenant.Schlüssel, Limits, Abrechnung und Richtlinien gehören dem Mandanten.
A gateway key per tenantEin Gateway-Schlüssel je Mandant
Every tenant calls the model gateway with its own virtual key: only its approved models, its own token and request limits, its own monthly budget. A suspended tenant’s key answers every call with 403.Jeder Mandant ruft das Modell-Gateway mit einem eigenen virtuellen Schlüssel auf: nur seine freigegebenen Modelle, eigene Token- und Anfragelimits, eigenes Monatsbudget. Der Schlüssel eines gesperrten Mandanten beantwortet jeden Aufruf mit 403.
AvailableVerfügbarLimitationsEinschränkungen
LiteLLM OSS: the scoped credential cannot change a key's budget, so budget changes rotate the key (old key valid 10 min). Quota counters fail open on infrastructure errors (budget reservation and gateway limits still apply). Fixed windows (minute/day/month, UTC); agents/seats/storage checks can overshoot by one under concurrent creates. Under FORCE RLS the SECURITY DEFINER lookups need a table-reading role. Plan catalogue values are editable in the DB only (per-tenant overrides in the UI). Tailnet cluster wiring is in gitops but not yet deployed.LiteLLM OSS: Der eingeschränkte Admin-Schlüssel kann das Budget eines Schlüssels nicht ändern, Budgetänderungen rotieren daher den Schlüssel (alter Schlüssel 10 min gültig). Die Kontingentzähler sind bei Infrastrukturfehlern fail-open (Budgetreservierung und Gateway-Limits greifen weiter). Feste Zeitfenster (Minute/Tag/Monat, UTC); Agenten-/Arbeitsplatz-/Speicherprüfung kann bei gleichzeitigem Anlegen um eins überschreiten. Unter FORCE RLS brauchen die SECURITY-DEFINER-Abfragen eine Rolle mit Lesezugriff. Plan-Standardwerte nur in der DB änderbar (Mandanten-Overrides in der Oberfläche). Tailnet-Cluster-Anbindung liegt in gitops, ist aber noch nicht ausgerollt.
Quotas and budgets that holdKontingente und Budgets, die halten
Plans set requests per minute, tokens per day and month, concurrent runs, agents, seats and knowledge storage — overridable per tenant. Over the limit, the platform answers 429 with a clear message and records the event.Pläne legen Anfragen pro Minute, Tokens pro Tag und Monat, gleichzeitige Läufe, Agenten, Plätze und Wissensspeicher fest — je Mandant überschreibbar. Über dem Limit antwortet die Plattform mit 429 und einer klaren Meldung und protokolliert das Ereignis.
AvailableVerfügbarBilling export per tenantAbrechnungsexport je Mandant
Usage without a tenant is rejected, duplicates are dropped by request id. Each month exports as CSV or JSON per model and use case — the basis for invoicing your own customers.Verbrauch ohne Mandant wird abgewiesen, Duplikate werden über die Request-ID verworfen. Jeder Monat lässt sich als CSV oder JSON je Modell und Use Case exportieren — die Grundlage für die Rechnung an Ihre eigenen Kunden.
AvailableVerfügbarPII protection in every chatPII-Schutz in jedem Chat
Each tenant sets one chat policy — detect, mask or block. Rules (patterns, checksums such as IBAN) always run; a model-based classifier on an EU-hosted model can be switched on in addition.Jeder Mandant legt eine Chat-Richtlinie fest — erkennen, maskieren oder blockieren. Regeln (Muster, Prüfsummen wie bei der IBAN) laufen immer; zusätzlich lässt sich ein modellbasierter Klassifikator auf einem in der EU gehosteten Modell einschalten.
AvailableVerfügbarLimitationsEinschränkungen
Verified on the local stack only, not yet deployed to the dev cluster; off by default. Measured latency 1.7–3.5 s per classifier call (p95 2.9 s in the scale view), within the default budget of 5 s. No evaluation set yet (precision/recall unmeasured). The chat policy covers every chat surface through the chat-input guard (browser-tested: Open Bot and API sessions; embed, channels, A2A, rooms, triggers, agent-to-agent calls and call transcripts are unit-tested only). Not checked: attachments, history written before the policy was switched on, model output; team sessions get the tenant policy without the member agents' overrides; if governance is unreachable a turn continues unchecked unless the tenant/agent is known to be fail-closed. Rule-based masking (patterns, checksums such as IBAN) remains the baseline.Nur auf dem lokalen Stack geprüft, noch nicht auf den Dev-Cluster ausgerollt; standardmäßig aus. Gemessene Latenz 1,7–3,5 s pro Klassifikator-Aufruf (p95 2,9 s in der Skalierungsansicht), innerhalb des Standard-Zeitbudgets von 5 s. Noch kein Evaluationsdatensatz (Präzision/Trefferquote nicht gemessen). Die Chat-Richtlinie deckt über die Chat-Eingangsprüfung jede Chat-Oberfläche ab (im Browser getestet: Open Bot und API-Sitzungen; Einbettung, Kanäle, A2A, Räume, Trigger, Agent-zu-Agent-Aufrufe und Anruf-Transkripte nur mit Unit-Tests). Nicht geprüft: Dateianhänge, Verläufe von vor dem Einschalten, Modellantworten; Team-Sitzungen erhalten die Mandanten-Richtlinie ohne die Einstellungen der Mitglieds-Agenten; ist Governance nicht erreichbar, läuft eine Nachricht ungeprüft weiter, außer der Mandant/Agent ist als fail-closed bekannt. Regelbasierte Maskierung (Muster, Prüfsummen wie IBAN) bleibt die Basis.
Signed tokens between servicesSignierte Tokens zwischen Diensten
Internal calls carry a short-lived token, signed by the calling service for one target, bound to the tenant and the acting user, valid once for 60 seconds. The vector store and the message bus require credentials.Interne Aufrufe tragen ein kurzlebiges Token, vom aufrufenden Dienst für genau ein Ziel signiert, an Mandant und handelnde Person gebunden, einmal und 60 Sekunden gültig. Vektorspeicher und Message-Bus verlangen Zugangsdaten.
PreviewVorschauLimitationsEinschränkungen
Replay protection is per process (jti cache). The internal service token is not gated by tenant status. Needs one key pair per service in OpenBao; dev-cluster rollout follows the deploy runbook.Der Replay-Schutz gilt je Prozess (jti-Cache). Das interne Service-Token wird nicht nach Mandantenstatus gesperrt. Braucht ein Schlüsselpaar je Dienst in OpenBao; der Rollout auf den Dev-Cluster folgt dem Deploy-Runbook.
Residency-aware model routingModell-Routing nach Datenresidenz
The gateway only routes to providers inside the data-protection regime you allow — own infrastructure, a country, EU/EEA or wider. Its configuration is generated from that setting.Das Gateway routet nur zu Anbietern innerhalb des erlaubten Datenschutz-Rechtsraums — eigene Infrastruktur, ein Land, EU/EWR oder weiter. Seine Konfiguration wird aus dieser Einstellung erzeugt.
AvailableVerfügbarLimitationsEinschränkungen
Adequacy lists change — ships as a dated list (data/jurisdictions.json); not legal advice. Jurisdiction of managed endpoints is declared by the operator, not verified. Per-key/per-team narrowing via LiteLLM key/team tags; the OAP UI shows only the gateway-wide policy. The dev cluster runs the policy “any approved provider” (global models allowed).Angemessenheitslisten ändern sich — wird als datierte Liste geliefert (data/jurisdictions.json); keine Rechtsberatung. Der Rechtsraum verwalteter Endpunkte wird vom Betreiber angegeben, nicht geprüft. Einschränkung je Schlüssel/Team über LiteLLM-Tags; die OAP-Oberfläche zeigt nur die Gateway-weite Richtlinie. Der Dev-Cluster läuft mit der Richtlinie „jeder freigegebene Anbieter“ (globale Modelle erlaubt).
For providers who resellFür Provider, die weiterverkaufen
Built for the operator in the middle.Gebaut für den Betreiber in der Mitte.
A telecom operator or regional cloud provider runs the platform and sells AI to its business customers. What it needs: every customer strictly apart, a limit and a bill per customer, and a clean exit when a contract ends. In our market research, hardly any agent platform treats this reseller case as a concept of its own — here it shapes the tenant model.Ein Telekom-Betreiber oder regionaler Cloud-Anbieter betreibt die Plattform und verkauft KI an seine Geschäftskunden. Was er braucht: jeden Kunden strikt getrennt, ein Limit und eine Abrechnung je Kunde und einen sauberen Ausstieg am Vertragsende. In unserer Marktrecherche behandelt kaum eine Agentenplattform diesen Wiederverkäufer-Fall als eigenes Konzept — hier prägt er das Mandantenmodell.
Today each business customer is its own tenant. There is no connector to a billing system yet; the export feeds yours.Heute ist jeder Geschäftskunde ein eigener Mandant. Einen Anschluss an ein Abrechnungssystem gibt es noch nicht; der Export beliefert Ihres.
Provider — e.g. a telecom operatorProvider — z. B. ein Telekom-Betreiber
Operates the platform, sets plans and prices, invoices its customers. A provider level with inherited policies and consolidated billing is planned.Betreibt die Plattform, legt Pläne und Preise fest, stellt seinen Kunden Rechnungen. Eine Provider-Ebene mit vererbten Richtlinien und gesammelter Abrechnung ist geplant.
PlannedGeplantBusiness customer = tenantGeschäftskunde = Mandant
Own gateway key, plan, quotas, budget and monthly billing export; suspend, export and purge per customer.Eigener Gateway-Schlüssel, Plan, Kontingente, Budget und monatlicher Abrechnungsexport; Sperren, Export und Löschung je Kunde.
AvailableVerfügbarDepartments and teamsAbteilungen und Teams
Spaces bundle agents, knowledge and apps for a team inside the tenant.Spaces bündeln Agenten, Wissen und Apps für ein Team innerhalb des Mandanten.
AvailableVerfügbar
Tenant lifecycleMandanten-Lebenszyklus
From the first day to a provable last one.Vom ersten Tag bis zu einem nachweisbaren letzten.
Provision — and check every hourAnlegen — und stündlich prüfen
An hourly canary provisions a synthetic tenant, answers a real chat turn, purges it again and verifies the deletion certificate. A failure raises an alert.Ein stündlicher Canary legt einen synthetischen Mandanten an, beantwortet einen echten Chat-Turn, löscht ihn wieder und prüft das Löschzertifikat. Ein Fehlschlag löst einen Alarm aus.
PreviewVorschauSuspend everywhereÜberall sperren
One switch blocks API keys and the tenant’s gateway key within a fraction of a second and ends signed-in sessions within 30 seconds. Resume restores everything.Ein Schalter sperrt API-Schlüssel und den Gateway-Schlüssel des Mandanten in Sekundenbruchteilen und beendet angemeldete Sitzungen innerhalb von 30 Sekunden. Entsperren stellt alles wieder her.
PreviewVorschauExport in a documented formatExport in dokumentiertem Format
A versioned archive: one JSON Lines file per table, the objects, the vectors and a manifest with schema version, counts and SHA-256 checksums — optionally sealed with a passphrase. The same archive imports into another installation.Ein versioniertes Archiv: je Tabelle eine JSON-Lines-Datei, die Objekte, die Vektoren und ein Manifest mit Schemaversion, Anzahlen und SHA-256-Prüfsummen — optional mit Passphrase versiegelt. Dasselbe Archiv lässt sich in eine andere Installation importieren.
PreviewVorschauPurge with a signed deletion certificateLöschen mit signiertem Löschzertifikat
After the grace period, the purge removes database rows, the vector collection, the object prefix and the gateway key, and issues a signed certificate. A tampered copy fails verification.Nach der Karenzzeit entfernt die Löschung Datenbankzeilen, Vektor-Collection, Objekt-Präfix und Gateway-Schlüssel und stellt ein signiertes Zertifikat aus. Eine manipulierte Kopie besteht die Prüfung nicht.
PreviewVorschauData subject requests, executedBetroffenenanfragen, ausgeführt
Access and portability (GDPR Art. 15/20) as an export limited to one person in one tenant; erasure (Art. 17) removes their rows and pseudonymises what has to be kept.Auskunft und Übertragbarkeit (DSGVO Art. 15/20) als Export, beschränkt auf eine Person in einem Mandanten; Löschung (Art. 17) entfernt ihre Daten und pseudonymisiert, was aufbewahrt werden muss.
PreviewVorschau
Export for switching providersExport-Funktion für den Anbieterwechsel
The EU Data Act removes switching and egress charges for cloud services from 12 January 2027. The tenant export is our building block for that switch: complete, in a documented and versioned format, importable elsewhere. This describes a function, not legal compliance — whether it meets your obligations is for your own review.Der EU Data Act lässt Wechsel- und Egress-Entgelte für Cloud-Dienste ab 12. Januar 2027 entfallen. Der Mandanten-Export ist unser Baustein für diesen Wechsel: vollständig, in einem dokumentierten und versionierten Format, anderswo importierbar. Das beschreibt eine Funktion, keine Rechtskonformität — ob sie Ihre Pflichten erfüllt, prüfen Sie selbst.
LimitationsEinschränkungen
Export and import run inside oap-iam in one snapshot; very large tenants are bounded by the work directory. LiteLLM coding-agent keys are not portable (rows imported as revoked). Imported tenants start suspended unless status=active is given. Import is API-only (no upload UI yet).Export und Import laufen in oap-iam in einem Snapshot; sehr große Mandanten sind durch das Arbeitsverzeichnis begrenzt. LiteLLM-Schlüssel der Coding-Agenten sind nicht übertragbar (Zeilen werden widerrufen importiert). Importierte Mandanten starten gesperrt, außer status=active wird angegeben. Import nur per API (noch keine Upload-Oberfläche).
Known gaps, statedBekannte Lücken, benannt
LimitationsEinschränkungen
JWT sessions end within the status cache TTL (30 s), not instantly; the internal service token is not gated by tenant status. Keycloak user deletion is implemented but not tested against a real Keycloak (skipped locally); Slack/WhatsApp/Teams webhook URLs must be removed by hand at the vendor (reported). Voice audio stored before the G3 fix (keys without tenant id) is not purged per tenant; Langfuse traces and caches are not covered. Audit/evidence/DSAR/consent rows are retained pseudonymised (10 / 3 years) in a separate table. Production profiles need TENANT_CERT_SIGNING_KEY. Not yet on the dev cluster.JWT-Sitzungen enden innerhalb der Status-Cache-Dauer (30 s), nicht sofort; das interne Service-Token wird nicht nach Mandantenstatus gesperrt. Das Löschen von Keycloak-Nutzern ist implementiert, aber nicht gegen ein echtes Keycloak getestet (lokal übersprungen); Slack-/WhatsApp-/Teams-Webhook-URLs müssen beim Anbieter von Hand entfernt werden (wird ausgewiesen). Sprachaufnahmen aus der Zeit vor dem G3-Fix (Schlüssel ohne Mandanten-ID) werden nicht mandantenweise gelöscht; Langfuse-Traces und Caches sind nicht abgedeckt. Audit-, Evidence-, DSAR- und Einwilligungsdaten bleiben pseudonymisiert (10 / 3 Jahre) in einer eigenen Tabelle erhalten. Produktionsprofile brauchen TENANT_CERT_SIGNING_KEY. Noch nicht auf dem Dev-Cluster.
LimitationsEinschränkungen
Subjects are matched by user id and e-mail columns; free-text mentions in chats or documents are not searched. Mandatory authorship references are kept and reported. No continuous retention sweeper yet (retention_policies still only documented).Betroffene werden über Nutzer-ID und E-Mail-Spalten gefunden; Freitext-Erwähnungen in Chats oder Dokumenten werden nicht durchsucht. Pflicht-Autorenverweise bleiben erhalten und werden ausgewiesen. Noch kein laufender Aufbewahrungs-Sweeper (retention_policies weiterhin nur dokumentiert).
LimitationsEinschränkungen
The synthetic agent is released without the evaluation gate (GV-01). Alert delivery is in-app + audit; wire the Prometheus gauge into Alertmanager per environment. Not yet on the dev cluster.Der synthetische Agent wird ohne Evaluations-Gate (GV-01) freigegeben. Alarmierung in der App + Audit; die Prometheus-Metrik muss je Umgebung an den Alertmanager angebunden werden. Noch nicht auf dem Dev-Cluster.
Certifications and regulationZertifizierungen und Regulierung
What we say — and what we don’t.Was wir sagen — und was nicht.
The platform itself holds no certification. Operated on Exoscale SKS, the infrastructure layer runs on Exoscale, whose infrastructure is attested to BSI C5 Type 2 and ISO 27001 — those are the provider’s attestations, not ours.Die Plattform selbst ist nicht zertifiziert. Auf Exoscale SKS betrieben, läuft die Infrastrukturebene bei Exoscale, deren Infrastruktur nach BSI C5 Typ 2 und ISO 27001 attestiert ist — das sind Atteste des Anbieters, nicht unsere. SKS profile: PreviewSKS-Profil: Vorschau
For the EU AI Act, the platform gives operators building blocks — a use-case registry with a suggested risk class, an audit log, human approvals. It does not make a system compliant; the classification stays your decision.Für die KI-Verordnung gibt die Plattform Betreibern Bausteine — ein Use-Case-Register mit vorgeschlagener Risikoklasse, ein Audit-Log, menschliche Freigaben. Sie macht kein System konform; die Einstufung bleibt Ihre Entscheidung. AvailableVerfügbar
Every status on this page comes from one registry with its evidence. When in doubt, a feature gets the lower status.Jeder Status auf dieser Seite stammt aus einem Register samt Nachweis. Im Zweifel bekommt ein Feature den niedrigeren Status. Status & roadmapStatus & Roadmap
ScaleSkalierung
Measured, not promised. The model is the bottleneck.Gemessen, nicht versprochen. Der Engpass ist das Modell.
We load-tested the chat path with 54 tenants and a reproducible harness. The platform adds little time of its own, throughput grows linearly with execution slots, and a noisy tenant no longer delays everyone else.Wir haben den Chat-Pfad mit 54 Mandanten und einem reproduzierbaren Lasttest gemessen. Die Plattform fügt wenig eigene Zeit hinzu, der Durchsatz wächst linear mit den Ausführungsplätzen, und ein lauter Mandant bremst die anderen nicht mehr aus.
Tenant-fair workers: PreviewMandantenfaire Worker: VorschauPer-stage metrics: PreviewMetriken je Stufe: Vorschau
~130 ms~130 ms
platform time per chat turnPlattformzeit pro Chat-Turn
Median of sign-in check, PII rules, intake, queue, worker pickup and saving — everything except the model.Median aus Anmeldeprüfung, PII-Regeln, Annahme, Warteschlange, Worker-Übernahme und Speichern — alles außer dem Modell.
~95 %~95 %
of a turn is model timeeines Turns sind Modellzeit
With a simulated model answering in 2.8 s, a turn took 2.96 s end to end.Mit einem simulierten Modell, das in 2,8 s antwortet, dauerte ein Turn 2,96 s von Ende zu Ende.
≈ 160/min≈ 160/min
turns from one worker processTurns aus einem Worker-Prozess
One run worker with 8 parallel runs: 155–163 turns per minute — as much as 8 separate worker processes before.Ein Run-Worker mit 8 parallelen Läufen: 155–163 Turns pro Minute — so viel wie vorher 8 getrennte Worker-Prozesse.
8.9 s → 2.8 s8,9 s → 2,8 s
wait for quiet tenants next to a noisy oneWartezeit ruhiger Mandanten neben einem lauten
Time to first token (median) of 8 quiet tenants while one tenant floods the queue — before and after the tenant-fair queue.Zeit bis zum ersten Token (Median) von 8 ruhigen Mandanten, während ein Mandant die Warteschlange flutet — vor und nach der mandantenfairen Warteschlange.
| SlotsPlätze | SetupAufbau | Turns per minuteTurns pro Minute |
|---|---|---|
| 1 | 1 worker1 Worker | |
| 2 | 2 workers2 Worker | |
| 4 | 4 workers4 Worker | |
| 8 | 1 worker × 8 parallel1 Worker × 8 parallel |
What else the measurement showedWas die Messung außerdem zeigte
- With a very fast simulated model, one worker process reached about 1,900 turns per minute — the platform’s own ceiling is far above what a model delivers.Mit einem sehr schnellen simulierten Modell erreichte ein Worker-Prozess rund 1.900 Turns pro Minute — die Obergrenze der Plattform liegt weit über dem, was ein Modell liefert.
- Knowledge search held 67 ms up to 480 requests per second.Die Wissenssuche blieb bis 480 Anfragen pro Sekunde bei 67 ms.
- The real limit is model capacity: one GPU replica of a 27-billion-parameter model saturated at about 16 parallel requests — roughly 90 to 130 simple turns per minute. Plan model capacity per model.Die echte Grenze ist die Modellkapazität: Eine GPU-Replik eines Modells mit 27 Milliarden Parametern war bei rund 16 parallelen Anfragen gesättigt — grob 90 bis 130 einfache Turns pro Minute. Modellkapazität je Modell planen.
- Agents with tools need 3 to 6 model calls per turn; they now show progress within about 0.4 s.Agenten mit Werkzeugen brauchen 3 bis 6 Modellaufrufe pro Turn; sie zeigen jetzt nach rund 0,4 s Fortschritt.
Caveat:Vorbehalt: Measured on a shared developer laptop (16 cores, already busy with other work) in development mode, with a simulated model; short, capped runs against real models. The ratios hold; the absolute numbers are a lower bound for dedicated hardware — not a production benchmark and not a guarantee.Gemessen auf einem geteilten Entwickler-Laptop (16 Kerne, parallel ausgelastet) im Entwicklungsmodus mit simuliertem Modell; kurze, gedeckelte Läufe gegen echte Modelle. Die Verhältnisse sind belastbar; die absoluten Zahlen sind eine Untergrenze für dedizierte Hardware — kein Produktions-Benchmark und keine Zusage.