← Blog

l'adresse de votre machine ne quitte jamais notre infrastructure

Permettre à un client d'exiger un traitement UE-uniquement suppose que le réseau sache où est chaque machine. Il y a une voie bien balisée pour ça : envoyer l'adresse à une API de géolocalisation et lire le pays en retour. Ça prend une après-midi.

Ça signifie aussi remettre à un tiers l'adresse de chaque machine du réseau, en continu, pour toujours — exactement la donnée que nous disons ne pas collecter. Alors nous avons fait l'autre chose.

La résolution tourne sur notre propre matériel

Un petit service lit une base de localisation sur disque local et répond aux questions sur les adresses. Rien ne sort du bâtiment. Pas de clé API, pas de fournisseur, pas de limite de débit et pas de tiers qui accumule la carte de qui héberge pour nous et où il vit.

Les données sont DB-IP Lite — pays, ville et opérateur réseau, publiées sous licence Creative Commons sans clé ni inscription. Notre pipeline les rafraîchit chaque mois.

Ce que nous gardons, c'est-à-dire presque rien

Une adresse IP est une donnée personnelle, et « nous ne gardons pas ce dont nous n'avons pas besoin » doit valoir pour nos hôtes autant que pour nos clients. L'adresse est donc résolue puis jetée. Ce qui est stocké contre une machine : un code pays à deux lettres et un hash salé qui n'est jamais comparé qu'à lui-même, pour remarquer qu'une machine a changé de pays et la replacer.

Le service de résolution n'écrit pas non plus les adresses dans ses logs. Ça a l'air évident et c'est facile à rater : le format standard de log de requêtes inclut la query string, et la query string est là où vit l'adresse. Le service ne journalise que les chemins, et un test échoue si quelqu'un revient en arrière.

L'hôte n'est jamais interrogé

La décision de design importante n'est pas où vit la base — c'est que la machine n'a pas voix au chapitre. mahout n'envoie pas de pays et il n'y a aucun champ pour en envoyer un. Un hôte capable de déclarer son propre region:eu transformerait la garantie en système d'honneur, et un système d'honneur, c'est ce que vous avez déjà sur la page marketing d'un fournisseur.

Et ça échoue fermé. Pas de base, une adresse irrésoluble, un pays inconnu — tout produit l'absence de tag de région, et une machine sans tag ne reçoit jamais de travail qui en exige un. Nous préférons perdre la capacité que router du trafic réglementé sur une supposition.

Ce que voit un hôte

Son propre placement, sur la page de sa machine dans le dashboard, tiré des mêmes tags sur lesquels le scheduler route. Et depuis la machine, mahout peut demander au service où elle semble être — cet endpoint ne répond que sur l'adresse de l'appelant, jamais sur celle d'un autre : la seule question qu'un extérieur a le droit de poser.

Précisément ce que cela prouve

Que la machine qui a produit vos tokens s'est présentée avec une adresse allouée à un pays de l'UE ou de l'EEE, et que le scheduler a refusé de router votre job ailleurs.

Pas que le matériel y est physiquement — la géolocalisation par adresse est un indice, pas une attestation. Nous préférons vous dire où est le bord de la garantie que vous le laisser découvrir pendant un audit. La référence complète est dans la base de connaissances.

Reference

Read next

a GPU died mid-sentence. the sentence finished.

Consumer hardware disappears without notice — someone sits down at their PC, a breaker trips, Wi-Fi drops. Our streams now survive that: another machine picks the answer up mid-word, and the dead segment is billed to nobody.

one model, every card: how a 27b runs on 8 gb

Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.

Model catalogue · Knowledge base · Run a GPU