[nonimo]
FR
Télécharger

La sécurité, en affirmations vérifiables

Écrite pour les équipes informatique et sécurité, pour le délégué à la protection des données et pour qui instruit un dossier de marché. Aucune de ces vérifications ne vous demande de croire ce site : demandez-nous le module et votre équipe les fait en une après-midi.

Jusqu’en juillet 2026, le moteur tournait pour de vrai sur la page d’accueil. Nous l’avons retiré exprès, et le motif a sa place ici : une démo publique qui répond est un moyen d’arracher à un détecteur la façon dont il décide — une requête par seconde, toute la nuit, sans ouvrir un seul fichier. La démo de l’accueil est aujourd’hui un enregistrement d’exécutions réelles. Le moteur, nous vous le remettons, et chez vous le sonder vous regarde.

Le moteur

Construit. Vérifiable aujourd’hui.

Un seul moteur déterministe, sans IA

Compilé depuis Rust vers du code natif et vers WebAssembly. Sans aléa, sans poids de modèle et sans échantillonnage : la même entrée, avec le même état de session, donne la même sortie. Aucun modèle d’IA n’intervient dans la détection. La seule chose qui se traîne est la mémoire de session, qui remasque un nom déjà identifié dans cette même conversation et que l’application appelante peut effacer.

Aucun code réseau, et cela se voit dans votre console

Nous ne promettons pas qu’il n’appelle nulle part : il n’y a pas une seule ligne, dans le moteur, capable d’ouvrir une connexion. Un module WebAssembly ne peut appeler que ce qu’on lui remet, et à celui-ci on ne remet rien : il ne peut ouvrir un socket, ni lire un fichier, ni regarder l’horloge. Posez le module que nous vous envoyons à côté de n’importe quelle page ouverte et collez ceci dans la console :

const ruta = './nonimo_core.wasm'; // le fichier que nous vous envoyons
const bytes = await (await fetch(ruta)).arrayBuffer();
const m = await WebAssembly.instantiate(bytes, {});
console.log(WebAssembly.Module.imports(m.module));

// → [] la liste d’imports est vide

C’est la première vérification que nous ferions nous-mêmes en examinant le produit d’un autre, et elle prend une minute.

La détection se décide selon le niveau de preuve

Ce qui porte une clé de contrôle — l’IBAN par exemple — est nettoyé en silence. Ce qui se trouve par la position ou par les mots alentour — noms, adresses, numéros de dossier — est masqué en le montrant, avec le motif en une phrase et un clic pour le défaire. Par défaut, rien n’est retiré en silence sans preuve arithmétique. Deux choses peuvent changer cela, et vous les décidez : les termes que vous chargez, et le palier de politique que choisit votre informatique — ils sont cinq, et vont d’observer à bloquer.

Aucune liste de noms de notre part

Nous ne distribuons aucun dictionnaire de prénoms ni de noms. Les noms se trouvent par leur position : l’étiquette du formulaire, la signature en bas, la formule de politesse devant le nom, la colonne d’un tableau. Ainsi la couverture ne dépend pas de la fréquence d’un nom, et c’est exactement là que listes et modèles échouent. La seule liste qui intervient est la vôtre : vos clients et vos dossiers, chargés par vous, comparés sur votre poste, et qui ne nous parviennent jamais.

Ce que les applications enregistrent sur votre disque

Construit. Voici l’inventaire complet.

Le moteur n’écrit rien sur le disque : il n’a pas accès aux fichiers, et le module que nous vous remettons ne déclare pas un seul import. Ce qu’il fait, en revanche, c’est rendre la conversation en octets quand l’application la lui demande. L’enregistrer est l’affaire de l’application, et les deux applications de bureau l’enregistrent. Nous le disons donc en entier.

Ce qui est enregistré

La table qui remet en place les valeurs masquées, les décomptes par catégorie, les noms que cette conversation avait déjà reconnus, les termes qu’elle a appris en chemin et la langue dans laquelle elle a frappé ses marqueurs.

Et sur votre vocabulaire, la précision se fait plateforme par plateforme. La liste que vous chargez n’est pas recopiée dedans — le fichier enregistré a six champs et aucun n’est le dictionnaire. Mais les termes de cette liste qui apparaissent dans la conversation, eux, y restent, comme n’importe quelle autre valeur masquée. Cela se produit aujourd’hui sous Windows ; sur Mac pas encore, et non par conception : l’application Mac ne charge encore aucun vocabulaire à elle.

Où, avec quoi, et quand il est écrit

MacWindows
Où À l’intérieur d’Application Support, dans un dossier aux droits 0700 Sous LocalAppData
Avec quoi AES-GCM, sous une clé dérivée de la Secure Enclave DPAPI utilisateur

Quand : chaque fois que l’application masque quelque chose, et à sa fermeture. Rendre les noms n’écrit pas de nouveau, et une fois le quota du mois épuisé non plus.

Et il n’est pas seul : le fichier des totaux est un dossier plus haut

Dans ce même dossier se trouvent la clé du Mac et les fichiers temporaires des deux applications. Et un dossier plus haut, un second fichier non chiffré contenant les totaux par catégorie — des noms de catégorie et des nombres, jamais les valeurs de qui que ce soit. Il est là-haut exprès : précisément pour que ni « Tout effacer » ni le ménage des trente jours ne l’emportent, car sans ces totaux une étiquette déjà attribuée pourrait désigner plus tard une autre personne.

Là non plus elles ne font pas pareil : le Mac range ces noms derrière une empreinte salée par installation, et Windows les laisse lisibles. Et nous disons jusqu’où va cette empreinte, parce qu’il serait facile de promettre davantage : le sel figure sur la première ligne de ce même fichier, et les catégories possibles forment un catalogue fermé de trente-trois, de sorte que celui qui a le fichier en retrouve les noms en essayant les trente-trois — c’est ce que fait l’application elle-même pour le lire. Le sel sert à ce que deux installations ne puissent pas être comparées entre elles, non à ce que celui qui ouvre le fichier n’y comprenne rien.

Et le nombre ne compte pas des personnes : c’est un plancher, le nombre en dessous duquel cette catégorie ne distribue plus. En régime normal il coïncide avec le plus haut marqueur qu’elle ait distribué ; mais si l’application perd son histoire, les trente-trois montent d’un coup au même nombre, qui peut être bien au-dessus de tout ce que quiconque a utilisé. C’est pourquoi il ne peut se lire comme le décompte de quoi que ce soit.

Combien de temps il reste, et ce qu’est ce délai exactement

Une conversation enregistrée ne peut plus s’ouvrir au bout de trente jours sans enregistrement, et la date vaut une fois pour le fichier entier : un enregistrement d’aujourd’hui met donc la date d’aujourd’hui sur ce qui y est depuis des mois. Mais ce n’est pas le même délai sur les deux.

Sous Windows, c’est un délai d’ouverture et rien d’autre : le fichier périmé reste sur le disque, chiffré, jusqu’à ce qu’un enregistrement postérieur l’écrase — et ce qui périme, c’est la date, pas le fichier, puisque la comparaison se fait avec l’horloge du poste.

Sur Mac, c’est les deux : il ne s’ouvre plus et le ménage du démarrage l’efface, compté depuis la dernière écriture du fichier et non depuis la date qu’il porte — il peut donc y disparaître un peu plus tôt. Nos propres contrôles internes comptent vingt-neuf jours précisément pour cela.

Le délai ne vaut que pour la conversation. Les totaux par catégorie et les préférences ne portent aucune date et n’expirent sur aucune des deux. L’historique des changements de réglages porte la date et l’heure de chaque changement — c’est sa raison d’être — et n’expire pas non plus. Et le compteur d’usage porte le mois en cours et repart chaque mois.

Comment on efface, et là les deux ne font pas pareil

MacWindows
Ménage automatique Efface le périmé au prochain lancement de Nonimo, avant d’ouvrir quoi que ce soit. Aucun balayage en arrière-plan : à une application qu’on ne rouvre pas, rien ne périme jamais du disque Aucun. Un fichier périmé n’est plus ouvert par Nonimo, mais il reste là jusqu’à ce qu’un enregistrement postérieur l’écrase
Bouton d’effacement « Tout effacer » dans les réglages. Demande au système de retirer le fichier et lit ce que le système répond : si l’effacement échoue, il ne dit pas « Effacé » mais « Effacé à moitié », empêche l’ouverture en changeant de l’extérieur le sceau, tente en plus de le vider à zéro octet et vous montre le dossier Aucun aujourd’hui. Fermer l’application enregistre, cela n’efface pas
Sauvegardes Exclut de Time Machine le dossier des conversations et le fichier des totaux Pas d’attribut équivalent : un clone de disque ou une copie en bloc du profil les emportent

« Tout effacer » retire la conversation, et elle seule : la clé et le fichier des totaux restent exprès.

Contre quoi il protège, et contre quoi non

Face àMacWindows
Un programme tournant dans la session de cette personne 🔴 Aucune des deux ne protège : il peut déchiffrer le fichier
Qui administre la machine 🔴 Non : avec les droits d’administration on atteint la clé, et la puce la déballe de la même façon 🔴 Non : qui devient administrateur atteint les identifiants de ce compte
Un autre compte sans privilèges ✅ Oui, par les droits (0700 le dossier, 0600 les fichiers) ✅ Oui, par le chiffrement lui-même : la DPAPI est liée aux identifiants du compte, et pouvoir lire le fichier ne suffit pas
L’emporter sur un autre ordinateur ✅ Ne s’ouvre pas : la puce lie la clé au Mac qui l’a créée ⚠️ Le fichier seul ne s’ouvre pas, mais un clone du disque ou une copie du profil entier emportent aussi les identifiants — et alors il s’ouvre

Trois choses que nous préférons dire avant que vous ne les trouviez

Le panneau de conformité, lui, enregistre bien sur disque les décomptes qu’il reçoit, car c’est de là que sort le rapport mensuel — sur votre serveur et avec la durée de conservation que vous fixez.

Ce qui sort de chaque ordinateur

Existent le moteur et l’application de bureau sur les deux plateformes — celle du Mac signée avec un Apple Developer ID et notarisée, celle de Windows signée elle aussi. Ce qui suit couvre l’application personnelle et la version d’entreprise, et chaque ligne nous engage.

De l’application personnelle sortent des décomptes, jamais du texte

Il n’y a pas de compte, et le seul endroit où nous demandons votre adresse est la page de la clé de licence gratuite — et, plus tard, le paiement. L’application elle-même ne la demande jamais. La détection n’a besoin de se connecter à aucun serveur à nous, pas même pour mettre à jour ses règles, et cela mérite d’être vérifié plutôt que cru : le moteur n’a aucun code réseau pour le faire.

Ce que l’application externe envoie, une fois par jour, est un décompte d’usage : combien du quota du mois est consommé, quelle part était des documents et quelle part du texte collé, les versions et la plateforme, et un numéro d’installation généré sur la machine elle-même. Pas un mot de votre texte et pas un terme de votre dictionnaire. La liste complète est dans confidentialité.

Le décompte quotidien ne se désactive pas depuis l’application, et la voie pour s’y opposer est de nous écrire. Les versions macOS jusqu’à la 0.1.6 ont encore la case dans les Réglages ; elle disparaît à la mise à jour, et ce que ce site vous livre aujourd’hui est une version postérieure sur les deux plateformes.

La vérification de version, et pourquoi sous macOS elle n’est pas anonyme

L’application demande à ce site s’il existe une version plus récente. Sous macOS, cette requête n’est pas anonyme — nous préférons l’écrire plutôt que laisser une phrase plus propre : elle porte votre version et votre système, dans un seul en-tête et rien d’autre, sans numéro d’installation, sans paramètres dans l’adresse et sans cookies. La version Windows n’envoie aucun en-tête User-Agent, la requête y est donc seulement une IP demandant un fichier public.

Rien de tout cela n’est nécessaire au fonctionnement

Sans réseau, ou avec notre serveur en panne, elle continue de masquer contre un compteur local. Si le serveur était indispensable, une panne de notre côté laisserait tout le monde sans protection.

Le rapport de couverture envoie des formes, pas des valeurs

Il dit par exemple que quelque chose ayant la forme AAA-9999-99999 est apparu 37 fois derrière le mot « commande » : les lettres deviennent A, les chiffres 9. Trois verrous : la valeur ne circule pas, aucun mot qui ne vienne de nous ne circule, et il existe un seuil de répétition en dessous duquel rien n’est noté. Le moteur n’envoie pas le rapport, il ne fait que le préparer. C’est l’application externe qui l’enverrait, avec permission, et il arrive désactivé d’origine.

De la version d’entreprise sortent des décomptes et des catégories

Un événement du panneau porte cinq champs : date et heure, identifiant de l’appareil, décomptes par catégorie, version de la politique et action prise. Pas le texte, pas les valeurs, pas l’adresse de destination et pas ce que la personne a écrit dans l’outil d’IA. Si cet identifiant peut être rattaché à une personne, c’est vous qui le décidez au déploiement : pseudonyme par défaut.

Comment se passe le déploiement

Comment cela s’installe et, surtout, ce que cela ne fait pas — pour que votre informatique l’évalue avant de le déployer.

Secteur public : nos certifications et votre dossier

Nous n’avons aucune certification, et nous le disons ici

Nonimo n’est pas certifié ISO 27001, ni SOC 2, et ne figure sur aucune liste de produits qualifiés par l’ANSSI. Pas une seule. Nous le disons ici, sur la page qu’on lit avant de nous appeler, et non dans les petites lignes d’une offre.

Ce que nous avons, c’est une architecture qui raccourcit votre examen

Le moteur tourne localement sur chaque poste de travail, et le panneau s’installe dans votre infrastructure ou dans celle de votre intégrateur. Il n’existe donc aucun système à nous à faire entrer dans le périmètre de votre système d’information. Ce qu’il y a à évaluer, ce sont des postes et des serveurs qui vous appartiennent déjà, dont le niveau de sensibilité est déjà établi et qui figurent déjà dans votre inventaire. Nonimo s’y ajoute comme un produit de plus dans un système existant, et non comme un service rendu depuis l’extérieur.

La nuance compte, et nous l’écrivons plutôt que de laisser cela sonner mieux que ce n’est : quand un prestataire rend le service, les exigences atteignent bel et bien ses systèmes, et les marchés le reprennent en clause. L’avantage ici n’est pas une subtilité en notre faveur : c’est que dans ce montage il n’y a pas de système du prestataire. Cela ne vous retire aucun devoir — qualifier votre système, revoir votre analyse de risques et documenter l’intégration du produit restent chez vous.

Les cinq flux qui devront figurer dans votre documentation

Le moteur n’ouvre pas de connexions, le flux qui sort du produit ne porte donc jamais de données traitées. Mais il y a des flux, et nous les disons avant que vous ne les trouviez :

  1. Les courriels que vous nous écrivez sortent de l’Union européenne : la messagerie est chez Google Workspace et le responsable est en Australie. Nous ne fixons pas le pays où repose la boîte.
  2. La vérification de version : l’application demande à nonimo.ai un fichier public et compare les numéros sur le poste. Sans cookies et sans paramètres dans l’adresse, mais sous macOS pas anonyme. Elle se désactive entièrement depuis l’application.
  3. Le décompte quotidien d’usage de la version personnelle : des chiffres sur ce qui a été utilisé, jamais de texte et jamais de termes du dictionnaire. Reçu et conservé par Cloudflare, Inc. pour notre compte. Il n’existe pas dans la version pour organisations, qui rend compte à votre panneau et non à nous.
  4. Le rapport de couverture, si quelqu’un l’active : cet envoi existe et finit dans ce même stockage, même si ce qui circule ce sont des formes et non des valeurs. Désactivé d’origine.
  5. Les rapports de problème que vous décidez de nous envoyer depuis l’application. Ils portent ce que vous écrivez dans ce formulaire et les données techniques de la version.

Les cinq portent des chiffres, des adresses que vous nous écrivez, ou des formes — jamais le texte que le moteur a analysé, qui est l’affirmation qui soutient tout le reste et la seule qu’il faille vérifier.

Notre position sur la sous-traitance

Dite comme position et non comme sentence : nous ne sommes ni responsable ni sous-traitant des données qui passent par le moteur — nous ne les recevons pas, ne les stockons pas et n’avons aucun moyen d’y accéder. Si votre délégué ou votre intégrateur le voient autrement, nous n’en discutons pas : nous signons le contrat de l’article 28 du RGPD, avec sa liste de sous-traitants ultérieurs, aujourd’hui vide pour le produit.

Ce que nous vous remettons pour le dossier

Sur demande, sans formulaire et sans démonstration obligatoire :

Si un marché exige une certification du prestataire lui-même, nous ne pouvons pas concourir aujourd’hui. Nous vous le disons avant que vous n’y passiez du temps, et non après la commission d’attribution.

Qui signe : Llevant Group Pty Ltd, ABN 17 691 906 751, établissement principal au 1A Bruce Street, Kensington VIC 3031, Australie. Nous n’avons aucun établissement dans l’Union européenne. Contact : hello@nonimo.ai.

Avant le déploiement : ce qui vous revient

Le panneau enregistre des compteurs par catégorie et par appareil. Une fois déployé, c’est un dispositif technique susceptible de permettre le contrôle de l’activité ou des performances des salariés, avec tout ce qui s’y attache.

Ce que cela déclenche exactement en droit français, nous ne l’écrirons pas ici : la procédure d’information et de consultation des représentants du personnel, sa forme et son calendrier relèvent de votre conseil, et cette page n’affirme rien qu’elle ne puisse montrer. Ce que nous disons, en revanche, est net : ne déployez pas avant d’avoir traité cette question avec qui de droit.

Que la mesure soit proportionnée, c’est ce qu’il faut argumenter, et Nonimo est conçu pour que cet argument soit facile : le panneau reçoit des décomptes et non du texte, il ne voit pas ce que la personne a écrit, et l’identifiant de l’appareil peut rester pseudonyme. On prouve que le contrôle était en place sans lire le travail de personne.

Cette communication, vous n’avez pas à la rédiger : elle accompagne la documentation du déploiement, avec le modèle de politique interne. Un déploiement qui saute cette étape peut être renversé en entier, et s’en apercevoir tard coule le projet. Nous préférons le dire ici et freiner une vente rapide.

Ce site

Vérifié contre le site déployé.

La politique de sécurité du contenu, en vigueur

Pas en mode observation, sans jokers et sans un seul hôte tiers. Ce sont les onze que sert l’en-tête : default-src 'self', script-src 'self', style-src 'self' 'unsafe-inline', img-src 'self' data:, font-src 'self', connect-src 'self' https://api.nonimo.ai, object-src 'none', frame-ancestors 'none', base-uri 'self', form-action 'none' et upgrade-insecure-requests.

La seule origine de scripts autorisée est ce domaine, et le seul endroit vers lequel une page peut ouvrir une connexion — même si quelqu’un parvenait à y injecter du code — est api.nonimo.ai, notre propre serveur, là pour que la page de la licence puisse lui parler.

Les trois assouplissements, dits par nous

Ce sont de vrais assouplissements et vous les trouverez de toute façon : mieux vaut que nous les disions. Jusqu’en juillet 2026 il y en avait un quatrième, 'wasm-unsafe-eval', dont la démo vivante avait besoin ; il est parti avec elle.

Les autres en-têtes

X-Frame-Options: DENY et frame-ancestors 'none', les deux à la même valeur, parce que ce site ne s’intègre nulle part. Plus Permissions-Policy refusant caméra, micro, position et paiements, que nous ne demandons pas et ne demanderons pas. nosniff et strict-origin-when-cross-origin sont envoyés par Cloudflare Pages de lui-même ; nous l’avons vérifié avant de cesser de les écrire, pour ne pas finir avec le même en-tête deux fois.

Sans cookies, sans analyse et sans ressources tierces

Aucune page de ce site ne charge quoi que ce soit qui ne vienne de ce domaine, et c’est pour cela qu’il n’y a pas de bandeau. La seule page qui ouvre une connexion hors de son propre document est celle de la licence, et elle va à notre propre serveur.

Et une réserve, dite par nous — elle se trouve en dix secondes avec le même analyseur d’en-têtes que nous vous proposons : notre hébergeur ajoute à ses réponses les en-têtes NEL et Report-To, qui demandent au navigateur de signaler une panne de connexion au point de télémétrie de l’hébergeur. Ces signalements n’existent que quand le réseau tombe, et ne portent rien de ce que vous écrivez ni rien de la page.

D’analyse, il n’y en a pas : notre hébergeur en propose une gratuite et sans cookies, et nous avons dit non, parce que l’activer amène un script d’un autre serveur — exactement ce que cette page promet de ne pas faire. Inutile de nous croire : passez-y un analyseur d’en-têtes et comparez le résultat avec celui de n’importe quel autre produit de sécurité que vous regardez.

Ce que nous n’affirmerons pas

Aucune certification

Aucune : ni ISO 27001, ni SOC 2, ni qualification ANSSI. Nous sommes une entreprise jeune et ces audits coûtent plus que ce que nous avons. Ce que nous faisons à la place est au-dessus : une architecture qui réduit le périmètre, le moteur revu ligne à ligne et l’offre que votre équipe l’examine. Et nous répondons à tout questionnaire de sécurité que vous nous envoyez. Si pour vous une certification est une exigence dure, dites-le maintenant et nous vous dirons franchement si nous arrivons à temps.

Aucun taux de réussite unique, parce qu’il n’existe pas

Il dépend de la langue et du type de document, et qui vous donne un seul chiffre vous vend le chiffre, pas la mesure. Ce que nous donnons, ce sont les mesures, chacune avec son corpus et sa date. Voici celles du 31 juillet 2026, et elles gardent cette date : le moteur continue de changer, donc si le dossier a besoin de celles d’aujourd’hui, on les demande.

Un chiffre mesuré dans une langue ne dit rien de l’autre, donc les deux marchés se mesurent séparément, toujours.

Et l’examen du moteur n’a pas été un audit indépendant

Il a été interne et adversarial, en juillet 2026 : un lecteur par fichier, un vérificateur qui tentait de renverser chaque constat, 49 constats bruts, 13 réfutés et 36 confirmés et corrigés. Il est bien fait et ce n’est pas la même chose qu’un tiers accrédité, nous n’allons donc pas l’appeler audit.

Et ceci n’est pas un conseil juridique. Cela décrit comment le produit est construit et quelles obligations son déploiement déclenche, pour que votre délégué et votre conseil décident avec les données devant eux. C’est vous qui signez.

Nous parler

Des questions de sécurité, ou vous voulez que votre équipe examine le moteur ? Écrivez à hello@nonimo.ai. L’examen du moteur est une offre réelle : nous vous le donnons pour que vous le lisiez.

Et si vous préférez le mesurer avant de parler à qui que ce soit, demandez-nous le module et passez-lui vos propres documents sur votre propre machine : une décision publiée, un formulaire vierge, un dossier clos. C’est la mesure qui vaut, parce que vous la faites avec votre papier et non le nôtre, et nous ne voyons ni le document ni le résultat.

Vous avez trouvé une vulnérabilité ? Écrivez à la même adresse. Nous accusons réception en deux jours ouvrés et vous disons ce que nous ferons et quand. Nous n’irons jamais contre qui signale de bonne foi, et si vous voulez le crédit, nous vous le donnons. S’il y avait un jour un incident qui vous touche, nous vous le racontons en moins de 24 heures — moins de 24 et non 72 exprès : les 72 heures pour votre propre notification sont les vôtres et il vous faut de la marge dedans.

Dernière révision : 24 septembre 2026. Quand le produit change, la page et la date changent.