Wäg en LiteLLM: dezelfde API, een andere laag
LiteLLM is een heel goed AI Gateway, en als u multi-provider routing achter één endpoint nodig hebt, blijft het u prima van dienst. Wäg spreekt dezelfde OpenAI-compatibele API en importeert LiteLLM-configuratie — niet om een gateway door een ander gateway te vervangen, maar omdat de meeste teams op een punt komen waarop niet het gateway het knelpunt is.
Geen concurrent op dezelfde laag
Hetzelfde OpenAI-compatibele API-oppervlak. Dezelfde configuratie, importeerbaar.
Hier gratis. Daar Enterprise.
Beide projecten zijn open source met een commerciële laag. De vraag was nooit of er een betaalde editie bestaat, maar waar elk project de grens trekt. De Enterprise-documentatie van LiteLLM somt op wat hun licentiesleutel aanzet, en het meeste daarvan is in Wäg Apache-2.0. Bij multi-tenancy is het verschil structureel: in hun gepubliceerde databaseschema draagt een organisatie een budget, uitgaventotalen en een ledenlijst, en een team verwijst ernaar via een optionele foreign key, wat het een groeperingsniveau boven teams maakt. In Wäg is een organisatie een autorisatiegrens waartegen elk verzoek wordt gecontroleerd. Waar wij dezelfde functie wél achter een licentie zetten, zegt de tabel dat.
| Functie | LiteLLM | Wäg |
|---|---|---|
| Multi-tenantarchitectuur: organisaties, teams, relatiegebaseerde toegang | Enterprise | Apache-2.0 |
| Rolgebaseerde toegangscontrole | Enterprise | Apache-2.0 |
| Budgetten onder de sleutel: per model, per applicatie | Enterprise | Apache-2.0 |
| Guardrails per sleutel en per team | Enterprise | Apache-2.0 |
| Beheerde guardrail-engines: moderatie, secret- en prompt-injectiedetectie | Enterprise | Apache-2.0 |
| Koppeling met secretmanagers: Vault, Key Vault, Secrets Manager | Enterprise | Apache-2.0 |
| Werking over meerdere regio's | Enterprise | Apache-2.0 |
| Beleid voor payloadlogging, per organisatie, met opt-out op lidniveau | Enterprise | Apache-2.0 |
| Hash-geketend, ondertekend verzoekbewijs | Niet vermeld | Apache-2.0 |
| Routering beperkt tot toegestane jurisdicties | Niet vermeld | Apache-2.0 |
| Rapportage van lokaal modelgebruik vanaf apparaten van medewerkers | Niet vermeld | Apache-2.0 |
| Agentidentiteit, runs en runlimieten | Niet vermeld | Apache-2.0 |
| Toolaanroepbeleid met menselijke goedkeuringen | Niet vermeld | Apache-2.0 |
| Dataflowcontrole: de dodelijke drie-eenheid | Niet vermeld | Apache-2.0 |
| MCP-toolpinning en quarantaine bij wijziging | Niet vermeld | Apache-2.0 |
| Kortlevende agentcredentials, geen permanente sleutels | Niet vermeld | Apache-2.0 |
| Toegangsrechten voor doorgestuurde aanroepen van API's van derden | Enterprise | Apache-2.0 |
| Het uitgaande webverkeer van een agent, per hostregel en per verbinding beslist | Niet vermeld | Apache-2.0 |
| Agentbetalingen: bestedingsmandaten en rails | Niet vermeld | Enterprise |
| Toolaanroepen van agents goedkeuren in Slack of Teams | Niet vermeld | Enterprise |
| Agents importeren uit Foundry, AWS, Entra Agent ID en Gemini Enterprise | Niet vermeld | Enterprise |
| TLS-inspectie van het uitgaande verkeer van agents | Niet vermeld | Enterprise |
| SSO voor de beheerconsole | Enterprise | Enterprise |
| SCIM-provisioning | Enterprise | Enterprise |
| JWT en OIDC op het datavlak | Enterprise | Enterprise |
| Auditpakketten met lange bewaartermijn | Enterprise | Enterprise |
| Guardrails op providereigen pass-throughverkeer | Niet vermeld | Enterprise |
| MCP-servers die handelen als de aangemelde gebruiker (OAuth) | Niet vermeld | Enterprise |
| Klantbeheerde encryptiesleutels, FIPS-statusrapportage | Niet vermeld | Enterprise |
| Eigen branding | Enterprise | Enterprise |
| Platformbudgetten die organisaties niet kunnen wijzigen | Niet vermeld | Enterprise |
| Een alleen-lezen auditorrol | Niet vermeld | Enterprise |
| Exit-export: alles wat een organisatie nodig heeft om over te stappen | Niet vermeld | Enterprise |
| Markering van AI-content: C2PA, watermerken, tekstvingerafdrukken | Niet vermeld | Enterprise |
| Handhaving op apparaten van medewerkers voor lokale modellen | Niet vermeld | Enterprise |
Eerlijk is eerlijk: hun Enterprise-laag bevat ook IP-allowlists en een SOC 2 Type II-rapport. Geen van beide hebben wij vandaag.
De kolom van LiteLLM komt uit hun eigen Enterprise-documentatie, die stelt dat een licentiesleutel de daar genoemde functies aanzet. Niet vermeld betekent dat een functie op die pagina niet wordt genoemd, wat iets anders is dan onmogelijk. De kolom van Wäg is de licentieverdeling die de gateway afdwingt: een Enterprise-functie is een module die een ondertekende licentie moet noemen. De agentregels met Niet vermeld zijn een Niet vermeld van een andere soort: hun agentgateway is helemaal geen Enterprise-functie, dus die mogelijkheden ontbreken in hun product in plaats van in hun licentie te zijn verrekend.
Beide leveren een agentgateway. Maar één bestuurt de agent.
LiteLLM voegde een A2A-agentgateway toe, en doet het voor de hand liggende goed: agents registreren, bepalen welke teams en sleutels ze mogen bereiken, de kosten toerekenen. Twee regels zijn echte gelijkspelen. De rest is waar de twee producten ophouden hetzelfde te zijn.
| Functie | LiteLLM | Wäg |
|---|---|---|
| A2A-agentgateway met toegangscontrole en kostentoerekening per agent | Ja | Ja |
| Een noodstop die de agent bij de gateway weigert | Webhook naar de agent | Ja |
| Limieten op één agentrun | Ja | Ja |
| Een toolaanroep die wacht op een benoemde goedkeurder, met de beslissing vastgelegd | Niet gedocumenteerd | Ja |
| Dataflowcontrole: een run die private data las, mag daarna geen uitgaande tool aanroepen | Niet gedocumenteerd | Ja |
| MCP-tooldefinities vastgezet en in quarantaine zodra de server ze wijzigt | Niet gedocumenteerd | Ja |
| Kortlevende agentcredentials gebonden aan één run, zonder permanente sleutels | Niet gedocumenteerd | Ja |
| Welke bestemmingen een agent mag bereiken, per aanroep beslist: toolbeleid, goedkeuring, dataflowlabel | Niet gedocumenteerd | Ja |
| Al het uitgaande webverkeer van de agent via de gateway, niet alleen zijn model- en toolaanroepen | Niet gedocumenteerd | Ja |
| Agents gevonden aan hun verkeer, niet alleen degene die iemand registreerde | Niet gedocumenteerd | Ja |
| Agents geïmporteerd en gesynchroniseerd uit Foundry, AWS Agent Registry, Entra Agent ID en Gemini Enterprise | Niet gedocumenteerd | Enterprise |
| Een vastgehouden toolaanroep goedgekeurd of geweigerd in Slack of Microsoft Teams | Niet gedocumenteerd | Enterprise |
| TLS-inspectie van het uitgaande verkeer van een agent, met requestregels en guardrails | Niet gedocumenteerd | Enterprise |
| Agentbetalingen: bestedingsmandaten, x402, AP2, ACP- en UCP-checkout | Niet gedocumenteerd | Enterprise |
De kolom van LiteLLM geeft weer wat hun eigen documentatie en hun publieke repository laten zien. Niet gedocumenteerd betekent dat de functie daar niet beschreven wordt, wat iets anders is dan onmogelijk. Drie regels verdienen de details. Hun noodstop vuurt een webhook af op de runtime van de agent en laat, in hun eigen woorden, de agent geregistreerd en ingeschakeld aan de LiteLLM-kant; de onze weigert de agent bij de gateway, op elke replica en regio, en beëindigt een stream die al loopt. Hun require_approval is het veld van OpenAI: op iets anders dan never gezet, gaat de toolaanroep terug naar de client om uit te voeren — er wordt niets vastgehouden, niemand genoemd, niets vastgelegd. En voor agentbetalingen levert een codezoekopdracht in hun repository naar x402 en AP2 helemaal niets op. Bij API's van derden zit het verschil niet in het doorsturen. Hun pass-through-endpoints routeren naar elke externe API met een credential in de configuratie, en rechten per sleutel en team zijn een Enterprise-functie. Wat ontbreekt is de beslissing: de bestemming is een statische route en niet iets wat een bepaalde agent wel of niet mag bereiken, geen regel leest de argumenten van de aanroep, geen goedkeuring kan hem vasthouden, hij draagt geen dataflowlabel en telt niet mee in een run.
Gevallen waarin LiteLLM het juiste antwoord is
En dat menen wij. Herkent u uw situatie hier, dan levert een control plane vooral operationeel oppervlak op dat u nog niet nodig hebt.
- Eén team, één of enkele services, en u wilt vandaag multi-provider.
- U gebruikt import litellm in applicatiecode vanwege de in-process routing en callbacks, en hecht daar direct waarde aan.
- U hebt eigen Python-callbacks in de request-levenscyclus waarvan herimplementatie echt werk zou zijn.
- Uw providerlijst bevat iets uit de long tail dat Wäg nog niet dekt.
- Uw governance-eisen worden werkelijk afgedekt door budgetten per key.
De symptomen, niet de functielijst
- Budgetten moeten aansluiten op uw organigram. Limieten per key kunnen niet uitdrukken: „dit team krijgt € 4.000, geen enkele gebruiker meer dan € 500, en de experimenten van marketing mogen de capaciteit van engineering niet opeten.”
- Policy moet gelden voor applicaties die er nooit voor kozen. Een regel die u alleen kunt afdwingen waar iemand eraan dacht die in te bouwen, is geen controlemaatregel.
- Agents hebben het oppervlak veel groter gemaakt. Uit één gebruikersbeurt volgen N model- en tool-calls richting externe MCP-servers. Auth per server, tool-ACL's en audit per hop zijn dan geen nice-to-have meer.
- Iemand vroeg wat AI vorig kwartaal per team kostte. En het antwoord vergde een dataproject in plaats van een dashboard.
- Compliance heeft vastleggingen nodig, geen voornemens. Sinds 2 augustus 2026 dragen de GPAI-handhavingsbevoegdheden en de transparantieverplichtingen uit artikel 50 van de EU AI Act een sanctierisico. Logging en traceerbaarheid moeten aantoonbaar zijn.
- Het gateway is dragend geworden. Zodra elk productpad erachter ligt, is een Python-proces met een interpreter en een bij deploy opgeloste dependency-boom een ander risicogesprek dan bij tien requests per minuut.
Wat helemaal niet verandert
Ontwerpkeuzes, geen functietelling
Functietabellen verouderen binnen een kwartaal. Dit zijn structurele keuzes die niet met een release veranderen.
| Dimension | LiteLLM | Wäg |
|---|---|---|
| Kernabstractie | Dispatch via provider-SDK's achter HTTP | Inference-request: modaliteit, operatie, levenscyclus, kosten, policy |
| Runtime | Python | Rust — één distroless, non-root binary |
| Levenscycli | Sync, streaming | Sync, streaming, duurzame async jobs, realtime-sessies |
| Routing | Strategiekeuze plus fallbacks | Structurele scoring → harde capability-ondergrenzen → goedkoopste geschikte; verklaarbaar via headers |
| Caching | Exact, optioneel semantisch | Exact → canoniek → near-dup → semantisch, met bescherming tegen valse treffers |
| Budgetten | Per key | Org → team → gebruiker → applicatie → model → key, gestapeld, met fair-share-plafonds; een overschrijding wordt geweigerd vóór providerkosten |
| Policy | Guardrail-hooks | Geordende keten: vóór de call, mid-stream in een venster, na de call |
| Agent / MCP | MCP- en A2A-gateway: auth per server, toegang per key en team | Plus toolbeleid met benoemde goedkeurders, dataflowregels, tool-pinning, runlimieten, budget en audit per hop |
| Lokale en on-device modellen | Als provider bereikbaar vanuit de proxy | Wäg Edge op laptops en in iOS- en Android-apps: aanmelding en rapportage open source, handhaving op apparaten en vlootbeheer met Enterprise |
| Identiteit | Master key plus virtuele keys | Plus OpenFGA-tenancy; OIDC SSO, SCIM 2.0 en IdP-tokens op /v1 met Enterprise |
| Kubernetes-levenscyclus | Officiële Helm chart; operators komen uit de community | First-party operator met een OLM-bundle, die de gateway en zijn catalogus reconcilieert; ook een Helm chart |
| Uitbreidingsmodel | Python-callbacks, in-process | HTTP-webhook-engines, buiten het proces |
| Leverancier | Gevestigd in de VS | Bitkaio Ltd, VK — Europees, buiten de EU |
Doet LiteLLM zijn werk, houd het dan. Als wat werkelijk onder druk staat governance is in plaats van routing, dan is dat een andere laag — en precies daarvoor is Wäg gebouwd.
Één endpoint. Elk model. Volledige controle.
Draai het in uw eigen infrastructuur
Alles wat u nodig hebt om een control plane in productie te draaien staat onder Apache-2.0 en blijft dat ook — routing, HA, caching, failover, budgetten, policy, MCP, jobs en observability. Self-hosted, zonder account, zonder phone-home.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>Geen werkende pull: de images zijn nog niet openbaar. Ontwerppartners krijgen de registrygegevens vertrouwelijk.
Implementeer in 5 minutenBepaal mee als design partner
Wäg is nog niet publiek beschikbaar. We werken met een kleine groep teams die multi-provider AI in productie draaien en governance en soevereiniteit serieus nemen, om de control plane te harden op echte workloads.
- Alle Enterprise-functies inbegrepen, zonder licentiekosten
- Migratie die we samen met u doen — ook vanaf LiteLLM
- Een directe lijn naar de engineers die het bouwen, en echte invloed op wat er als volgende komt