flexway
FRENParler à un expert

Un seul point de décision pour vos API, vos modèles, vos agents et vos événements.

  • REST
  • gRPC
  • SSE
  • MCP
  • A2A
  • Kafka
  • AMQP
  • MQTT
  • /v1
  • Auto-hébergé
  • sans base de données
  • sans enregistrement chez l'éditeur

Plan de la plateforme Flexway

Votre infrastructurePlan de contrôle GitOpspilote la passerelle, reçoit sa télémétrieflexwayPasserelle API, IA et agentsChaîne de décision unifiéeHuit domaines · fonctionnalités présentées, livrées au tag v1.6.3Proxy Kafka natifhors chaîne HTTP · ACL et quotas : en partieÉcouteur MQTTPrévu en 1.7429quota dépassé :l'amont n'est jamais appelé01 Contratservi = déclaré02 IdentitéOIDC · mTLS03 Quotasdébit · tenant04 Politiquesschéma · CEL05 Relaissans tamponAPI12 sur 13Sécurité11 sur 12Trafic14 sur 14Transformations14 sur 16IA11 sur 13Agents : MCP et A2A8 sur 9Asynchrone8 sur 9Exploitation18 sur 19Apps web et mobilesREST · gRPC · gRPC-WebPartenairesmTLS · clé d'APIAgents IAMCP · OAuth 2.1NavigateursREST · SSE · WebSocketProducteurs KafkaKafka natifAppareils MQTTPrévu en 1.7ServicesREST · gRPCSystèmes existantsREST traduit en gRPCServeurs MCPfédérés · un auditModèles internescompatible OpenAICourtiersKafka, AMQP, MQTT, NATSFournisseurs d'IAbudget € · repliWebhooks partenairessignés · rejouablesContrat dans Gitversionné, validéFournisseur OIDCjetons · JWKSConsolepropose en pull requestOpenTelemetrytraces · métriquesSecretsfichier · variable503Votre infrastructurePlan de contrôle GitOpspilote la passerelle, reçoit sa télémétrieflexwayPasserelle API, IA et agentsChaîne de décision unifiéeHuit domaines · présentées, livrées42901 Contratservi = déclaré02 IdentitéOIDC · mTLS03 Quotasdébit · tenant04 Politiquesschéma · CEL05 Relaissans tamponAPI12 sur 13Sécurité11 sur 12Trafic14 sur 14Transformations14 sur 16IA11 sur 13Agents : MCP et A2A8 sur 9Asynchrone8 sur 9Exploitation18 sur 19Apps web et mobilesREST · gRPC · gRPC-WebPartenairesmTLS · clé d'APIAgents IAMCP · OAuth 2.1NavigateursREST · SSE · WebSocketProducteurs KafkaKafka natifAppareils MQTTPrévu en 1.7ServicesREST · gRPCSystèmes existantsREST traduit en gRPCServeurs MCPfédérés · un auditModèles internescompatible OpenAICourtiersKafka, AMQP, MQTT, NATSFournisseurs d'IAbudget € · repliWebhooks partenairessignés · rejouablesContrat dans GitFournisseur OIDCConsoleOpenTelemetrySecrets503

Plan de la plateforme : les applications web et mobiles, les partenaires, les agents IA et les navigateurs appellent Flexway, dans votre infrastructure ; chaque requête suit la Chaîne de décision unifiée : contrat, identité, quotas, politiques, relais. Flexway, passerelle API, IA et agents, est le point de passage unique : toutes les lignes entrent par une seule porte et ressortent par une seule. Les producteurs Kafka passent par le proxy Kafka natif, un couloir à part qui ne traverse pas ces cinq stations. Flexway regroupe huit domaines : API, Sécurité, Trafic, Transformations, IA, Agents, Asynchrone, Exploitation. Il sert vos services REST et gRPC, vos systèmes existants, vos serveurs MCP fédérés, vos modèles internes et vos courtiers Kafka, AMQP, MQTT et NATS ; hors de votre infrastructure, les fournisseurs d'IA et les webhooks des partenaires. Toutes les possibilités sont tracées : les applications web et mobiles atteignent vos services, vos systèmes existants, vos courtiers, les webhooks des partenaires, vos modèles internes et les fournisseurs d'IA ; les partenaires, vos services, vos systèmes existants, vos modèles internes et les fournisseurs d'IA ; les navigateurs, vos services, vos systèmes existants et vos courtiers, en SSE ou WebSocket ; les agents IA, des outils projetés vers vos services, des outils de vos serveurs MCP, vos courtiers par un outil qui publie, vos modèles internes et les fournisseurs d'IA par la surface compatible OpenAI. Six scénarios en lisent un trajet pas à pas. Le Plan de contrôle GitOps, dans son propre cadre, pilote la passerelle et reçoit sa télémétrie : contrat dans Git, fournisseur OIDC, console qui propose en pull request, OpenTelemetry, secrets. Un partenaire au-delà de son quota reçoit un 429 sans que le service soit appelé. À venir : les appareils MQTT, par l'écouteur MQTT des appareils.

  • Apps web et mobiles
  • Partenaires
  • Agents IA
  • Navigateurs
  • Producteurs Kafka
  1. Contrat
  2. Identité
  3. Quotas
  4. Politiques
  5. Relais
  • Services
  • Systèmes existants
  • Serveurs MCP
  • Modèles internes
  • Courtiers
  • Fournisseurs d'IA
  • Webhooks partenaires

quota dépassé : l'amont n'est jamais appelé

Apps web et mobiles
Vos applications web et mobiles : elles appellent vos API en REST, gRPC ou gRPC-Web, et chaque appel passe par la décision de Flexway.
Partenaires
Les entreprises partenaires qui consomment vos API : identifiées par certificat client ou clé d'API, sous un quota par tenant.
Agents IA
Les agents IA : ils appellent des outils MCP et des modèles par Flexway, sous la même identité, le même quota et le même audit qu'une API.
Navigateurs
Les navigateurs : appels REST et flux temps réel (SSE, WebSocket), relayés par Flexway sans mise en tampon.
Producteurs Kafka
Vos producteurs et consommateurs Kafka : ils se branchent sur le proxy Kafka natif de Flexway, sans changer de bibliothèque.
Appareils MQTT
Prévu en 1.7 : Des appareils qui publient en MQTT : Flexway les recevra par son écouteur MQTT, avec une identité et un quota par appareil.
Contrat
Flexway ne sert que ce que votre contrat OpenAPI, AsyncAPI ou Protobuf déclare ; le reste reçoit 404 sans atteindre vos services.
Identité
Flexway vérifie qui appelle (jeton OIDC, clé d'API ou certificat client) et lit le tenant dans l'identité ; sans identité valide : 401.
Quotas
Flexway limite le débit de chaque appelant puis le quota du tenant au jour et au mois ; au-delà : 429, avec Retry-After.
Politiques
Les politiques de la route : schéma du contrat, transformations, cache isolé par tenant, appel à un service de décision qui peut refuser.
Relais
Flexway relaie vers l'amont sans tampon, sous un délai borné et un coupe-circuit ; chaque décision laisse une trace OpenTelemetry.
API
Le contrat est la configuration : un OpenAPI 3.1 suffit pour servir, valider et relayer.
Sécurité
Jetons de plusieurs émetteurs, portées et rôles du contrat, clés d'API, certificats clients.
Trafic
Débit par appelant, quotas par tenant, délestage, délais, reprises et coupe-circuits : la passerelle refuse proprement plutôt que de tomber.
Transformations
En-têtes, chemin, corps et codes de statut remodelés, cache, appel externe et politiques CEL, sans toucher à l'amont.
IA
Une surface compatible OpenAI devant vos modèles : budgets en jetons et en euros par tenant, repli ordonné.
Agents : MCP et A2A
Les opérations marquées deviennent des outils MCP sous la même décision que REST ; serveurs MCP fédérés.
Asynchrone
Publier sur Kafka, AMQP ou MQTT depuis HTTP, avec les mêmes portes ; webhooks signés et rejouables.
Exploitation
Journaux, métriques et traces OpenTelemetry, et une console riche qui ne touche jamais la production : un changement devient une pull request.
Services
Vos services REST et gRPC : ils ne reçoivent que les requêtes que Flexway a laissées passer, sous délai et coupe-circuit.
Systèmes existants
Vos systèmes existants : un service gRPC devient appelable en REST, sans réécriture, par les descripteurs Protobuf.
Serveurs MCP
Vos serveurs MCP existants, fédérés derrière Flexway : leurs outils passent sous la même autorisation, le même quota et le même audit.
Modèles internes
Vos modèles internes, appelés par la surface compatible OpenAI ; une requête sensible y est épinglée.
Courtiers
Vos courtiers Kafka, AMQP, MQTT et NATS : Flexway y publie sous contrat AsyncAPI, en enveloppe CloudEvents.
Fournisseurs d'IA
Les fournisseurs d'IA hors de votre infrastructure : leurs clés restent dans Flexway, chaque appel compte au budget du tenant.
Webhooks partenaires
Les systèmes de vos partenaires : ils reçoivent vos événements en webhooks signés et rejouables.
Contrat dans Git
Votre dépôt Git : le contrat et flexway.yaml y sont versionnés et validés hors ligne ; c'est la seule source de la configuration.
Fournisseur OIDC
Votre fournisseur d'identité OIDC : il émet les jetons, Flexway lit ses clés et vérifie chaque jeton.
Console
La console de Flexway : elle observe le trafic et propose les changements en pull request, sans jamais écrire en production.
OpenTelemetry
OpenTelemetry : traces et métriques de chaque décision, envoyées vers votre observabilité.
Secrets
Vos secrets : des références (fichier, variable) résolues à l'exécution, jamais de valeur en clair dans la configuration.
Proxy Kafka natif
Le proxy Kafka natif : les clients Kafka s'y branchent en protocole Kafka, hors de la chaîne HTTP, avec un cluster virtuel par tenant.
Écouteur MQTT
Prévu en 1.7 : L'écouteur MQTT des appareils, en proxy devant votre courtier, avec identité et quota par appareil.
  • Accès possible par Flexway
  • Ligne : un trajet
  • Correspondance : décision partagée
  • Requête
  • Événement
  • Appel de modèle ou d'outil
  • Refus
  • Couloir à part, hors chaîne HTTP
  • Votre infrastructure
  • Plan de contrôle GitOps
  • Prévu
  1. 01 ContratL'opération ou le canal est déclaré ; sinon 404, l'amont n'est pas appelé
  2. 02 IdentitéL'origine (CORS), puis le jeton (iss, aud, portées), la clé d'API ou le certificat client ; le tenant est lu dans l'identité
  3. 03 QuotasDébit par appelant, puis quota du tenant au jour et au mois, sur toute route, /v1/** compris
  4. 04 PolitiquesSchéma du contrat (422), transformations d'en-têtes et de corps, conditions CEL compilées au chargement (une condition fausse saute la politique), service de décision à délai borné qui peut refuser (403), cache isolé par tenant
  5. 05 RelaisJeton échangé si l'amont l'exige ; pour l'IA, backend choisi (sensible -> interne), budget réservé avant l'appel, repli ; délai borné, coupe-circuit, relais sans tampon ; une trace OpenTelemetry par décision

Votre infrastructure : rien n'en sort, sauf les appels que votre configuration déclare.

Composez le vôtre dans l'éditeur

Ce qui est livré, et sa preuve

Quatre piliers, chacun adossé à ce qui est livré.

L'accès aux modèles, gouverné et budgété

Vos applications appellent une seule surface compatible OpenAI ; les clés des fournisseurs restent dans la passerelle, chaque appel est authentifié, chaque tenant a son budget en jetons et en euros, un fournisseur en panne est remplacé avant le premier octet.

budget:
  store: "${COUNTERS_URL}"
  monthly_tokens: 40000000
  monthly_eur: 50
  soft: { at: 0.8, backend: eu-small }
examples/ai-cost/flexway.yaml, livré avec v1.6.3

Livré · depuis v0.1.0Codes de refusbudget_exceededsensitive_no_internal_backendVoir la page

Des agents sous contrôle

Les opérations marquées de vos contrats deviennent des outils MCP, sous la même décision que REST ; chaque agent ne voit que les outils de ses portées, et la trace relie l'agent, l'outil, l'API et le système appelé.

/orders/{id}:
  get:
    operationId: getOrder
    summary: Read one order
    x-flexway-tool: true
examples/mcp-tools/openapi.yaml, livré avec v1.6.3

Livré · depuis v0.1.0Voir la page

La Chaîne de décision unifiée, pour toutes les surfaces

REST, gRPC, flux, MCP, A2A (en cours), inférence et courtiers (publication HTTP) passent par la même Chaîne de décision unifiée : le contrat la déduit, et la section ai: déclare la surface d'inférence ; ce qui n'est pas déclaré n'existe pas.

version: 1
contracts:
  openapi: ./openapi.yaml
upstreams:
  default:
    url: http://orders.internal:8080
examples/rest-minimal/flexway.yaml, livré avec v1.6.3

Livré · depuis v1.5.0Codes de refusnot_foundVoir la page

Souverain et exploitable

Un binaire auto-hébergé, des images signées ; métriques, coûts estimés et traces OpenTelemetry dans une console qui ne modifie jamais la production.

Commandeflexway validate

Livré · depuis v1.3.0Opérer comme du code

Et aussi

  • Le contrat est la configuration
  • Multi-tenant de naissance
  • Une configuration qui ne casse pas la production
  • Une console qui ne touche jamais la production
  • Toutes les fonctionnalités dans chaque formule

145 fonctionnalités livrées sur 211, dans la version v1.6.3 - relevé du catalogue de la version publiée.

Exploiter · Plan de contrôle GitOps

Opérer Flexway comme du code

La configuration vit dans Git. Elle est validée en CI sans grappe, déployée comme vous déployez déjà, rechargée à chaud ; la console observe et propose, une personne fusionne. Rien ne modifie la production en dehors de Git.

La ligne GitOps de Flexway : Git, valider en CI, déployer, recharger à chaud, observer, proposer, pull request, retour à Git ; une configuration invalide est refusée et la version en cours continue de servir ; une console pour plusieurs passerelles est prévue, sans version.configuration invalide : refusée, la version en cours sertprévu, à dater : une console pour toutes vos passerelles1Gitconfiguration et contrats2Valider en CIflexway validate3DéployerHelm, conteneur, binaire4Recharger à chaudaucune requête perdue5Observerrepères, SLO6Proposerun diff simulé7Pull requestrevue, fusion -> Git
  1. 1 · Gitflexway.yaml et vos contrats, versionnés et revus.
  2. 2 · Valider en CIflexway validate hors ligne, sans grappe ; code de sortie non nul sur erreur, empreinte de la configuration imprimée.Livré · depuis v0.1.0
  3. 3 · DéployerChart Helm, conteneur ou binaire ; votre outil GitOps réconcilie.Livré · depuis v0.1.0
  4. 4 · Recharger à chaudLa nouvelle version est prise sans redémarrage ni requête perdue, flux en cours compris.Livré · depuis v0.1.0
  5. 5 · ObserverChaque rechargement marqué sur toutes les courbes de la console ; budgets d'erreur par opération.Livré · depuis v1.3.0
  6. 6 · ProposerUn diff, simulé sur la configuration proposée ; jamais une écriture vers la passerelle.Livré · depuis v1.2.0
  7. 7 · Pull requestLe commit porte exactement le diff revu ; « appliquée » quand toutes les répliques servent la nouvelle empreinte. Retour à Git.Livré · depuis v1.2.0
  8. RefusConfiguration invalide : refusée et journalisée, la version en cours continue de servir.Livré · depuis v0.1.0

Limite : l'ouverture de la pull request vise un dépôt GitHub aujourd'hui. Les guides : Changer la configuration sans redémarrer · Proposer un changement depuis la console

Une console moderne qui propose, n'écrit jamais

Vue d'ensemble de la console Flexway : trafic, erreurs et latence par opération, données de démonstrationVue d'ensemble de la console Flexway : trafic, erreurs et latence par opération, données de démonstration
Capture réelle de la console, données de démonstration.
  • Proposer depuis l'écran qui montre : un diff, simulé, puis une pull request sous les règles de votre dépôtLivré · depuis v1.2.0
  • Journal des propositions : qui, quel diff, écart à la fusionLivré · depuis v1.2.0
  • Sans backend de métriques ni de traces : la passerelle pousse en OTLP vers la consoleLivré · depuis v1.3.0
  • Objectifs par opération : budget d'erreur restant, consommation sur plusieurs fenêtres, alerte intégréeLivré · depuis v1.3.0
  • Un repère par rechargement sur chaque courbeLivré · depuis v1.3.0
  • Au doigt sur téléphone et tablette : panneaux, silences, propositionsLivré · depuis v1.4.0

Un binaire, partout

Pas de base de données, pas de plan de contrôle à installer, pas d'enregistrement auprès d'un service de l'éditeur : un binaire et un fichier.

Postedocker run pour un essai, à l'ouverture publique
VM, serveurBinaire amd64 ou arm64, sommes signées, sous systemd
ConteneurImage distroless non root, multi-architecture
KubernetesChart Helm installé sur une grappe nue à chaque changement du chart ; tableau de bord et alertes fournis
  • Répliques sans état sur le chemin : compteurs partagés réconciliés en asynchrone, décision locale sans aller-retourLivré · depuis v0.1.0
  • Une réplique surchargée déleste au lieu de tomberLivré · depuis v0.2.0
  • Santé de chaque réplique dans la consoleLivré · depuis v1.4.0
  • Plusieurs hôtes, chacun ses contrats, conflits détectés au chargement ; le même binaireLivré · depuis v0.1.0

Limite : la répartition entre répliques reste au bord ou au maillage.

Les topologies de déploiement, une par besoin

Une console pour toutes vos passerelles

Une seule console devant plusieurs passerelles, par portées déclarées (passerelles, source de métriques, dépôt, groupes par rôle) ; vue d'ensemble qui additionne les compteurs, jamais les percentiles ; vos rôles appliqués dans chaque portée.

  • Console partagée par portéesÀ dater
  • Fragments de politique communs entre passerellesÀ dater
  • Mode edge : le même binaire sur un site, configuration signée tiréePrévu en 1.11

Aujourd'hui : une console par passerelle et ses répliques. La version s'affichera d'elle-même le jour où la feuille de route en nommera une.

Les atouts · chez vous

Ce que vous ne trouverez pas ailleurs

Quatre choses que Flexway fait d'origine, dans votre infrastructure, sans service tiers ; puis tous ses atouts, livrés ou à venir, chacun avec son statut dans la version publiée.

Savoir avant de déployer

Décrivez une requête : Flexway rend le verdict, l'opération, la chaîne effective et la requête que l'amont recevrait. Rien n'est appelé, débité ni compté. La console montre la chaîne effective de chaque route et l'essaie à blanc ; l'éditeur d'architecture de ce site simule avant la première ligne.

4 livréesdepuis v0.1.0

Console Flexway, écran Politiques : la chaîne effective d'une route, étape par étapeConsole Flexway, écran Politiques : la chaîne effective d'une route, étape par étape
curl -s localhost:9090/simulate -d '{"method":"GET","host":"api.example.com","path":"/orders?status=open",
Commande du guide « Observer », au tag v1.6.3
  • Chez vous : sur le port d'administration de votre passerelle ; la simulation ne sort pas de votre infrastructure.
  • Limite : un appel externe déclaré n'est jamais appelé en simulation ; un lecteur de la console simule dans son tenant seulement.

Guide : Observer · Lire avec la console · v1.6.3

Multi-tenant de bout en bout, natif

Le tenant vient d'une source vérifiée et s'applique partout, pas seulement au routage. Un test d'isolation tourne à chaque modification ; le cache authentifié ne s'active pas sans lui.

7 livrées1 en partiedepuis v0.1.0

OùCe qui est garanti
IdentitéLe tenant vient d'une claim signée, d'une clé d'API, d'un certificat ou d'un maillage de confiance ; la valeur que le client écrit n'atteint jamais l'amont
Quotas et budgetsComptés par tenant : un tenant ne consomme pas le quota d'un autre
CacheUne réponse authentifiée est cachée par tenant et par personne ; test d'isolation à chaque PR
Plan asynchroneUn abonné ne lit que son tenant ; un canal peut être lié à une personne
Kafka natifUn cluster virtuel par tenant ; aucun nom d'un autre tenant, ni dans une réponse, ni vers le courtier ; preuve par mutation à chaque PR
ChiffrementUn champ chiffré est lié à son tenant, son topic et son chemin : copié ailleurs, il ne se déchiffre pas
ConsoleUn compte lié à un tenant ne voit que lui ; ailleurs, 403
Tableau du guide « Isolation multi-tenant », au tag v1.6.3
  • Chez vous : vos tenants vivent dans votre passerelle ; aucun ne transite par un service de l'éditeur.
  • Limite : isolation logique dans une passerelle partagée (une passerelle par client pour une isolation physique) ; ACL et quotas Kafka en partie.

Guide : Isolation multi-tenant · v1.6.3

Observabilité intégrée, sans pile externe

La console a sa propre source de métriques : latences p50, p95 et p99, erreurs par code, objectifs SLO et budget d'erreur, alertes, traces des requêtes lentes, un repère à chaque rechargement, nouvelle erreur détectée, liens partageables. Au téléphone aussi.

19 livrées5 en partiedepuis v1.3.0

Console Flexway, écran Traces : les requêtes lentes ou en erreur gardées par la console, étape par étapeConsole Flexway, écran Traces : les requêtes lentes ou en erreur gardées par la console, étape par étape
  • Chez vous : aucun service tiers d'observabilité, aucune donnée qui sort ; OpenTelemetry pour qui veut aussi sa pile.
  • Limite : une console lit une passerelle ; certaines vues ont leurs données livrées et leurs écrans à suivre ; la console partagée est à dater.

Guide : Observabilité et console · Objectifs SLO · v1.6.3

Reprendre l'existant

La configuration d'une passerelle existante se reprend une fois, hors ligne. Flexway écrit une configuration validée par son chargeur du démarrage, le contrat annoté et un rapport qui classe chaque élément : repris, repris autrement ou sans équivalent. Rien n'est inventé.

1 livréedepuis v1.1.0

$ flexway import "$FORMAT" --config "$CONFIG" --contract openapi.yaml --out ./import
#   ./import/flexway.yaml
#   ./import/openapi.yaml
#   ./import/contract.patch.json
#   ./import/coverage.md
Commande et fichiers écrits, d'après le guide « Reprendre une passerelle existante », au tag v1.6.3 ; le format d'entrée y est nommé
  • Chez vous : hors ligne, sans connexion à l'ancienne passerelle ni à un service.
  • Limite : un format d'entrée aujourd'hui, nommé dans le guide ; d'autres formats suggérés pour la 1.9.0, non engageant.

Guide : Reprendre une passerelle existante · v1.6.3

Tous les atouts, livrés et à venir

Versions à venir : celles de la feuille de route de Flexway, non engageantes. La marque « chez vous » signale un apport de souveraineté numérique.

Contrat et configuration

  • Le contrat est la configuration : servi = déclaréLivré · depuis v0.1.0
  • Validée hors ligne en CI, rechargée à chaud sans requête perdue ; une configuration invalide est refuséeLivré · depuis v0.1.0
  • Secrets par référence, jamais en clair dans la configurationLivré · depuis v0.1.0chez vous
  • Un schéma publié de la configuration et du contratPrévu, sans version
  • Des fragments de politique partagés entre passerelles, sans plan centralPrévu, sans version

Exploiter comme du code

  • La console propose un diff, jamais une mutation ; la pull request s'ouvre depuis la propositionLivré · depuis v1.2.0
  • Un binaire, une image distroless non root, amd64 et arm64 ; démarrage sous 2 s, aucune dépendance obligatoireLivré · depuis v0.1.0chez vous
  • Comptes locaux sans fournisseur d'identité ; OIDC facultatifLivré · depuis v0.1.0chez vous
  • Partage du trafic entre versions : canary ciblé, blue-green, retour arrièrePrévu, sans version
  • L'IA pour l'exploitation : elle propose, jamais dans le chemin de décisionPrévu, sans version
  • Portail développeur, opérateur Kubernetes facultatif, mode edge sans plan centralPrévu en 1.11
  • Une console pour plusieurs passerelles, par portées déclaréesPrévu, sans version

Sécurité fermée par défaut

  • Fermé par défaut : ce qui n'est pas déclaré ne passe pas.Livré · depuis v0.1.0
  • Images et sommes de contrôle signées, pour amd64 et arm64.Livré · depuis v0.1.0
  • Aucun modèle ne décide d'une autorisation, d'un débit ou d'une route.Règle testée
  • Isolation des tenants testée à chaque modification.Livré · depuis v1.1.0
  • Kubernetes (Helm), docker run ou binaire sur une VM : un binaire, une image, un fichier.Livré · depuis v0.1.0chez vous
  • Clés d'API et mTLS client en identités de premier plan ; journal d'audit chaînéLivré · depuis v0.1.0
  • Signature des webhooks entrants vérifiée, filtrage par adresse IPPrévu en 1.8
  • Jetons liés au porteur : mTLS ou DPoPPrévu, sans version

La sécurité et la chaîne logicielle en détail

Résilience annoncée

  • Délai par opération, cloisonnement par amont, coupe-circuitLivré · depuis v0.1.0
  • Une réplique surchargée déleste au lieu d'être tuée ; délestage adaptatifLivré · depuis v0.2.0
  • Dégradation annoncée, jamais silencieuse ; arrêt gracieuxLivré · depuis v0.1.0
  • Les lectures identiques en vol coalescées en un seul appel amontPrévu en 1.8

Erreurs uniformes

  • Un catalogue fermé de codes, RFC 9457 partout, rendu au format de chaque surface : OpenAI, gRPC, MCP, CloudEventsLivré · depuis v1.5.0

IA gouvernée

  • Surface compatible OpenAI, routage par politique, budget en euros par tenantLivré · depuis v0.1.0
  • Une requête sensible épinglée sur un modèle interne ; audit sans jamais l'inviteLivré · depuis v0.1.0chez vous
  • Plans, budgets par utilisateur, par cas d'usage et par équipePrévu en 1.8
  • Routes de tâche, modèles admis par appelant, classes de données, résidence, garde-fousPrévu en 1.9chez vous
  • Preuve d'exécution exportable : vous aide à répondre au règlement européen sur l'IAPrévu, sans version

Agents sous contrôle

  • Outils MCP depuis le contrat, OAuth 2.1, échange de jeton humain et agent, délégation bornée, fédération MCPLivré · depuis v0.1.0
  • Tableau de bord des agents : outils, coût, portéesLivré · depuis v1.2.0
  • Gouvernance A2A : cartes d'agent signées, quota, auditEn cours
  • Approbation humaine, droits limités à une tâche, budget par exécution d'agentPrévu en 1.10

Événements

  • Proxy Kafka natif, clusters virtuels par tenant, champs chiffrés sous votre KMSLivré · depuis v1.6.1chez vous
  • ACL et quotas par client KafkaEn partie · suite à dater
  • AsyncAPI, CloudEvents, webhooks signés et rejouables, NATS, AMQP 1.0, registre de schémasLivré · depuis v1.6.1
  • Appareils MQTT, Sparkplug B, OPC UAPrévu en 1.7

Preuves

  • Banc de performance reproductible, vérifié en CI ; chiffres à mesurer tant qu'ils ne sont pas publiés avec version, machine et commandeEn partie · suite à dater
  • Licence vérifiée hors ligne et ouverture publiquePrévu, sans version

Les preuves

Ce qui se vérifie : standards, rythme, chaîne logicielle

Une passerelle d'entreprise se juge sur des faits contrôlables. Chacun renvoie à sa source : le catalogue de la version publiée, la documentation, la chaîne de publication.

StandardCe que fait FlexwayFlexway v1.6.3
OpenAPI 3.1Le contrat REST est la configuration : ce qu'il déclare est servi, rien d'autreLivré · depuis v0.1.0
AsyncAPI 3Source du plan asynchrone : canaux, messages, opérations vers Kafka, AMQP, MQTT, NATSLivré · depuis v1.5.0
Protobuf et gRPCgRPC servi, traduction REST vers gRPC par descripteursLivré · depuis v0.2.0
RFC 9457Chaque refus en Problem Details, avec un code stableLivré · depuis v0.1.0
OAuth 2.1 et RFC 9728Serveur de ressources, métadonnées de ressource protégée publiéesLivré · depuis v0.1.0
RFC 8707Audience du jeton liée à l'URL publique déclaréeLivré · depuis v0.1.0
RFC 8693Échange de jeton : sujet humain, acteur agent, qui ne fait que rétrécirLivré · depuis v0.1.0
MCPOpérations du contrat en outils, serveurs MCP existants fédérésLivré · depuis v0.1.0
A2ARelais entre agents sous quota et audit ; cartes d'agent signées à venirEn cours
OpenTelemetryMétriques et traces poussées en OTLPConventions GenAI : Prévu en 1.8Livré · depuis v1.3.0
W3C Trace Contexttraceparent propagé ou créé de bout en boutLivré · depuis v0.1.0
CloudEventsEnveloppe des messages publiés vers les courtiersLivré · depuis v1.5.0
  • Fonctionnalités145 livrées sur 211, dans la version v1.6.3
  • Rythme14 versions publiées, chacune présentée par ce qu'elle apporte ; ce qui s'écrit pour une 1.x se relit sans édition dans toute 1.x. Les versions
  • Chaîne logicielleLivré · depuis v0.1.0Image et binaires signés sans clé sur leur empreinte, SBOM attesté ; une version re-tague l'empreinte testée, sans reconstruire. Vérifiable par la commande du guide :
    Configurer et exploiter Flexway
    cosign verify-blob --bundle SHA256SUMS.sigstore.json \
      --certificate-identity-regexp '^https://github.com/flexwiz/flexway/.github/workflows/release.yml@' \
      --certificate-oidc-issuer https://token.actions.githubusercontent.com SHA256SUMS
  • TestsLivré · depuis v0.1.0Rechargement sous charge sans requête perdue, débit par appelant, cardinalité des métriques bornée : prouvés par test, selon le catalogue ; chart installé sur une grappe nue à chaque changement.
  • PerformanceDébit par réplique à mesurer · latence ajoutée à mesurer · mémoire au repos à mesurerPubliés avec version, date, machine et commande, jamais avant.

Statuts et « depuis » lus au catalogue de la version publiée ; comptes relevés au même tag et dans la liste des versions publiées.

Ce que les entreprises attendent aujourd'hui

Six familles d'usages de l'IA reviennent dans chaque projet. Pour chacune, ce que Flexway livre dans la version v1.6.3, ce qui est en partie là, et la version qui complète ; les versions à venir ne sont pas des engagements.

Accès centralisé et sécurisé aux modèles

Livré : 3 · en partie : 2 · prévu ou à dater : 0

  • Centraliser l'accès aux fournisseurs et aux modèles internesLivré · depuis v0.1.0
  • Masquer les clés des fournisseurs, gérer les secretsLivré · depuis v0.1.0
  • Droits par équipe, application, modèle ou environnementEn partie · suite en 1.9

Routage entre modèles

Livré : 1 · en partie : 4 · prévu ou à dater : 0

  • Basculer sur panne d'un fournisseurLivré · depuis v0.1.0
  • Choisir le modèle selon la tâcheEn partie · suite en 1.9
  • Choisir selon latence, coût, qualité ou régionEn partie · suite en 1.9

Maîtrise des coûts

Livré : 1 · en partie : 5 · prévu ou à dater : 0

  • Contrôler les pics, prévenir les abusLivré · depuis v0.1.0
  • Quotas par application, équipe, utilisateur ou projetEn partie · suite en 1.8
  • Limiter requêtes et tokensEn partie · suite en 1.8

Protection des données avec les modèles

Livré : 0 · en partie : 2 · prévu ou à dater : 4

  • Détecter ou masquer les données personnellesPrévu en 1.9
  • Empêcher l'envoi de données confidentielles à certains fournisseursEn partie · suite en 1.9
  • Résidence des donnéesPrévu en 1.9

Observabilité et audit de l'IA

Livré : 2 · en partie : 4 · prévu ou à dater : 0

  • Latence, disponibilité, erreurs, tokens, coûts estimésLivré · depuis v0.1.0
  • Corréler les traces avec OpenTelemetryLivré · depuis v0.1.0
  • Relier chaque appel à application, utilisateur, cas d'usageEn partie · suite en 1.8

Gouvernance des outils d'agents

Livré : 4 · en partie : 1 · prévu ou à dater : 1

  • Contrôler les appels d'outils des agentsLivré · depuis v0.1.0
  • Exposer des API métiers en outils MCPLivré · depuis v0.1.0
  • Autoriser selon l'identité et le contexteEn partie · suite en 1.10

Six familles et dix usages d'entreprise : 44 attentes, 12 livrées, 27 en partie, 5 prévues.Toutes les attentes, ligne par ligne

Versions à venir non engageantes ; « Livré » seulement quand le catalogue de la version publiée le dit.

Voir ce que les entreprises attendent

Les enjeux, et comment Flexway les traite

Pour chaque enjeu, ce que fait Flexway, la preuve que vous pouvez vérifier et la limite, dite.

EnjeuCe que fait FlexwayLa preuveLa limite, dite
FonctionnelsCe qui est servi est ce qui est déclaré : une route ou un outil que le contrat ne déclare pas répond 404 ; une API métier devient un outil d'agent sans réécrire le service.404x-flexway-toolLivré · depuis v0.1.0Le droit sur l'objet reste au service.
TechniquesUn binaire, sans base sur le chemin : configuration validée hors ligne en CI, rechargée à chaud sans requête perdue ; flux relayés sans retenue ; amd64 et arm64.flexway validateamd64arm64Livré · depuis v0.1.0Terminaison TLS publique et anti-DDoS restent au bord.
SécuritéFermé par défaut : jetons de plusieurs émetteurs, clés d'API, certificats clients ; le tenant vient de l'identité vérifiée, jamais d'un en-tête ; chaque refus porte un code stable.rate_limitedtenant_requiredLivré · depuis v0.1.0La passerelle est une première couche, pas la seule.
SouverainetéVos données restent chez vous : auto-hébergé, édité en Europe ; aucun service externe requis pour servir ; une requête marquée sensible ne part que vers un modèle interne, sinon refus.sensitive_no_internal_backendLivré · depuis v0.1.0Résidence par région : Prévu en 1.9
IAAucun modèle ne décide sur le chemin : autorisation, débit et routage suivent des règles déclarées et des mesures ; un jugement par un modèle vient d'un service de garde que vous déclarez.budget_exceededcapability_unavailableLivré · depuis v0.1.0Aucune garde ne suffit seule contre l'injection d'invite.

Demain : de l'industrialisation à la gouvernance des agents

Ce que les entreprises attendront d'ici 2030, en trois étapes, et où Flexway en est. Les versions sont celles de la feuille de route de Flexway, non engageantes.

  1. 2026-2027

    Industrialiser

    Authentification, clés, quotas de jetons, multi-modèles, coûts, observabilité, premiers outils MCP.

    En partie · suite en 1.8
  2. 2027-2028

    Gouverner

    Outils, identités d'agents, autorisations selon le contexte, délégation, audit des actions.

    En partie · suite en 1.9
  3. 2028-2030

    Optimiser

    Politiques fédérées, arbitrage entre coût, performance et risque - par des règles déclarées, jamais par un modèle.

    À dater

14 attentes de demain : 11 en partie, 3 prévues ou à dater. Le détail

Rythme

Une petite équipe, un rythme visible

Les versions publiées de Flexway et ce que chacune a apporté ; puis ce qui vient, sans date promise.

  1. v1.6.0corrections
  2. v1.6.17 nouveautés
  3. v1.6.2corrections
  4. v1.6.3corrections

À venir, sans date promise

Voir la page

Le produit

Huit domaines, un seul binaire.

Pour chaque domaine, ce qui est livré dans la dernière version publiée, et depuis quelle version.

API

Le contrat est la configuration : un OpenAPI 3.1 suffit pour servir, valider et relayer.

  • gRPC servi aussi en gRPC-Web et en REST
  • SSE et WebSocket relayés sans retenue
  • Reprise de la configuration d'une passerelle existante
Voir la page

Répond à 8 attentes du marché, dont 3 livrées

12 livrées sur les 13 présentées · depuis v0.1.0

Sécurité

Jetons de plusieurs émetteurs, portées et rôles du contrat, clés d'API, certificats clients.

  • Fermé par défaut
  • Audit des décisions d'autorisation
Voir la page

Répond à 5 attentes du marché, dont 1 livrée

11 livrées sur les 12 présentées · depuis v0.1.0

Trafic

Débit par appelant, quotas par tenant, délestage, délais, reprises et coupe-circuits : la passerelle refuse proprement plutôt que de tomber.

  • 429 avec Retry-After
  • Une réplique surchargée déleste au lieu d'être tuée
Voir la page

Répond à 7 attentes du marché, dont 1 livrée

14 livrées sur les 14 présentées · depuis v0.1.0

Transformations

En-têtes, chemin, corps et codes de statut remodelés, cache, appel externe et politiques CEL, sans toucher à l'amont.

  • Masquage des champs sensibles
  • Cache isolé par tenant
Voir la page

Répond à 2 attentes du marché, aucune encore livrée

14 livrées sur les 16 présentées · depuis v0.1.0

IA

Une surface compatible OpenAI devant vos modèles : budgets en jetons et en euros par tenant, repli ordonné.

  • Requête sensible jamais envoyée à un modèle externe
  • Invite jamais journalisée
Voir la page

Répond à 19 attentes du marché, dont 4 livrées

11 livrées sur les 13 présentées · depuis v0.1.0

Agents : MCP et A2A

Les opérations marquées deviennent des outils MCP sous la même décision que REST ; serveurs MCP fédérés.

  • Délégation bornée, jeton échangé (RFC 8693)
  • Gouvernance A2A : en cours
Voir la page

Répond à 16 attentes du marché, dont 5 livrées

8 livrées sur les 9 présentées · depuis v0.1.0

Asynchrone

Publier sur Kafka, AMQP ou MQTT depuis HTTP, avec les mêmes portes ; webhooks signés et rejouables.

  • AsyncAPI comme source
  • Proxy Kafka natif : livré · v1.6.1
Voir la page

Répond à 8 attentes du marché, aucune encore livrée

8 livrées sur les 9 présentées · depuis v1.5.0

Exploitation

Journaux, métriques et traces OpenTelemetry, et une console riche qui ne touche jamais la production : un changement devient une pull request.

  • Tableaux de bord intégrés, sans outil à installer
  • Sans donnée personnelle dans les journaux
Écran Politiques de la console Flexway : chaîne effective d'une routeÉcran Politiques de la console Flexway : chaîne effective d'une route
Voir la page

Répond à 3 attentes du marché, dont 2 livrées

18 livrées sur les 19 présentées · depuis v0.1.0

Chaque surface, en vrai

Le trajet, la configuration, la console.

Pour chaque surface, les étapes de la décision, la configuration de l'exemple livré avec la version publiée et l'écran de la console qui la montre.

Le trajet, la configuration, la console.

contrat · identité · quota · politiques · relais

Fichier examples/rest-minimal/flexway.yaml, livré avec Flexway v1.6.3
# The smallest useful configuration: one contract, one upstream. Every operation of the contract is
# served and relayed there; nothing else is.
version: 1
contracts:
  openapi: ./openapi.yaml
upstreams:
  default:
    url: http://orders.internal:8080

jeton pour la surface · outils filtrés · quota · jeton échangé si l'amont l'exige

Fichier examples/mcp-tools/flexway.yaml, livré avec Flexway v1.6.3
# Agent tools from the contract: one line per host declares the MCP surface, then x-flexway-tool
# per operation. A token must be issued for that URL (RFC 8707); it is never relayed upstream.
version: 1
contracts:
  openapi: ./openapi.yaml
upstreams:
  default:
    url: http://orders.internal:8080
auth:
  tenant_header: X-Tenant
  issuers:
    - name: customers
      discovery: https://login.example.net/.well-known/openid-configuration
      audience: api                              # REST tokens; MCP tokens carry the resource below
      tenant_claim: org
agents:
  mcp:
    resources:
      api.example.com: https://api.example.com/mcp

identité · budget en euros · sensibilité · routage · repli

Fichier examples/ai-cost/flexway.yaml, livré avec Flexway v1.6.3
# What inference costs, and what happens when a backend fails: prices declared per backend, a
# monthly budget in euros per tenant beside the token budget, a soft cap that warns and moves the
# call to a cheaper backend, and fallbacks tried in order before any byte reaches the client - never
# an external one for a sensitive request.
version: 1
auth:
  issuers:
    - name: customers
      discovery: https://login.example.net/.well-known/openid-configuration
      audience: api
      tenant_claim: org
ai:
  security:
    - oidc: { scopes: [inference] }
  sensitive_header: X-Sensitive
  default_backend: eu-large
  sensitive_backend: on-prem
  backends:
    eu-large:
      url: https://api.provider.example/v1
      api_key: "file:/etc/flexway/secrets/provider-key"
      default_model: mistral-large
      external: true
      price: { input_per_mtok: 2.00, output_per_mtok: 6.00 }   # euros per million tokens
      fallback: [eu-small, on-prem]              # in order, on connection failure, 5xx, timeout
    eu-small:
      url: https://api.provider.example/v1
      api_key: "file:/etc/flexway/secrets/provider-key"
      default_model: mistral-small
      external: true
      price: { input_per_mtok: 0.10, output_per_mtok: 0.30 }
      fallback: [on-prem]
    on-prem:
      url: http://vllm.inference.svc:8000/v1
      default_model: mistral-7b-instruct
      price: { input_per_mtok: 0, output_per_mtok: 0 }      # 0 is a price: internal
  budget:
    store: "${COUNTERS_URL}"
    monthly_tokens: 40000000                     # both budgets hold: the first reached decides
    monthly_eur: 50                              # per tenant, over the calendar month
    soft: { at: 0.8, backend: eu-small }         # past 80 %: Flexway-Budget: soft, moved to eu-small
  overrides:
    - { match: { tenant: acme }, monthly_eur: 500 }

Ce que Flexway ne fait pas, et à qui il le laisse

Flexway applique les politiques sur les flux. Chaque responsabilité voisine a son composant ; Flexway s'y branche, il ne la remplace pas.

ResponsabilitéLaissé àCe que Flexway fait à la frontière
Émettre des jetons, gérer les utilisateursVotre fournisseur d'identitéVérifie jetons et preuves
Logique et état des agentsVotre runtime d'agentsGouverne leurs outils et leurs échanges
Droits par documentVotre plateforme de rechercheGouverne l'accès aux API de recherche et d'embeddings
Qualité des réponsesVotre outil d'évaluationLui donne coûts, latences et erreurs par modèle
Registre de prompts et de modèlesVotre chaîne LLMOpsApplique la liste approuvée
Validation humaineVotre workflowExigera la preuve d'approbation Prévu en 1.10
Analyse des traces et incidentsVotre plateforme OpenTelemetryÉmet en OTLP
Secrets et identités machineVotre coffre, PKI ou KMSLit des références, jamais un secret en clair

Et les rôles techniques que Flexway laisse au bord, au maillage ou à d'autres produits

Ce que Flexway ne fait pasPourquoi
Maillage de servicesLe chiffrement et le routage entre services restent au maillage en place ; Flexway s'y insère.
Répartition de charge entre réplicasL'affaire du bord et du maillage, qui voient les répliques ; Flexway choisit la version d'un service, pas la machine.
Passerelle GraphQL composée, agrégation libreUne requête libre n'a ni droits, ni quota, ni trace connus d'avance ; seules des requêtes déclarées à l'avance sont envisagées.
Connecteurs liés à un fournisseur de cloudContraires à la souveraineté ; un appel HTTP ou gRPC couvre le besoin.
Détection de robots, pare-feu applicatifDemandent des signaux réseau que seul le bord possède ; Flexway refuse déjà tout ce qui n'est pas déclaré.
Client de test d'APIUn autre produit ; la validation hors ligne, les exemples et la console couvrent la vérification.
Écosystème de greffonsUne surface d'attaque et une dette de compatibilité ; seules des extensions isolées et plafonnées sont prévues.

Développeurs

Du contrat au trafic, sans deviner.

La configuration se valide avant de démarrer : une erreur est refusée au chargement, jamais découverte en production.

Essayer en direct · Votre architecture, son flexway.yaml et ses décisions simulées, dans le navigateur.

Voir la page

Démarrer en 5 minutes

Dans le dossier de votre flexway.yaml et de votre contrat OpenAPI - par exemple ceux de l'exemple rest-minimal :

Les commandes valent à l'ouverture publique, quand l'image sera publiée ; d'ici là, Flexway s'essaie dans le navigateur. Essayer dans le navigateur

  1. Valider la configuration, hors ligne

    docker run --rm -v "$PWD:/etc/flexway:ro" ghcr.io/flexwiz/flexway:v1.6.3 validate -v
  2. Lancer la passerelle

    docker run --rm --name flexway -p 8080:8080 -p 9090:9090 \
      --add-host=host.docker.internal:host-gateway \
      -v "$PWD:/etc/flexway:ro" \
      ghcr.io/flexwiz/flexway:v1.6.3

Appelez ensuite une opération déclarée dans votre contrat : elle répond. Une route absente du contrat répond 404, en application/problem+json.

Commandes du guide « Servir sa première API », image de la version v1.6.3.

Suivre le guide pas à pas

En production chez nous d'abord

Nos produits passent par Flexway.

Avant d'être proposé à d'autres, Flexway est la passerelle de nos propres produits. Fiches tirées de leurs décisions d'architecture.

flexplay

Statut
S'appuie sur Flexway
Rôle
Seule passerelle API du produit, REST et temps réel
Ce qu'il en tire
Identité Keycloak, quotas par tenant, traces jusqu'au service

flexmak

Statut
Bascule vers Flexway
Rôle
Remplace la passerelle actuelle, lot par lot
Ce qu'il en tire
Flexway à côté de l'ancienne passerelle, configuration reprise

flexlok

Statut
Passera par Flexway
Rôle
Passera par Flexway dès sa première version
Ce qu'il en tire
Une passerelle de moins à écrire

Voir la page

Tarifs

Le même produit pour tous. La production se paie.

Toutes les fonctionnalités dans chaque formule ; prix publiés à l'ouverture publique.

Développeur

0 €

  • Hors production, 90 jours renouvelables
  • Toutes les fonctionnalités
  • Débit plafonné, en-tête de licence
En parler

Business

Prix à l'ouverture

  • Production, forfait par environnement
  • Engagement de service
  • 30 jours de grâce à l'échéance
En parler

Enterprise

Prix à l'ouverture

  • Maintenance longue, accompagnement
  • Console multi-passerelles
  • Audit du code sous accord
En parler

Toutes les formules s'installeront chez vous.

Voir la page

Questions fréquentes

Quel fournisseur d'identité ?

N'importe quel fournisseur OIDC, plusieurs à la fois : Keycloak, Entra ID, Okta, Auth0, Cognito, Google.

Mes données sortent-elles de mon infrastructure ?

Non : Flexway est auto-hébergé et ne voit que le trafic que vous lui envoyez.

Flexway remplace-t-il notre fournisseur d'identité ?

Non. Il vérifie les jetons de vos émetteurs, plusieurs à la fois ; il n'en émet aucun.

Un modèle décide-t-il de qui passe ?

Non. Autorisation, débit et routage suivent votre configuration ; un modèle peut proposer une modification, une personne l'approuve.

Flexway nous aide-t-il pour le règlement européen sur l'IA ?

Il vous aide à y répondre : audit chaîné des décisions, invites jamais journalisées ; la preuve d'exécution exportable est à dater.

Faut-il une base de données ou un plan de contrôle à installer ?

Non. Un binaire et un fichier de configuration ; un cache partagé compatible Redis (Redis, Dragonfly ou Valkey) est facultatif, pour partager débits et quotas entre répliques. Le Plan de contrôle GitOps, ce sont vos outils : Git, votre fournisseur d'identité, OpenTelemetry, votre coffre, et la console.

La console peut-elle modifier la production ?

Non. Elle propose un diff et ouvre une pull request dans votre dépôt ; votre revue décide, votre outil GitOps déploie.

Flexway est édité par Flexwiz. Découvrir Flexwiz

Parlons de votre passerelle

Flexwiz est une jeune entreprise : vous parlez directement avec la personne qui la fonde. Dites-nous ce que vous voulez faire passer par Flexway. Nous parlons de votre infrastructure et de vos exigences de souveraineté numérique.

La prise de rendez-vous en ligne arrive bientôt ; d'ici là, un e-mail suffit.