x0ne Engine · Préversion · clés de test

Moteur d'inférence confidentiel.

Vos données et votre modèle, chiffrés de bout en bout.

x0ne Engine sert des modèles d'IA dans une enclave Intel TDX, avec un GPU NVIDIA H100 en mode confidentiel. Hors de votre machine, vos données ne sont déchiffrées que là, et seulement après vérification de sa preuve matérielle.

Tourne sur Intel TDX, NVIDIA H100 et Google Cloud

Préversion 0.2.0-beta.7.

Conçu pour que personne ne voie vos données.

  1. 01 / 06

    Ça part de votre machine.

    Une application métier, un agent de code, une tâche planifiée : tout parle l'API compatible OpenAI, au relais x0ne installé sur votre machine.

  2. 02 / 06

    On vérifie avant d'envoyer.

    La machine distante prouve ce qu'elle exécute : rapport Intel TDX vérifié auprès d'Intel, verdict NVIDIA sur le GPU, empreinte de l'image et du modèle. Sans preuve valide, votre question ne part pas.

  3. 03 / 06

    Chiffré de bout en bout.

    La connexion TLS 1.3 est liée à cette preuve. L'hébergeur voit passer des horaires, des tailles et des adresses IP, jamais le contenu.

  4. 04 / 06

    Déchiffré seulement dans l'enclave.

    Le processeur Intel TDX chiffre sa mémoire ; le GPU H100, en mode confidentiel, isole la sienne et chiffre ses échanges avec le processeur. Le modèle lit vos données, l'hébergeur non.

  5. 05 / 06

    La réponse revient avec un reçu.

    Chiffrée de la même façon, elle arrive avec un reçu signé dans l'enclave : le modèle, la machine, et sa déclaration signée : votre texte n'a été ni journalisé ni mélangé à celui d'un autre client.

  6. 06 / 06

    Scellé dès l'application.

    Avec le SDK, votre application vérifie elle-même la preuve et chiffre pour la seule clé de l'enclave. Le relais transmet sans pouvoir lire. En flux continu : mesuré une fois, depuis Node ; dans un navigateur : prochaine étape.

Ce qui part, par exemple

Chiffré de bout en bout.Du départ à la réponse, segment par segment.

Votre machine
Applicationagent, tâche, personne
En clairen local ; scellé avec le SDK
Relais x0nevérifie la preuve
Chiffré, TLS 1.3par Internet ; l'hébergeur ne voit que du chiffré
Enclave confidentielle, chez Google Cloud
CPU Intel TDXmémoire chiffrée
Chiffréentre CPU et GPU
GPU H100mémoire isolée

De bout en bout, de l'application à l'enclave : c'est l'objectif. Avec le SDK, c'est mesuré sur TDX, une question à la fois, et une fois en flux depuis Node ; dans un navigateur, c'est la prochaine étape.

Le relais vérifie à chaque session la preuve Intel TDX et le verdict NVIDIA du GPU.

À vous, même sur le cloud d'un autre.L'hébergeur fournit la machine. Vous gardez la main.

Illisible même pour l'hébergeur

Vos données ne sont déchiffrées que dans l'enclave, après vérification de sa preuve.

Vérifié chez vous

Le relais vérifie la preuve Intel et le verdict NVIDIA sur votre machine. Rien n'est cru sur parole.

Votre compte, vos clés

La VM tourne dans votre projet cloud et s'efface à la fin. La clé de session part de chez vous.

Open source

Le serveur sous AGPL-3.0, le SDK sous Apache-2.0.

Objectif : la même chaîne chez d'autres hébergeurs, et sur vos propres serveurs.

L'hébergeur garde la disponibilité, et voit les horaires, les tailles et les adresses IP. Aujourd'hui : Google Cloud, Intel TDX, NVIDIA H100.

Ce qui reste à faire.

Ces mesures ont été faites avec des clés de test et un relais de test. Aucune image n'est encore publiée et aucune clé de release n'est épinglée : le chemin cloud ne démarre pas encore depuis les sources.

Objectif : confidentiel de bout en bout, image publiée et signée, audit externe.

Ce qu'aucune enclave ne protège, comme les attaques physiques sur la mémoire ou les canaux auxiliaires, est listé dans la documentation.

Lire les limites

Nouveautés.Ce qui a changé récemment.

Toutes les nouveautés
  1. Une commande ouvre la session.

    La VM confidentielle se crée dans votre compte Google Cloud, et s'efface à la fin de la session.

  2. La preuve se vérifie sur votre machine.

    Processeur, firmware, image, GPU, modèle : une ligne par contrôle. La clé de session ne part qu'après VERIFIED.

  3. Vos applications l'appellent comme OpenAI.

    La même API, sur votre machine. Chaque réponse porte un reçu signé dans l'enclave : TDX, le GPU qui a calculé, le modèle.

$ x0ne-engine cloud up --model qwen3:32b --max-run 45m
x0ne Engine cloud: Google Cloud, project ••••••••
[1/5] Creating x0ne-engine-4ac737 in us-central1-a ... done (42 s)
[2/5] Waiting for boot and GPU setup ... done (0 s)
[3/5] Checking the hardware proof on THIS machine. No question and no session key have been sent yet.
[3/5] Checking the hardware proof on THIS machine. No question and no session key have been sent yet.
attestation document received; checking it on this machine, no question and no session key sent yet
CPU Intel TDX quote genuine, TCB UpToDate / QE UpToDate, TDX module identity matched (Intel PCS, fetched now)
Firm Google-endorsed firmware (MRTD c1ee9c16..., svn 2, signed … CN=GCE-uefi-signer …)
Image x0ne-cvm 0.2.3 (… TEST key, not for release): RTMR1, RTMR2 match the reference; RTMR3 empty; RTMR0 reported
GPU 1 GPU(s), confidential computing on (NRAS token, nonce bound to this session)
Link TLS key and your session config are bound to this quote
Model qwen3:32b, digest 745f026c... matches the catalog
VERIFIED. Limits: x0ne-engine cloud status --limits
[4/5] Releasing the session key to the verified VM ...
verdict VERIFIED; sending the session key over the attested channel
key accepted; waiting for the TD to load the model
[5/5] OpenAI API on http://127.0.0.1:8478/v1
34 min left. Ctrl-C stops the session and deletes the VM.
Votre application, par exemple
$ curl -s http://127.0.0.1:8478/v1/chat/completions \
-H "Authorization: Bearer $(cat "$XDG_RUNTIME_DIR/x0ne-engine/local.key")" \
-H "Content-Type: application/json" \
-d '{"model": "qwen3:32b",
"messages": [{"role": "user", "content": "…"}]}'

127.0.0.1 est l'adresse locale de votre machine : l'appel n'en sort pas, et il exige votre clé. Le relais le chiffre ensuite en TLS 1.3, lié à la preuve.

Réponse reçue le 18/10/2026, extrait
{
"object": "chat.completion",
"model": "qwen3:32b",
"choices": [ … ],
"usage": { "prompt_tokens": 20, "completion_tokens": 256, … },
"x0ne": {
"receipt": {
"compute_device": "cuda:0",
"execution": { "environment": { "ConfidentialVmWithGpu":
{ "cpu": "IntelTdx", "gpu_mode": "On" } }, … },
"isolation": {
"requests_batched_across_clients": false,
"prefix_cache_shared_between_sessions": false,
"kv_cache_shared_between_requests": false
},
"model_digest_hex": "745f026c…",
"signature_hex": "3e0bec1b…", …
},
"receipt_verified": true
}
}

Un cas d'usage à protéger ?

Données de santé, contrats, code, données RH : parlons de votre cas.