Gateway & API

Changez une ligne. Chaque appel devient prouvable.

Pointez le SDK que vous utilisez déjà vers le Gateway Subsidia. Il parle les dialectes OpenAI et Anthropic : votre code ne change pas, le trafic passe par le moteur et revient avec une preuve.

const client = new OpenAI({
- apiKey: process.env.OPENAI_API_KEY,
+ baseURL: "https://api.subsidia.protypa.fr/v1",
+ apiKey: process.env.SUBSIDIA_API_KEY,
})
// en-têtes de la réponse :
x-pulse-proof: pf_a059713a… // signé · chaîné · vérifiable hors ligne
x-pulse-pii-masked: 2
Gateway : une ligne à changer

Dans un éditeur, un client du SDK OpenAI change une seule ligne : baseURL passe de api.openai.com à api.subsidia.protypa.fr, la clé devient SUBSIDIA_API_KEY. Le modèle devient l'adresse pulse-auto+cortex et le message contient un nom, un e-mail et un IBAN fictifs. La réponse arrive en HTTP 200 avec les en-têtes x-pulse-proof, x-pulse-provider et x-pulse-pii-masked (2 valeurs masquées avant de sortir vers le fournisseur), puis le texte de la réponse. Un certificat de preuve apparaît : identifiant, route du modèle, rang dans la chaîne et empreinte du précédent, empreinte du document et signature Ed25519. Il est vérifié hors ligne : empreinte recalculée, signature valide, maillon de la chaîne en place. Une ligne changée. Chaque appel prouvé.

Le problème du shadow AI

Votre équipe envoie déjà des prompts vers des clouds tiers.

Votre trafic IA fuit déjà

Les prompts transportent des noms de clients, des adresses, des extraits de données de production, sans registre de ce qui est sorti ni quand.

Rien n'est prouvable après coup

Un journal applicatif que vous avez écrit vous-même ne constitue pas une preuve opposable face à un client ou un auditeur.

Réécrire les applications n'est pas une option

Un correctif qui oblige à toucher au code meurt dans le backlog. Le seul budget d'intégration qui existe toujours : une ligne de configuration.

À chaque appel

Un pipeline que vous n'écrivez pas, sur un trafic que vous ne réécrivez pas.

  1. 1

    Bouclier PII

    E-mails, IBAN, numéros de téléphone (et les noms, en mode renforcé) sont remplacés par des jetons cohérents avant de partir vers un fournisseur externe, puis restaurés dans la réponse.

  2. 2

    Routage du modèle

    Un modèle économique pour les demandes simples, un modèle plus lourd pour le travail complexe. Aucun fournisseur codé en dur.

  3. 3

    Mesure

    L'usage est compté sur votre espace de travail ; une clé peut porter son propre plafond mensuel.

  4. 4

    Certificat signé

    Chaque réponse porte une attestation Ed25519 chaînée par hash : la requête, ce qui est réellement sorti (masqué), les sources utilisées.

Adressage par capacité

Le champ model est une adresse.

Sans préfixe Subsidia, le Gateway est un passe-plat fidèle. Les capacités ne s'activent que si vous les écrivez dans l'adresse, et se composent.

  • "pulse-auto"routé à chaque appel selon la complexité
  • "pulse-sensitive"forcé sur un modèle local ; le certificat le prouve
  • "agent:cfo"l'agent du workspace répond (mémoire, documents, outils)
  • "pulse-auto+cortex"ancré dans la base de connaissances

GET /v1/models liste les modèles et les adresses d'agents de votre espace.

Intégration

Quatre manières de changer l'URL.

La clé se lit dans SUBSIDIA_API_KEY. Le SDK Anthropic prend l'hôte seul, il ajoute /v1/messages lui-même.

import OpenAI from "openai"

const client = new OpenAI({
  baseURL: "https://api.subsidia.protypa.fr/v1",
  apiKey: process.env.SUBSIDIA_API_KEY,
})

const { data, response } = await client.chat.completions
  .create({
    model: "pulse-auto",
    messages: [{ role: "user", content: "Summarise this clause." }],
  })
  .withResponse()

console.log(response.headers.get("x-pulse-proof"))

L'identifiant de preuve revient dans l'en-tête x-pulse-proof ; x-pulse-pii-masked compte les valeurs masquées.

Au-delà du proxy

Ce que la clé API ouvre.

Le moteur, en direct

POST /v1/ai/complete pour l'appel direct, POST /v1/chat/completions et POST /v1/messages pour les dialectes OpenAI et Anthropic.

Cortex et Light

POST /v1/knowledge/query pour interroger la base, POST /v1/knowledge-sources pour l'alimenter, POST /light/ask pour une réponse sourcée ou un refus honnête.

Reflex, les automatisations

GET et POST /engine/flows. Tout envoi sortant reste soumis à une approbation humaine (GET /engine/approvals) : une clé ne peut pas s'auto-approuver.

Le Vérificateur par API

Faites vérifier un texte, d'où qu'il vienne.

Envoyez un texte et les passages sur lesquels il s'appuie (ceux que votre propre recherche a renvoyés, ou des collections Cortex). Chaque affirmation reçoit un verdict : vérifiée, non étayée, contredite ou invérifiable. Aucun modèle n'est appelé : le résultat se recalcule à l'identique, et le rapport est signé dans la même chaîne que les certificats du Gateway.

Une vérification est comptée comme un contrôle, à part des questions. Les contrôles sont décomptés et affichés séparément ; la tarification n'est pas arrêtée à ce jour.

curl -X POST https://api.subsidia.protypa.fr/v1/verify \
  -H "Authorization: Bearer $SUBSIDIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Le loyer mensuel est de 1 250 €. Le préavis est de 30 jours.",
    "passages": [{
      "source": "Bail commercial.pdf", "page": 3,
      "content": "Le loyer mensuel est de 1 250 €. Le préavis est de 90 jours."
    }]
  }'
  • POST /v1/verifyvérifier un texte, rapport signé en retour
  • GET /v1/verifylister les rapports
  • GET /v1/verify/usagecontrôles du mois
  • GET /v1/verify/:idrelire un rapport
  • GET /v1/verify/:id/certificateson certificat
  • GET /v1/verify/:id/exportl'export du rapport
Le Registre par API

Le registre d'usage IA, lisible par vos outils.

Le registre répond aux cinq mentions du règlement européen sur l'IA. Parcourez-le, résumez-le, ou exportez-le : l'export est une archive signée (CSV, JSON, attestation) qui engage aussi les filtres, donc un extrait partiel ne peut pas passer pour exhaustif.

  • GET /v1/registreles lignes, paginées
  • GET /v1/registre/summaryle résumé pour les filtres
  • GET /v1/registre/exportl'export signé (zip)

Le registre fait partie du forfait Cabinet ; un autre forfait reçoit un 402 PLAN_UPGRADE_REQUIRED.

Certificats

Une preuve que vous pouvez montrer à un tiers.

Chaque réponse du Gateway porte un identifiant de preuve. Récupérez le certificat, faites-le contrôler, ou vérifiez-le vous-même avec la clé publique, ouverte.

  • GET /v1/proofs/:idle certificat
  • GET /v1/proofs/:id/verifycontrôle de la signature et de la chaîne
  • GET /v1/gateway/public-keyclé publique de signature (PEM), sans authentification
Clés et portées

Une clé ne peut faire que ce que vous lui donnez.

Dès qu'une clé porte une portée de capacité, elle devient stricte : seules les familles nommées lui sont ouvertes. Ajoutez readonly pour qu'elle ne puisse rien modifier.

  • engine/v1/chat/completions, /v1/messages, /v1/models, /v1/ai/*, /v1/proofs, /v1/gateway/*
  • knowledge/v1/knowledge*
  • reflex/engine/* (flows, approbations)
  • light/light/*
  • webhooks/v1/webhooks*
  • partner/partner/* (intégrateurs)
  • proof/v1/verify*, /v1/registre*
  • readonlylecture seule ; les POST qui ne font que lire (chat, messages, verify, knowledge/query…) restent permis

Les clés plus anciennes, qui n'ont que des noms de modules, restent sans restriction. On crée une clé après connexion, dans Console, Gateway.

Compatible avec votre stack

Tout ce qui parle OpenAI ou Anthropic parle Subsidia.

SDK OpenAISDK AnthropicClaude CodeLangChainn8n / MakeCursor / Continuecurl

Claude Code passe entièrement par le Gateway : chaque tour de la boucle d'agent est masqué, routé et attesté. Les frameworks et outils d'automatisation se branchent par leur réglage d'URL de base.

Souverain par construction

Un proxy cloud peut promettre. Dans vos murs, il peut prouver.

Auto-hébergez le tout

Le Gateway tourne en service autonome sur votre infrastructure : c'est le même qui fait tourner le cloud Subsidia, hébergé en France.

Vos clés, votre registre

Chaque installation génère sa propre paire de signature Ed25519. Personne ne peut fabriquer ou modifier un certificat pour votre trafic.

Modèles locaux inclus

Avec pulse-sensitive, la donnée reste sur la machine, et le certificat l'établit techniquement, pas seulement par contrat.

Documentation

La référence complète, sur le portail développeur.

De la clé au premier certificat.

Créez un compte, ouvrez Console, Gateway pour générer une clé, puis testez-la sans écrire de code.

Après l'inscription, rendez-vous dans Console, Gateway.