Exécution gouvernée pour le logiciel critique
Exécutez-le sous contrainte. Gardez ce que cette exécution prouve.
Un bac à sable qui produit des preuves sur ce qu'il a exécuté — quatre niveaux d'isolation, un réseau à lui, et chaque création, exécution et destruction scellée dans une chaîne qui se vérifie hors ligne.
Code consultable (BUSL‑1.1, Apache‑2.0 en 2030) · tourne sur vos machines · rien à appeler pour vérifier
Ce que c'est
Un bac à sable sert normalement à oublier ce qui s'est passé.
Il contient l'exécution et jette les détails. NaZelo les garde : le profil sous lequel elle a tourné, et chaque événement de son cycle de vie, sous une forme qu'un tiers peut vérifier.
Ça compte là où une panne est physique, réglementaire ou financière — contrôle industriel, dispositifs médicaux, véhicules, aéronefs, ferroviaire, maritime, énergie, finance. Là, la question n'est jamais seulement « est-ce que ça marche ». C'est « montrez-moi comment ça a tourné, et montrez-moi que vous n'avez pas écrit la réponse vous-même ».
NaZelo est la partie qui exécute le logiciel et enregistre l'exécution. Il n'interprète pas l'enregistrement : votre couche de conformité le fait, à partir d'événements qu'elle sait lire.
Isolation
Quatre niveaux, et chacun nomme l'outil qu'il emploie.
Vous choisissez la dureté du mur, et le profil choisi voyage à l'intérieur de l'enregistrement signé — une exécution ne peut donc pas revendiquer un niveau qu'elle n'avait pas.
TL1 — bubblewrap
Rapide, sans privilège, pour un premier passage sur du code non fiable.
TL2 — namespaces + cgroups
Les primitives Linux directement : vues séparées, ressources bornées.
TL3 — gVisor
Un noyau en espace utilisateur entre la charge de travail et le vôtre.
TL4 — Firecracker
Une micro-VM. Son propre noyau, pour les exécutions que vous n'hébergeriez pas autrement.
Son propre réseau. Un bac à sable reçoit son propre espace de noms réseau : ce qu'il peut joindre devient une décision et non un accident. Aller plus loin — lire le content de ce qui passe, protocole par protocole — c'est ce qu'ajoute le module industriel.
La règle dont tout le reste découle
Ce qui est observé ne doit pas détenir la clé qui signe l'observation.
Le moteur l'applique déjà face à la charge de travail : un backend qui passerait son environnement au processus enfant lui passerait la clé qui signe sa propre preuve, et NaZelo le refuse.
La même règle a une marche de plus à gravir, et c'est la marche commerciale. Aujourd'hui, c'est l'hôte qui détient la clé. C'est juste face à une charge l'hôteile, et ça ne vaut pas grand-chose pour un auditeur — parce que l'hôte, c'est vous, et vous êtes la partie contrôlée. Un enregistrement signé par l'organisation auditée est une auto-attestation.
Déplacez la clé d'un cran, chez un opérateur qui n'a aucun intérêt dans le résultat, et l'enregistrement devient une preuve. C'est à ça que sert le service payant, et c'est la seule chose qu'une copie de ce code ne peut pas reproduire : ou bien l'exécution a eu lieu sur une infrastructure que vous ne contrôlez pas, ou bien non.
Faites tourner le tout chez vous et vous ne perdez que ça. Le moteur est consultable, l'isolation est la même, l'enregistrement a la même forme et se vérifie avec les mêmes outils. Ce que vous ne pouvez pas vous donner à vous-même, c'est la signature d'un tiers.
Premier secteur — industrie et énergie
Testez face à un interlocuteur qui répond, avant de réserver le banc.
Le module industriel fournit des interlocuteurs simulés — un automate fantôme, un calculateur fantôme, une puce fantôme, des points d'accès DICOM et HL7 — pour éprouver un logiciel qui parle à des équipements, sans les équipements.
Un interlocuteur qui répond vraiment, c'est la différence entre un test et un simulacre. C'est aussi là que l'exécution cesse d'être générique : ce qui a été écrit dans quel registre, et si c'était permis, voilà ce sur quoi un auditeur revient.
Ce que NaZelo ne fait pas
Il teste. Il ne certifie pas. NaZelo tourne avant un banc HIL, avant SCADE, avant VectorCAST — pour trouver les défauts plus tôt et moins cher, et passer la preuve à la suite. Il n'en remplace aucun.
Il ne reproduit pas fidèlement le matériel. Un interlocuteur simulé répond à un protocole. Ce n'est pas un modèle de votre appareil, et une exécution face à lui ne prouve rien sur les temps de réponse, l'usure ou la physique.
Il ne garantit pas la sûreté. Il enregistre ce qui a tourné et sous quelles contraintes. Décider si c'est sûr est le métier de quelqu'un, et ce quelqu'un n'est pas un bac à sable.
L'enregistrement
Création, exécution, destruction — scellées là où ça s'est passé.
Chaque événement du cycle de vie est une entrée structurée, et ces entrées sont les maillons d'une chaîne qui se vérifie hors ligne, sans serveur dans la boucle.
Le profil est dedans
Le niveau d'isolation, les limites et ce que le bac à sable avait le droit de joindre voyagent dans les octets signés. En dehors, la chaîne se vérifierait parfaitement et ne répondrait à rien.
Se vérifie sans nous
La chaîne se contrôle avec les mêmes outils ouverts que tout le reste de la maison. Ni compte, ni réseau, ni permission de qui que ce soit.
Votre couche de conformité la lit
NaZelo émet des événements. Les rattacher à IEC 62443, ISO 27001, DORA ou à un référentiel interne relève de l'interprétation, et l'interprétation n'est pas le métier d'un bac à sable.
Une exécution, trois moteurs
Décidé, appliqué, scellé — et relié par un seul identifiant.
Une exécution enregistrée de NaZelo Trust, reproductible depuis le dépôt. Pimatika a décidé des sorties à partir d'un manifeste signé, NaZelo l'a appliqué sur le réseau, et Litatoli a scellé les deux dans une seule chaîne qui se vérifie hors ligne.
seq 1 Pimatika ALLOW example.com
seq 2 Pimatika DENY 1.1.1.1
seq 3 NaZelo sandbox.create
seq 4 NaZelo network filter installed
seq 5 NaZelo the command ran
seq 6 NaZelo blocked — 7 packets to 1.1.1.1
seq 7 NaZelo filter removed
seq 8 NaZelo sandbox.destroy
seq 9 NaZelo the workload's own account, sealed
seq 10 Litatoli run sealed — one chain, head pinned
Le blocage vient de l'applicateur, pas de la charge
La ligne 6 est un compteur tenu par le filtre réseau. La ligne 9 est ce que la charge dit avoir vu. Ce sont deux entrées distinctes à dessein : le récit qu'un programme fait de son propre blocage n'est pas la preuve qu'il a eu lieu.
Ce que le compteur ne distingue pas
Les compteurs de rejet sont IPv4 et indexés sur la seule adresse de destination — ni port, ni protocole. Les sorties IPv6 sont appliquées mais pas comptées. Deux politiques vers une même adresse sont indiscernables dans le compte.
La tête est épinglée, et non signée
Épingler la tête détecte une chaîne tronquée. Elle n'arrête pas quelqu'un capable de réécrire la chaîne et et le reçu ensemble — pour cela, publiez la tête à un endroit que vous ne contrôlez pas.
Tarifs
Par organisation. Pas à l'exécution.
Un développeur démarre un bac à sable des centaines de fois par jour. Le facturer transforme un outil de sécurité en une ligne qu'on demande de réduire — et la première chose qu'on réduit, c'est la sécurité.
Prism
- Tout le bac à sable, les quatre niveaux
- L'enregistrement complet, signé avec votre clé
- Auto-hébergé, coupé du réseau si vous voulez
- Le moteur, code consultable
Alchemy
- Tout Prism
- Dix fois le volume quotidien
- Parc — ce qui a tourné sur le parc, dans la durée
- Scellement disponible — avec Litatoli, en NaZelo Evidence
Harmony
- Tout Alchemy
- Espaces d'équipe — un seul parc, cloisonné par projet
- Cent fois le volume quotidien
- Priorité sur les limites partagées
Sovereignty
- Tout Harmony
- Déploiement dédié dans votre région
- SLA sur mesure
- Support contractuel
Vendus ensemble
Décidé, appliqué, scellé.
NaZelo l'exécute. Pimatika décide ce qu'il peut joindre. Litatoli scelle ce qu'il a produit. Chacun se vend seul ; ensemble, ils coûtent un tiers de moins.
NaZelo Policy
NaZelo + Pimatika — décidé et appliqué, sans chaîne scellée.
NaZelo Evidence
NaZelo + Litatoli — isolé et scellé, sans moteur de politique.
NaZelo Trust
Les trois. Décidé, appliqué, scellé — la garantie entière.
L'annuel, c'est dix mois. Les offres groupées commencent en Alchemy ; le palier gratuit vaut pour un moteur à la fois.
Tarifs de lancement, et le service payant ouvre. Si une offre ne convient pas à votre situation, dites-le — nous préférons l'entendre maintenant que le modéliser.