Aller au contenu

Ce que NeverNo garde, et ce qu’il ne garde pas

Chaque phrase de cette page a été relue dans le code qui fait tourner le site. Tu y lis ce que NeverNo garde, ce qu’il ne garde jamais, qui lit tes messages et comment le vérifier toi-même.

Dernière vérification dans le code : 11 novembre 2026

  • Dans ton navigateur

    Tes conversations, tes images, tes personnages et ta mémoire, chiffrés avec une clé que le navigateur ne laisse pas exporter. Si tu actives la synchronisation, une copie illisible sur nos serveurs, sans les médias.

  • Sur nos serveurs

    Ton compte, ton offre, tes crédits, des compteurs d’usage et les repères de compte listés plus bas (appareils, paiements, essais). Les liens de partage, la sauvegarde et la synchronisation, seulement chiffrés, illisibles pour nous.

  • Jamais gardé

    Le texte de tes messages et des réponses, tes images, ta voix : ils traversent nos serveurs le temps de la réponse, sans être enregistrés en clair.

Ce qui reste dans ton navigateur

Tout ce que tu crées vit dans une base IndexedDB nommée neverno, dans ce navigateur seulement. Il n’en existe aucune copie lisible sur nos serveurs : seulement, si tu les crées toi-même, une sauvegarde, un lien de partage ou la copie de la synchronisation, chiffrés tous les trois (voir plus bas).

Au premier usage, ton navigateur crée une clé AES-256-GCM « non extractible » : la page peut s’en servir pour chiffrer et déchiffrer, mais aucun script ne peut la lire en octets, pas même les nôtres. Elle reste dans la table keys de la même base et ne quitte jamais l’appareil. Chaque contenu est chiffré à part, avec un vecteur aléatoire de 12 octets.

Pour trier et retrouver tes discussions sans tout déchiffrer, quelques repères restent lisibles : identifiants, dates, modèle utilisé. Le tableau dit lesquels.

Ce qui est stockéChiffréReste lisible
DiscussionsLe titreIdentifiant, dossier, projet, genre (par exemple une séance du Confessionnal), épinglée ou non, modèle, personnage, dates
MessagesLe texte, la réflexion du modèle, les sources web, les étapes, les versions, ton avisIdentifiant, auteur (toi ou NeverNo), modèle, état, liens vers les médias, date, durée de réflexion
DossiersLe nomOrdre, date
Images, vidéos et sonsLe fichier, sa description, son modèle, sa tailleType de média, format du fichier, discussion liée, date
Personnages que tu créesToute la ficheIdentifiant, dates
Mémoire (comptes)Chaque souvenir et son vecteurDiscussion d’origine, type de souvenir, à qui il se rapporte (toi ou un personnage), dates
Instructions personnalisées, apprentissages en attenteLe texteRien
RéglagesLes noms à masquer avant les modèles anonymisés, la clé de données de la synchronisationMémoire activée ou non, masquage activé ou non, sauvegarde automatique, date de la dernière sauvegarde, clé de sauvegarde (non extractible), tes liens de partage avec leur clé, pour que tu puisses les recopier, état de la synchronisation (compte, époque de la clé, curseur, date du dernier échange)
Suivi de la synchronisationRien : aucun contenu n’y est copiéLes lignes modifiées à envoyer (table et identifiant), et pour chaque élément déjà échangé son identifiant opaque, son compteur, sa version et une empreinte
Coffre privéLe nom et les détails de chaque document, le texte de chaque passage et son vecteurIdentifiants, ordre des passages, état de l’indexation, nombre de passages, dates
ProjetsTout le projet : son nom, ses consignes et ses réglagesIdentifiant, dates
Fichiers d’un projet ou d’une discussionLe nom et le contenuIdentifiant, discussion ou projet lié, type et taille du fichier, origine (toi ou un agent), dates
Suivi des fichiers synchronisés (quand la synchronisation des médias est active)La clé propre à chaque fichierIdentifiant opaque, taille, nombre de morceaux, état de l’envoi, date

Dans le stockage local, en clair

Quelques préférences d’interface sont gardées en clair dans le localStorage du navigateur, sans contenu de discussion : le modèle choisi, les réglages du Studio image (prompt négatif compris), la voix choisie, la couleur d’accent, l’avatar d’un visiteur, l’état de la barre latérale, les suggestions d’abonnement déjà montrées, et d’autres réglages du même genre (le personnage choisi au Confessionnal, les notifications, les écrans d’accueil déjà vus et, pour un compte tout juste créé, son identifiant et l’heure de sa création). Une exception : tant qu’une vidéo, une musique ou un effet sonore est en cours de création, sa description et ses réglages y sont gardés en clair pour retrouver la création après un rechargement ; ils en sont retirés quand elle arrive ou que tu la retires, et à ta première visite plus de 24 heures après un échec. Une création lancée depuis une discussion éphémère n’y est jamais écrite.

Quand tu fais d’un message une mission, son texte passe à la page des missions par le sessionStorage de l’onglet, en clair : la page le lit une fois et l’efface, et il disparaît de toute façon à la fermeture de l’onglet.

« Tout effacer » dans les Réglages, ou effacer les données du site dans ton navigateur, supprime la base et la clé. Sans sauvegarde ni synchronisation, rien ne peut être récupéré, ni par toi ni par nous.

Synchronisation chiffrée entre tes appareils

Rien de lisible sur nos serveurs. Nous n’en gardons qu’une copie illisible, que seules ta clé d’accès, ta clé de secours ou tes appareils approuvés ouvrent. Nous voyons combien d’éléments tu synchronises et quand, jamais leur contenu.

Avec un compte, tu peux l’activer dans Réglages › Données : tes discussions, tes dossiers, tes personnages, tes projets (avec leurs fichiers jusqu’à 200 Ko chacun), ta mémoire, tes agents, tes instructions personnalisées et tes réglages te suivent sur tes autres appareils. Chaque élément est chiffré dans ton navigateur en AES-256-GCM avant de partir, sous une clé de données que nos serveurs n’ont jamais, et son identifiant est opacifié : le serveur ne sait pas s’il range un message, un personnage ou un réglage. Le coffre (documents et passages) se synchronise aussi, chiffré de la même façon. Les images, les vidéos et les sons ne sont pas encore synchronisés : ils restent dans ce navigateur, et dans ta sauvegarde chiffrée si tu en fais une. Un visiteur sans compte n’a pas de synchronisation.

La clé de données naît sur ton premier appareil. Elle est enveloppée par ta clé d’accès (une clé WebAuthn qui ne sert qu’à cela, pas à te connecter), par ta clé de secours, et scellée pour chacun de tes appareils approuvés. Un nouvel appareil l’obtient par l’un de ces trois chemins. Une session volée ne suffit pas : chaque requête de synchronisation doit être signée par un appareil approuvé.

Ce que nos serveurs voient

  • le nombre d’éléments synchronisés et la taille de chacun, arrondie à un multiple de 256 octets, jamais leur type ni leur contenu ;
  • l’heure de chaque écriture, celle du dernier échange, et l’appareil qui a écrit chaque élément ;
  • tes appareils (leur nom, leur statut, leurs dates) et tes clés d’accès (identifiant, nom, date) ;
  • le volume utilisé, comparé au plafond de ton offre. Un élément supprimé laisse une trace sans contenu pendant 180 jours, pour que tes autres appareils le suppriment aussi.

Espace de synchronisation par offre

OffreEspace
Gratuit100 Mo
Pro5 Go
Pro+20 Go
Max100 Go

Une fois l’espace rempli, tes nouveaux changements attendent sur ton appareil : rien n’est perdu, et tes autres appareils continuent de recevoir ce qui est déjà synchronisé. Si ton offre passe à une offre avec moins d’espace que ce que tu utilises, rien n’est effacé, mais plus rien de nouveau ne se synchronise, texte compris, tant que tu n’as pas assez supprimé.

Tu gardes la main

  • Désactiver, dans Réglages › Données, arrête la synchronisation et efface de nos serveurs les éléments, les enveloppes de la clé et les accès des appareils. Il n’y reste que des repères sans contenu, listés plus bas : la date de cet arrêt et la trace d’une éventuelle remise à zéro. Tes données restent dans ce navigateur.
  • Une discussion éphémère n’est jamais écrite dans ce navigateur : elle n’est donc jamais synchronisée.
  • Ta clé de secours ouvre tes données sur un nouvel appareil si tu perds ta clé d’accès. Elle est affichée une seule fois, et nous ne la voyons jamais. En demander une nouvelle exige ta clé d’accès, ou l’ancienne clé de secours.
  • Sans clé d’accès, sans clé de secours et sans autre appareil approuvé, notre copie ne s’ouvre plus. Tes appareils gardent leurs données, et tu peux réactiver la synchronisation depuis l’un d’eux.
  • « Changer la clé » rechiffre tout avec une nouvelle clé : à faire après avoir révoqué un appareil que tu ne contrôles plus.

Discussions éphémères : rien n’est gardé, même ici

Une discussion éphémère (la bulle en pointillés à côté du choix du modèle, ou « Nouvelle discussion éphémère » dans la barre latérale et la palette ⌘K) fonctionne comme les autres, à une différence près : elle n’est jamais écrite dans ce navigateur. Ses messages, les images et les voix créées dedans et les fichiers que tu joins vivent dans la mémoire de l’onglet, et nulle part ailleurs.

  • rien n’entre dans IndexedDB : ni discussion, ni message, ni média, et aucune clé n’est créée pour elle ;
  • aucun titre dans la barre latérale ni dans la recherche, et pas d’adresse à elle : elle reste sur /chat?ephemeral=1 ;
  • la mémoire n’y lit rien et n’en apprend rien, et elle n’entre dans aucune sauvegarde, aucun lien de partage ni aucune synchronisation ;
  • recharger la page, fermer l’onglet ou quitter la discussion (dans l’application, après confirmation) l’efface pour de bon.

Ce qui compte quand même : tes messages entrent dans le quota du jour, et un vote sur une réponse s’ajoute à un total anonyme, comme dans toute discussion. Rien ne change non plus de notre côté : comme pour toute discussion, le texte traverse nos serveurs jusqu’au modèle et n’est écrit nulle part.

Coffre privé : tes documents, et ce qui part

Le coffre (« Coffre » dans la barre latérale) garde les documents que tu ajoutes, PDF, Word, Markdown, texte ou code, dans la même base neverno, chiffrés avec la même clé. Chaque document est découpé en passages d’environ 800 jetons ; le nom et les détails du document, le texte de chaque passage et son vecteur sont scellés. Seuls les identifiants, l’ordre des passages, l’état de l’indexation et les compteurs restent lisibles. Le fichier d’origine n’est pas gardé.

Trouver les passages qui répondent à une question demande un vecteur pour chaque passage : 1 024 nombres qui décrivent son sens. Ce calcul n’est pas fait dans ton navigateur. Voici exactement ce qui en sort, et quand.

Ce qui quitte ton navigateur

  • quand tu ajoutes un document : rien. Les fichiers PDF (page par page), Word, Markdown, texte et code sont lus dans ton navigateur et ne sont jamais envoyés entiers ;
  • pendant l’indexation d’un document : le texte de chaque passage, une fois, vers notre serveur puis DeepInfra, qui renvoie son vecteur ; rien n’est gardé et le texte n’est jamais journalisé (/api/memory/embed) ;
  • avec chaque question, quand « Réponds avec mon coffre » est activé : la question, pour obtenir son vecteur de la même façon, puis seulement les passages les plus proches (6 au plus, 3 avec l’offre gratuite) avec le nom de leur document, avec ce message seulement, vers notre serveur et le modèle qui répond, comme le reste du message. Ils ne sont pas enregistrés dans la discussion et ne repartent pas avec les messages suivants.

Ce qui ne part jamais

  • le reste de tes documents : les passages dont une question n’a pas eu besoin, et le nom d’un document qui n’en a donné aucun ;
  • la recherche elle-même : les passages les plus proches sont choisis dans ton navigateur, sur les vecteurs qu’il garde ;
  • la liste de tes documents, ceux qu’une discussion utilise, et la recherche par mots de la page Coffre.

Ce qui compte quand même : chaque passage indexé et chaque question cherchée entrent dans un quota du jour (vault), et ce que le calcul nous coûte est enregistré sous forme de montant, comme pour la mémoire. Avec un modèle marqué « Anonymisé », les passages arrivent chez son éditeur avec le message, selon ses règles. « Tout effacer » dans les Réglages supprime le coffre avec le reste.

Missions : quand un agent travaille sans toi

Une mission (offres payantes, et un essai pour un compte gratuit) tourne sur nos serveurs pendant que tu n’es pas là : c’est la seule partie de NeverNo où le serveur doit lire tes consignes pour travailler. On le dit franchement, et on réduit ce qui reste au strict minimum.

Les consignes, la fiche de l’agent, les retours que tu donnes et le dernier relevé d’une veille sont chiffrés au repos avec une clé que seul le serveur des missions possède, liée à la mission et à ton compte. Pendant un passage, les pages lues et les notes de travail sont gardées chiffrées, puis effacées dès la livraison.

Le résultat est chiffré pour la clé publique de tes appareils : la clé privée est créée dans ton navigateur et n’en sort jamais (elle suit ta sauvegarde chiffrée). Nous n’avons aucun moyen de relire un résultat livré ; son texte chiffré est effacé de nos serveurs dès que ton appareil l’a reçu, et au plus tard après 30 jours. Ces effacements à échéance (30 et 90 jours) sont faits par une purge qui tourne chaque heure.

DonnéeLisible par le serveurGardée
Rythme (jours, heure, fuseau), budget, état, compteursOui, pour réveiller la missionTant que la mission existe
Consignes, fiche de l’agent, retours, connecteurs choisisSeulement pendant un passage (chiffrées au repos)Tant que la mission existe
Dernier relevé d’une veille (les quelques faits à comparer)Seulement pendant un passage (chiffré au repos)Remplacé à chaque passage
Pages lues, notes de travail, journal des étapesPendant le passage (chiffrés au repos)Effacés à la livraison
Résultat livréNon : chiffré pour tes appareilsJusqu’à réception par ton appareil, 30 jours au plus
Jeton ou secret d’un connecteurSeulement pour l’appel (chiffré au repos)Effacé dès que tu déconnectes

Toute action vers l’extérieur (envoyer un message, appeler un outil qui agit) attend ton accord en un geste ; les notifications ne contiennent jamais le contenu de la mission.

Ce que nos serveurs gardent, exactement

Notre base de données (Supabase, Postgres) n’a aucune table qui puisse lire les messages, les réponses ou les images : la synchronisation n’y range que des éléments chiffrés, sans type ni identifiant lisibles. Voici ce qu’elle garde, par famille, d’après ses migrations (supabase/migrations/).

DonnéePourquoiCombien de temps
Compte : adresse e-mail, date d’inscription et de dernière connexion. Supabase, qui gère la connexion pour nous, garde pour chaque session ouverte le nom complet de ton navigateur (son « user agent ») et l’adresse IP d’où elle a été ouverte, et tient un journal des connexionsTe connecter par un code envoyé par e-mailTant que le compte existe ; une session : jusqu’à sa fermeture (tu vois et fermes tes sessions dans Réglages › Sécurité)
Profil : offre et date de renouvellement, filtre de contenu activé ou non, date de ta déclaration « 18 ans ou plus », suspension éventuelle, avatar choisi (une graine de 64 caractères au plus, jamais une photo), couleur d’accentAppliquer les droits de ton offre, afficher ton interface sur chaque appareilTant que le compte existe
Paiement : identifiant client Stripe, état de l’abonnement, recharge automatique (seuil, montant, identifiant de la carte chez Stripe), codes cadeaux utilisés, identifiants des événements Stripe déjà traitésFacturer, gérer l’abonnement, ne jamais traiter deux fois un paiementTant que le compte existe ; les factures chez Stripe, selon les obligations comptables
Crédits : chaque lot (montant, origine, expiration) et chaque dépense, avec son montant, sa date et un motif qui nomme la fonction ou le modèle payé (par exemple chat:claude-opus-5.5, confessional, debate:contract, research:…, image:…, media:…). Ce journal montre donc à quelles dates tu as payé une séance du Confessionnal, sans rien de ce qui s’y est ditTenir ton solde juste, rembourser une création ratéeTant que le compte existe
Compteurs d’usage : le type d’action (message, image, recherche…) et l’heure, rattachés à ton compte ; pour un visiteur sans compte, à un identifiant d’essai aléatoire et à une empreinte de son adresse IP calculée avec une clé secrète (pour une adresse IPv6, de tout son réseau /64, le bloc d’adresses d’une même connexion, et non de l’adresse seule) ; pour un compte gratuit, les images, la lecture vocale et la dictée sont aussi comptées sur cette empreinte, dans un compteur à part qui ne porte pas l’identifiant du compte (les comptes gratuits d’une même connexion partagent une limite)Les limites sur 24 heures glissantes, et le calendrier sur 30 jours de « Mon abonnement »Compte : gardés 31 jours (des nombres seulement, jamais de contenu), puis effacés chaque heure. Visiteur sans compte : effacés chaque heure au-delà de 48 heures. Ceux de la dernière minute, qui limitent les rafales de requêtes, au bout d’une heure
Coût de ton usage inclus : un montant en dollars, un type (chat, image, voix…) et l’heure, liés à ton compte ou, pour un visiteur sans compte, à son identifiant d’essai ou à l’empreinte de son adresse IPLe plafond de coût quotidien de chaque offreCompte : effacés chaque heure au-delà de 35 jours. Visiteur sans compte : au-delà de 48 heures
Créations longues (vidéo, musique, effets) : le modèle, l’état, les dates, les crédits réservés, le numéro de la tâche chez le fournisseur et, pour une vidéo, le fait qu’elle part d’une image importéeSuivre la génération et la payer une seule foisTant que le compte existe, sans description ni fichier chez nous ; le numéro de tâche permet au fournisseur de retrouver la description qu’il a reçue, le temps qu’il la garde
Liens de partage : le texte chiffré (illisible pour nous), sa taille, ses dates de création et d’expiration, le compte qui l’a crééQue la personne qui a le lien puisse le lireJusqu’à l’expiration choisie (1, 7 ou 30 jours) ou ta suppression, puis effacés dans l’heure
Sauvegarde : un fichier chiffré par ta phrase secrète, sa taille et sa dateRetrouver tes données sur un autre appareilJusqu’à ce que tu la supprimes ou la remplaces
Synchronisation chiffrée : chaque élément chiffré (illisible pour nous) avec son identifiant opaque, sa version, sa taille arrondie à 256 octets, son heure et l’appareil qui l’a écrit ; la clé de données enveloppée par ta clé d’accès, ta clé de secours et pour chaque appareil approuvé ; le volume utiliséRetrouver tes données sur tes autres appareilsJusqu’à ce que tu désactives la synchronisation ou supprimes le compte ; un élément supprimé laisse une trace sans contenu pendant 180 jours
Messages spontanés des compagnons : pour chaque compagnon, un identifiant aléatoire opaque (jamais le personnage dont il s’agit), la fréquence choisie, la prochaine heure, ton fuseau horaire et tes heures calmes, le jour de la dernière notification et si une attend ; son nom seulement si tu l’as permis dans la notification. Jamais un mot d’une conversation : le message est écrit sur ton appareil à l’ouverture de l’applicationEnvoyer une notification sans contenu (« NeverNo », « Lena pense à toi » ou « Un message t’attend »)Jusqu’à ce que tu les coupes pour ce compagnon ou pour le compte, que tu recommences la relation ou que tu supprimes le compte
Clés API : leur nom, leurs 12 premiers caractères et une empreinte SHA-256 (jamais la clé elle-même), la date de dernière utilisationReconnaître tes appels à l’APITant que le compte existe (une clé révoquée garde sa date de révocation)
Avis sur les réponses : des compteurs par jour, par modèle, par vote et par raisonRégler le mode AutoSans limite, mais sans compte, sans identifiant et sans texte : rien ne les relie à toi
Journal d’administration : chaque action d’un administrateur sur un compte (crédits ajoutés, suspension…) et certaines actions automatiques (abonnement arrivé à terme, commande en crypto avec le pays déclaré et le pays de la connexion, remise à zéro de la synchronisation, purge d’un compte inactif)Contrôle et sécuritéConservé, même après la suppression du compte, sans son identifiant ; aucune durée maximale n’est encore fixée
Statistiques d’usage : noms d’événements d’une liste fixe, modèle de page, domaine d’origine, étiquettes de campagne, pays, type d’appareil, langue, empreinte du jour (clé effacée chaque nuit) ; pour un compte, son jour d’inscription, son origine, son premier paiement et ses totaux de revenu et de coûtSavoir quoi améliorer, mesurer les inscriptions et la margeÉvénements bruts 90 jours, puis seulement des totaux du jour anonymes ; la part du compte jusqu’à ce que tu la désactives ou supprimes le compte
Préavis d’inactivité : l’identifiant du compte, la date d’envoi de l’e-mail de préavis et la date de suppression prévue, pour un compte gratuit inutilisé depuis trois ansTenir la promesse de la politique de confidentialité : un avertissement 30 jours avant, une suppression par les mêmes étapes que « Supprimer mon compte », jamais deuxJusqu’à ta prochaine connexion (le préavis est annulé) ou jusqu’à la suppression du compte
Navigateurs connus du compte : le nom du navigateur et du système (« Chrome, Windows »), la première et la dernière fois qu’il a été vu, la date de l’e-mail d’alerteT’alerter par e-mail quand un nouveau navigateur se connecteTant que le compte existe (30 navigateurs au plus)
Confirmation par code d’une action sensible : pour la session qui la demande, une empreinte du code à 6 chiffres, le nombre d’essais et d’envois, l’heure du dernier envoi et la fin de la fenêtre de confirmationVérifier que c’est bien toi avant de déconnecter tes autres sessions ou de couper les alertes de connexionLe code : 10 minutes ; la ligne, sans code : jusqu’à une demande de code ultérieure, plus de 24 heures après, ou jusqu’à la suppression du compte
Essais des fonctions payantes : un compteur par compte et par empreinte d’adresse IP, par fonction et par mois (ou une seule fois, pour les essais accordés une seule fois) ; pour l’essai des missions, sa dateOffrir chaque essai une fois, sans qu’une ferme de comptes le multiplieEmpreinte d’adresse IP : le mois en cours, effacée la première nuit du mois suivant. Compte : compteurs mensuels gardés 3 mois au plus ; essais accordés une seule fois (réponses de Claude Opus, Confessionnal, vidéo, agents, missions…) : tant que le compte existe ; tout est effacé avec le compte
Commandes payées en crypto : l’offre, le prix, l’état, les dates, le pays déclaré, le pays de la connexion, la TVA et le numéro de la commande chez CoinGateOuvrir l’offre payée, et tenir la comptabilité et la TVA que la loi imposeCommande payée : 10 ans, durée imposée par la loi, détachée du compte à sa suppression (l’effacement automatique au terme n’est pas encore en place) ; une commande non payée part avec le compte
Preuves contractuelles : la date d’envoi des confirmations et des reçus, la version de l’avis affiché, et la renonciation au droit de rétractation cochée avant un achatProuver ce qui a été accepté et envoyé, comme le droit de la consommation le demandeTant que le compte existe ; celles d’une commande en crypto payée restent, sans le compte
Offres accordées et reprises de crédits : une offre accordée par l’administrateur, avec une note libre ; les crédits repris après un remboursement ou une contestation ; les corrections automatiques de réservations (motif, montants)Appliquer une offre accordée, reprendre des crédits remboursés, solder une réservation restée ouverteOffre accordée : jusqu’à sa fin ; reprises : tant que le compte existe ; corrections : 365 jours
Recharge automatique : la dernière erreur de paiement (le début du message de Stripe) et chaque tentative (montant, état, numéro de facture, date)Ne jamais prélever deux fois, s’arrêter après trois échecsTant que le compte existe
Abonnement développeur : l’identifiant de l’abonnement chez Stripe, son état et son échéanceAppliquer les droits de l’offre développeurTant que le compte existe
Missions, appareils et notifications : pour chaque appareil, ses clés publiques, son nom, son état et ses dates ; le journal des approbations et des révocations ; l’adresse d’abonnement aux notifications de ton navigateurChiffrer les résultats pour tes seuls appareils, te prévenir sans contenuTant que l’appareil ou l’abonnement existe ; un appareil jamais approuvé : 30 jours ; un appareil révoqué laisse une trace sans clé pendant 90 jours ; journal : 90 jours
Missions, connecteurs : l’accès à chaque service connecté (chiffré avec la clé du serveur des missions, qui peut le lire pour agir) et la date de son dernier usageLire ou agir dans tes services quand une mission le demandeJusqu’à ce que tu le déconnectes ou que tu supprimes le compte ; nous demandons alors au service (Google, Notion, Slack, GitHub) de révoquer l’autorisation
Synchronisation, compte et clés : la clé de données enveloppée, tes clés d’accès, les appareils approuvés ; après un arrêt ou une remise à zéro, la date de l’arrêt, et la date, l’appareil et le nombre des remises à zéroOuvrir tes données sur tes appareils, et empêcher un ancien appareil de rouvrir une copie effacéeTant que la synchronisation est active ; les repères d’arrêt et de remise à zéro : tant que le compte existe
Agents en cours : pour chaque agent personnel que tu lances, une empreinte à clé de son identifiant (jamais son nom ni sa fiche), la date où il est devenu l’agent du compte, celle de son dernier lancement et, s’il a été remplacé, celle de son remplacementAppliquer le nombre d’agents de ton offreL’agent en cours : tant que le compte existe ; un agent remplacé : 31 jours, puis effacé au lancement suivant
File d’attente de la voix du Confessionnal : le compte ou le visiteur qui tient une ligne ou en attend une, son état, sa priorité et deux heuresRester sous le nombre d’appels simultanés, et servir chacun à son tourLe temps de l’appel ou de l’attente ; une ligne abandonnée est retirée à l’appel suivant, le tien ou celui d’un autre
Statistiques liées au compte : son jour d’inscription, la page d’arrivée, le site d’origine, les étiquettes de campagne, le pays, le type d’appareil, la langue, s’il a essayé avant de s’inscrire, son premier jour payant et sa première offre, et ses totaux de recettes, de coût et de crédits ; ou, si tu les refuses, la seule date de ce refusMesurer les inscriptions et la marge, et respecter ton refusJusqu’à ce que tu les coupes (elles sont alors effacées, seule la date du refus reste) ou que tu supprimes le compte
Santé du service : pour chaque erreur serveur, le gabarit de la route (par exemple /api/chat, jamais l’adresse réelle ni ses paramètres), le statut HTTP, la classe de l’erreur et le fournisseur, comptés par minuteVoir une route qui casse, et être alerté30 jours ; aucun compte, aucun identifiant, aucun message
Dépenses fournisseurs : un montant en dollars par minute, par fournisseur et par genre d’action, sans aucun compte derrièreÊtre alerté quand nos coûts s’envolent35 jours
Interrupteurs de fonctions et journal des alertes : quelle fonction est en pause, par qui (un administrateur ou l’arrêt automatique) et les chiffres de chaque alerteMettre une fonction en pause sans déploiement, et en garder la traceInterrupteurs : tant que le site existe ; alertes : 90 jours

« Supprimer mon compte », dans les Réglages, efface tout cela : l’abonnement est résilié, le client Stripe et ses cartes sont supprimés, puis la sauvegarde, la copie synchronisée, les liens, les clés, les compteurs (ceux des essais compris), les coûts et enfin le compte. Les autorisations données à Google, Notion, Slack ou GitHub sont révoquées chez eux ; si l’un d’eux ne répond pas, notre copie de l’accès est effacée quand même et tu peux retirer l’autorisation depuis ton compte chez lui. Ce qui reste : les compteurs d’avis anonymes ; le journal d’administration, sans l’identifiant du compte ; les pièces comptables que la loi impose (commandes payées en crypto et preuve de leurs reçus, détachées de toi) ; les statistiques de produit, détachées du compte, jusqu’à 90 jours ; les compteurs liés à l’empreinte d’une adresse IP, qui s’effacent seuls (48 heures, ou à la fin du mois pour les essais). Hors de notre base : le journal d’envoi de nos e-mails chez Resend, les sauvegardes techniques de Supabase le temps de leur conservation, et les factures que Stripe garde de son côté.

Les sauvegardes techniques de Supabase gardent une copie de la base, donc de toute ligne supprimée, le temps que Supabase les conserve.

Ce que nos serveurs ne gardent jamais

Pour te répondre, ton message traverse nos serveurs jusqu’au modèle, puis la réponse revient en flux jusqu’à ton navigateur. Rien de ce qui suit n’est écrit en clair dans la base ni dans les journaux (la synchronisation, si tu l’actives, n’y dépose qu’une copie chiffrée par ton navigateur) :

  • le texte de tes messages et des réponses, et la réflexion du modèle ;
  • tes instructions personnalisées, les souvenirs de ta mémoire et la fiche des personnages que tu crées, qui partent avec chaque message ;
  • tes fichiers joints : un PDF est lu en mémoire puis oublié, un fichier texte est lu par ton navigateur lui-même ;
  • les images que tu envoies : vérifiées, puis réencodées sans métadonnées (position, appareil) avant de partir chez le fournisseur ;
  • les images créées : elles reviennent du fournisseur et vont directement à ton navigateur, qui les chiffre ;
  • les descriptions du Studio, ta voix dictée et les textes lus à voix haute ;
  • tes recherches web : la requête part de notre serveur sans identifiant et n’est pas journalisée chez nous ; selon ton offre, elle passe par Exa, qui peut la conserver (voir « Recherche web » plus bas).

Nos journaux d’erreurs ne notent que des repères techniques : un nom de modèle ou de fournisseur, un code d’erreur, un numéro d’opération de crédits. Un compte n’y apparaît que sous une étiquette calculée avec une clé secrète, qui ne dit rien à elle seule ; seule la suppression d’un compte note son identifiant, jamais son e-mail. Ailleurs, certains fournisseurs gardent un temps ce qu’ils reçoivent : voir « Qui lit tes messages ».

Statistiques d’usage, sans contenu

Pour savoir quoi améliorer, on compte comment NeverNo est utilisé, avec notre propre outil sur nos propres serveurs (/api/analytics) : aucun cookie, aucun traceur tiers, aucun script d’empreinte.

Un visiteur est compté sous une empreinte du jour : un condensé à clé du site, de l’adresse IP et du navigateur, dont la clé est tirée au hasard et effacée chaque nuit peu après minuit (UTC : à la première visite du jour, et à 00 h 07 au plus tard). Ni l’adresse ni le navigateur ne sont gardés, et personne, nous compris, ne peut relier la visite d’un jour à celle du lendemain une fois la clé effacée ; elle peut subsister dans les sauvegardes techniques de notre base le temps de leur conservation.

Ce qui est compté

  • la page vue, sous forme de modèle (/chat/:id, jamais un identifiant), le site qui t’a envoyé (son domaine seulement) et les étiquettes de campagne utm_source, utm_medium, utm_campaign ;
  • le pays (d’après l’en-tête de notre hébergeur), le type d’appareil (téléphone, tablette, ordinateur) et la langue de la page ;
  • des événements d’une liste fixe : un message envoyé, une image ou une vidéo créée, une fonction utilisée, un paiement commencé, avec seulement l’identifiant d’un modèle et des options oui / non ;
  • la vitesse de la page mesurée par ton navigateur (affichage, réaction à un clic, stabilité : LCP, INP, CLS), arrondie, avec seulement le type de page (accueil, chat, studio…) et le type de réseau, et seulement si le partage est activé ;
  • pour un compte : son jour d’inscription, d’où venait sa première visite, quand il a payé la première fois, et ce qu’il a rapporté et coûté au total, pour mesurer les inscriptions, les retours et la marge ;
  • pour le Confessionnal : ton appareil note, semaine par semaine, le ou les modes dans lesquels tu as parlé ; ce détail ne quitte jamais l’appareil et s’y efface 35 jours après la fin de la semaine. Seul part, sans compte ni cookie, un rapport anonyme : « un mode » ou « deux modes », jamais lequel, et si tu es revenu la semaine suivante ou un mois plus tard. Rien n’est envoyé si le partage est désactivé.

Ce qui n’est jamais compté

  • tes messages, prompts, noms de fichiers, titres de discussions, recherches ou quoi que ce soit que tu tapes : aucun événement ne peut porter de texte libre, et le serveur jette ce qui n’est pas dans sa liste ;
  • une discussion éphémère : elle n’envoie rien du tout ;
  • l’adresse IP ou la signature complète de ton navigateur.

Les événements bruts sont effacés après 90 jours ; il ne reste que des totaux du jour anonymes. Désactive « Partager des statistiques anonymes » dans les Réglages, ou laisse ton navigateur envoyer Global Privacy Control ou Do Not Track : tu restes compté, sans empreinte et sans lien avec ton compte, et ce qui y était lié est effacé. Supprimer le compte efface aussi sa part.

Ce qui est masqué avant un modèle anonymisé

Quand tu choisis un modèle marqué « Anonymisé » (Claude, GPT, Gemini, Grok), l’entreprise qui l’a fait lit ta demande. Avant que le message quitte ton navigateur pour l’un d’eux, une courte liste de données personnelles est remplacée par des jetons comme [EMAIL_1], et la réponse revient avec les vraies valeurs remises en place. Rien de tout cela n’atteint nos serveurs : la détection, le remplacement et la table de correspondance vivent dans la page, et la table n’est jamais enregistrée (elle se redérive de la conversation à chaque message).

C’est une liste fermée, faite pour casser le moins de questions possible : aucune reconnaissance libre des noms. Ce qu’elle couvre, et ce qu’elle ne couvre pas, exactement :

Remplacé par un jeton

  • les adresses e-mail ;
  • les numéros de téléphone écrits en forme internationale (+33 6 12 34 56 78) ou nationale avec séparateurs (06 12 34 56 78, (555) 123-4567, 090-1234-5678) ;
  • les IBAN (somme de contrôle vérifiée) et les numéros de carte bancaire (contrôle de Luhn vérifié) ;
  • les adresses IP (IPv4, et IPv6 écrites en entier ou avec ::) ;
  • les adresses postales écrites en entier dans une des formes courantes : « 12 rue de la Paix, 75002 Paris », « 221B Baker Street, London NW1 6XE », « Hauptstraße 5, 10115 Berlin », « 123 Main Street, Springfield, IL 62704 » ;
  • le prénom donné à l’accueil, et les noms que tu ajoutes dans Réglages › Données (mots entiers, casse respectée).

Laissé tel quel

  • dans ce que tu écris : tout autre nom, et les pseudonymes ; les lieux, dates de naissance, employeurs, métiers, numéros de sécurité sociale, plaques d’immatriculation, identifiants de réseaux sociaux, liens (dans un fichier joint, les numéros d’identité et les dates de naissance sont masqués et les noms qu’il annonce te sont proposés avant l’envoi) ;
  • les suites de chiffres sans séparateur ni indicatif, les dates, heures, montants, versions et numéros de commande, pour qu’une somme ou une référence ne soit jamais prise pour un téléphone ;
  • les adresses sans code postal, sur plusieurs lignes, ou dans l’ordre japonais, chinois, arabe ou russe ;
  • le sujet de la conversation, ton style, les mots rares : un modèle de langue peut reconnaître une personne à partir d’eux, et le masquage ne prétend pas l’empêcher ;
  • les images que tu joins (un avis d’une ligne le dit quand tu en envoies une à un modèle anonymisé) ; le texte d’un PDF ou d’un document Word joint est masqué comme ton message, avec en plus ses numéros d’identité, ses dates de naissance et les noms qu’il annonce, une fois que tu les acceptes ;
  • les groupes et l’API publique, qui ne passent pas par ce masquage. Les missions et le travail des agents sont masqués par notre serveur avant un modèle anonymisé.

L’interrupteur est dans Réglages › Données, actif par défaut ; éteint, tes messages arrivent tels quels aux modèles anonymisés. Les modèles privés ne sont jamais masqués : rien n’y est gardé, et un masque posé à tort coûterait plus qu’il ne protège. Sous la barre d’écriture, « 3 éléments masqués » liste ce qui a été remplacé pour le dernier message. Mesuré sur des cas scellés, mis de côté et jamais utilisés pour régler les détecteurs : les adresses postales sont détectées dans 72 % des cas, les numéros de téléphone dans 94 %, les IBAN dans 100 %, et sur 160 pièges (des textes qui ressemblent à des données personnelles sans en être) il n’y a eu aucune fausse alerte. Ce sont des résultats de nos propres tests, pas une garantie : une donnée écrite d’une façon inhabituelle peut passer, relis donc ce que tu envoies à un modèle anonymisé. Une troisième passe d’amélioration est prévue après le lancement.

Clean Room : rien n’est envoyé

Clean Room (/clean-room) fabrique une copie caviardée d’un PDF, d’un fichier Word ou d’un fichier texte. Le fichier est lu, fouillé, affiché et réécrit dans ton navigateur : aucune route à nous ne le reçoit, ni son texte, ni la liste de ce que tu caches. La page ne charge que les fichiers du site, depuis notre adresse (le lecteur PDF, et pour les pages scannées le moteur OCR et ses modèles de langue). Elle fonctionne hors ligne une fois ouverte.

Ce qui est trouvé tout seul est la même liste fermée que le masquage ci-dessus : adresses e-mail, numéros de téléphone, IBAN, numéros de carte, adresses IP, adresses postales écrites en entier, noms de ta liste. Rien d’autre ; tu ajoutes le reste à la main, et tu relis chaque cadre avant l’export.

  • L’export PDF est aplati : chaque page est dessinée en image avec des cadres opaques peints sur les passages cachés, et un nouveau fichier est écrit à partir de ces images seules, sans aucun objet de l’original. Pas de couche de texte, pas de police, pas de métadonnées (titre, auteur, producteur, XMP), pas de pièce jointe, pas d’annotation, pas de script, pas d’ancienne révision : le fichier n’en a jamais eu.
  • Avant le téléchargement, la page contrôle le fichier qu’elle a écrit : aucune des valeurs cachées et aucune des structures interdites ne doit s’y trouver, sinon l’export s’arrête et rien n’est téléchargé.
  • Les exports Markdown et texte remplacent chaque passage caché par un jeton numéroté ([EMAIL_1]) ou par un bloc de █, à ton choix, avec un rapport facultatif qui donne des comptes par type, jamais une valeur.
  • La page compte, par les mesures du navigateur lui-même, les requêtes qu’elle fait depuis le dépôt du fichier, fichiers du site mis à part ; le chiffre reste à 0 et s’affiche à côté du bouton d’export.
  • Rien n’est gardé : ni fichier, ni texte, ni détection, dans ce navigateur ou ailleurs. La copie s’appelle document-caviarde, jamais du nom de l’original. Un compte connecté peut choisir, après, « Garder dans mon coffre » : c’est le coffre habituel, décrit plus haut.

La promesse est « le fichier ne quitte jamais ton appareil, et tu relis avant d’exporter », pas une garantie : un détecteur ne trouve rien qu’il ne connaît pas (un nom hors de ta liste, une date, un lieu), et une page scannée dépend de ce que l’OCR a réussi à lire. L’étape de relecture est là pour ça.

Qui lit tes messages

Un modèle doit lire ton message pour y répondre. Ce tableau dit qui le reçoit et s’il le garde. Il est produit à partir du catalogue des modèles et des routes vers les fournisseurs : il change tout seul quand le code change.

Aucun fournisseur ne reçoit ton e-mail, ton identifiant de compte ou ton adresse IP : c’est notre serveur qui les appelle, avec sa propre clé. Ils reçoivent le texte de la discussion en cours et, si tu en as, tes instructions, tes souvenirs et la fiche du personnage. Si tu écris qui tu es, ils le lisent. Chez OpenRouter, nous refusons en plus, à chaque requête, qu’elle serve à l’entraînement.

« Privé » : un modèle ouvert, servi par DeepInfra ou par OpenRouter avec l’option zéro rétention, qui ne garde pas les requêtes. « Anonymisé » : un modèle fermé ; l’entreprise qui l’a créé lit le texte, sans savoir qui tu es, et applique ses propres règles.

ModèleÉtiquetteQui reçoit le texteConservation
AutoNeverNoPrivé, sans limitesDeepInfra et OpenRouterRien, selon leurs engagements de zéro rétention
NeverNo UncensoredNeverNoPrivé, sans limitesUn hébergeur tiers en zéro rétention, via OpenRouterRien, selon leurs engagements de zéro rétention
DeepSeek V4 FlashDeepSeekPrivéOpenRouter, puis DeepInfra en secoursRien, selon leurs engagements de zéro rétention
GLM 5.3 FlashZ.aiPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
Qwen 3.5 35BAlibabaPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
Mistral Small 3.2MistralPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
GLM 5.2Z.aiPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
DeepSeek V4 ProDeepSeekPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
Euryale 70BSao10KPrivé, sans limitesDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
Kimi K3MoonshotPrivéDeepInfra, puis OpenRouter en secoursRien, selon leurs engagements de zéro rétention
Claude Fable 5.2AnthropicAnonymiséOpenRouter, puis AnthropicAucune route sans rétention n’existe : Anthropic peut garder la requête selon sa politique
Claude Opus 5.5AnthropicAnonymiséOpenRouter, puis AnthropicRien chez OpenRouter ; Anthropic applique sa propre politique
Claude Sonnet 5.5AnthropicAnonymiséOpenRouter, puis AnthropicRien chez OpenRouter ; Anthropic applique sa propre politique
Claude Haiku 5.5AnthropicAnonymiséOpenRouter, puis AnthropicRien chez OpenRouter ; Anthropic applique sa propre politique
GPT-6 AstraOpenAIAnonymiséOpenRouter, puis OpenAIRien chez OpenRouter ; OpenAI applique sa propre politique
GPT-6.1 SolOpenAIAnonymiséOpenRouter, puis OpenAIRien chez OpenRouter ; OpenAI applique sa propre politique
GPT-6.1 TerraOpenAIAnonymiséOpenRouter, puis OpenAIAucune route sans rétention n’existe : OpenAI peut garder la requête selon sa politique
Gemini 4 ArgonGoogleAnonymiséOpenRouter, puis GoogleRien chez OpenRouter ; Google peut garder jusqu’à 90 jours une requête signalée par sa surveillance des abus
Grok 4.7xAIAnonymiséOpenRouter, puis xAIRien chez OpenRouter ; xAI applique sa propre politique

Auto utilise des modèles privés ; certains échanges passent par un modèle anonymisé, après masquage. Les modèles privés d’Auto : DeepSeek V4.1 Flash, DeepSeek V4.1 Flash, DeepSeek V4.1 Flash, DeepSeek V4.1 Flash, DeepSeek V4.1 Flash, DeepSeek V4.1 Flash, DeepSeek V4 Flash, DeepSeek V4 Pro, GLM 5.2, NeverNo Uncensored, Qwen 3.5 35B et Mistral Small 3.2. En dehors de ces échanges et des questions politiques ci-dessous, un modèle anonymisé ne répond que si tu le choisis, ou si tu cliques sur la suggestion de lui poser la question sous une réponse. Sur certaines questions politiques que les modèles chinois refusent, le mode Auto répond avec Claude (Anthropic), un modèle anonymisé, après masquage et sur des hébergeurs sans conservation, au lieu de DeepSeek, GLM, Kimi ou Qwen.

Images, vidéos et sons

Le Studio passe par Runware. Les descriptions partent de notre serveur, sans identifiant. Ce tableau aussi est produit à partir du code.

ModèleTypeHébergé chezRemarque
Z-Image TurboTongyiImageRunwareRenvoyée directement à ton navigateur
FLUX 3 KleinBlack Forest LabsImageRunwareRenvoyée directement à ton navigateurfiltré par son créateuranonymisé
NeverNo UncensoredZ-ImageImageRunwareRenvoyée directement à ton navigateur
Z-ImageTongyiImageRunwareRenvoyée directement à ton navigateur
Qwen Image 2.1 TurboAlibabaImageRunwareRenvoyée directement à ton navigateurfiltré par son créateur
Qwen Image 3.0 ProAlibabaImageRunwareRenvoyée directement à ton navigateurfiltré par son créateur
FLUX 3Black Forest LabsImageRunwareRenvoyée directement à ton navigateurfiltré par son créateur
Nano Banana 2.1GoogleImageRunwareRenvoyée directement à ton navigateurfiltré par son créateuranonymisé
GPT Image 2.6OpenAIImageRunwareRenvoyée directement à ton navigateurfiltré par son créateuranonymisé
GPT Image 2.6 FlareOpenAIImageRunwareRenvoyée directement à ton navigateurfiltré par son créateuranonymisé
Muse ImageMetaImageRunwareRenvoyée directement à ton navigateurfiltré par son créateuranonymisé
LTX 2.3 FastLightricksVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le télécharge
P-Video 2 ProPruna AIVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
MiniMax H3 MaxMiniMaxVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
HeyGen Video 1HeyGenVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
Veo 3.1 FastGoogleVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
Kling 4.0 FlashKuaishouVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
Wan 3.0AlibabaVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
Seedance 2.5ByteDanceVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
LTX 2.3LightricksVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le télécharge
P-Video 2 ProPruna AIVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
Veo 3.1 LiteGoogleVidéoRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateuranonymisé
ACE-Step 1.5 TurboACE StudioMusiqueRunwareDéposé sur le CDN de Runware, d’où ton navigateur le télécharge
ACE-Step 1.5ACE StudioMusiqueRunwareDéposé sur le CDN de Runware, d’où ton navigateur le télécharge
MiniMax Music 2.6MiniMaxMusiqueRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateur
Seed Audio 1.0ByteDanceEffet sonoreRunwareDéposé sur le CDN de Runware, d’où ton navigateur le téléchargefiltré par son créateur
Mirelo SFX 1.5MireloEffet sonoreRunwareDéposé sur le CDN de Runware, d’où ton navigateur le télécharge

Les autres services qui voient passer quelque chose

Recherche web
Pour les abonnés, Exa reçoit la requête (une courte requête tirée de ton message) et renvoie les résultats ; un compte gratuit a une recherche Exa par jour, puis passe par Serper ; sans compte, c’est Serper. Exa peut conserver la requête et s’en servir pour améliorer ses services et entraîner ses modèles : nous n’avons souscrit aucune option de non-conservation. Selon leur sujet, certaines recherches ne lui sont jamais envoyées. Serper renvoie les résultats de Google ; Jina Reader lit les pages trouvées ou l’adresse que tu colles. Aucun des trois ne reçoit d’identifiant ni ton adresse IP. Dans une recherche approfondie, l’option « Rédaction premium » fait chercher GPT 6.1 Sol lui-même sur le web (recherche intégrée d’OpenAI, par OpenRouter, sur Microsoft Azure, rétention zéro demandée) : il reçoit ta question masquée comme pour un modèle anonymisé. Quand une page d’origine est devenue illisible, une recherche approfondie envoie son adresse à l’Internet Archive pour en lire une copie archivée. Si une recherche est lancée sur « toutes les sources », des requêtes écrites à partir de ta question partent aussi vers arXiv, OpenAlex et la base EDGAR de la SEC. Aucun ne reçoit d’identifiant ni ton adresse IP.
Voix
La dictée et le Confessionnal sont transcrits par Whisper chez Groq, en zéro rétention, ou chez DeepInfra quand Groq tarde ; les voix Kokoro, Inworld et Qwen passent par DeepInfra ; les voix xAI et MiniMax par Runware. Ta voix est transcrite puis oubliée. Avec Pro+ et Max, la lecture à voix haute des réponses est produite par ElevenLabs (voix Jessica) : les coordonnées sont masquées avant l’envoi, chaque lecture est effacée de l’historique de notre compte aussitôt après, et certaines réponses n’y passent jamais, pas plus qu’une voix que tu as choisie.
Créateurs des modèles anonymisés
Les modèles anonymisés passent par OpenRouter avec l’option zéro rétention : l’hébergeur qui répond s’engage à ne rien garder. Les quelques modèles sans route zéro rétention sont signalés dans le tableau ci-dessus ; leur créateur garde alors la requête selon ses propres règles (Anthropic jusqu’à 30 jours, OpenAI 30 jours). Gemini est servi par Google, qui peut aussi garder jusqu’à 90 jours une requête signalée par sa surveillance des abus (sans l’utiliser pour entraîner ses modèles).
Relais vers un modèle anonymisé
Pour certaines demandes, si notre modèle privé ne répond pas, la réponse peut être écrite par un modèle tiers anonymisé (Grok, xAI), joint sans rétention : tes données personnelles (nom, e-mail, téléphone, adresse…) sont masquées avant qu’il les voie, exactement comme pour les modèles tiers que tu peux choisir.
Confessionnal
Le Confessionnal répond avec Claude Sonnet d’Anthropic, servi par Google Vertex ou Amazon Bedrock via OpenRouter avec l’option zéro rétention : rien n’est conservé chez l’hébergeur. Si Sonnet ne répond pas, Claude Haiku prend le relais aux mêmes conditions, puis GLM 5.2, un modèle privé, en dernier recours. Pour certains échanges, la réponse vient de Grok 4.20 chez xAI (données personnelles masquées, rétention zéro), puis de DeepSeek V4 Pro chez DeepInfra, puis de Dolphin chez un hébergeur tiers en zéro rétention, via OpenRouter, deux modèles privés. Sa voix est décrite juste en dessous.
Voix du Confessionnal
La voix que tu choisis dans le Confessionnal est produite par ElevenLabs, qui agit pour notre compte (sous-traitant) et ne reçoit que le texte de la réponse à lire, jamais ta voix ni ton compte. Avant l’envoi, les adresses e-mail, numéros de téléphone, adresses postales, coordonnées bancaires, numéros de carte et adresses IP d’une phrase sont remplacés par des mots neutres (« ton adresse e-mail ») ; les prénoms et les noms restent, pour que la voix puisse les dire. ElevenLabs garde chaque phrase dans l’historique de notre compte : nous l’effaçons quelques secondes après qu’elle a été dite, et toutes les 5 minutes ce qui y serait encore après 10 minutes est effacé. Ce qu’ElevenLabs conserve pour sa propre lutte contre les abus suit ses propres règles. Certaines phrases, et toutes quand ElevenLabs ne répond pas, sont lues par l’une des voix listées plus haut.
Mémoire
Pour tous les comptes, gratuit compris, un modèle privé (DeepSeek V4 Flash chez DeepInfra) repère les faits à retenir et calcule leurs vecteurs ; le résultat revient à ton navigateur, qui le chiffre.
Sécurité
Nos règles absolues sont vérifiées par des modèles privés de notre catalogue, qui relisent une demande d’image ou une image envoyée, puis l’oublient.
Anti-robot
Un visiteur sans compte passe une fois la vérification Cloudflare Turnstile, qui reçoit son adresse IP et des signaux techniques du navigateur.
Paiement
Stripe reçoit ton e-mail et ton identifiant de compte pour relier le paiement, et les données de ta carte, que nous ne voyons jamais.
Hébergement
Le site tourne chez Vercel, qui voit passer tes requêtes. La base, les comptes, la sauvegarde chiffrée et la copie chiffrée de la synchronisation sont chez Supabase, qui envoie aussi ton code de connexion par e-mail.
Coffre
Les passages des documents de ton coffre et tes questions reçoivent leur vecteur d’un modèle privé chez DeepInfra (Qwen3-Embedding-0.6B) ; les vecteurs reviennent à ton navigateur, qui les chiffre.

Le chiffrement, en détail

Ton historique

Une clé AES-256-GCM créée par ton navigateur, non extractible, et un vecteur aléatoire de 12 octets pour chaque contenu. Le texte est chiffré avant d’être écrit, et déchiffré seulement pour l’affichage. Tout passe par l’API Web Crypto du navigateur, sans bibliothèque tierce.

  • src/lib/db/crypto.ts
  • src/lib/db/schema.ts
Voir le code

La sauvegarde

Ta phrase secrète devient une clé par PBKDF2-SHA-256 : 600 000 tours, avec un sel aléatoire de 16 octets. Tout le fichier est ensuite chiffré en AES-256-GCM. La phrase ne quitte jamais ton navigateur, et le fichier part directement vers le stockage par un lien signé.

Sans la phrase, personne ne peut ouvrir le fichier, nous compris : une mauvaise phrase est simplement refusée. Si tu l’oublies, la sauvegarde est perdue.

  • src/lib/backup-crypto.ts
  • src/lib/backup.ts
Voir le code

Le partage

Chaque lien a sa propre clé AES-256-GCM, créée dans ton navigateur. Nous recevons seulement le texte chiffré ; la clé est écrite après le # du lien, une partie que les navigateurs n’envoient jamais au serveur. Qui a le lien complet peut lire ; nous, non.

Le lien expire après 1, 7 ou 30 jours, ou dès que tu le supprimes.

  • src/lib/share.ts
  • src/lib/share-format.ts
Voir le code

Code source

Voici le code qui chiffre dans ton navigateur, tel qu’il est dans notre dépôt au moment où cette page a été construite. Rien n’est résumé ni réécrit : ce sont les fichiers eux-mêmes, en lecture seule.

/** * Local-only encryption for the Zero-Log store. * * One AES-256-GCM key per browser, generated on first use as a non-extractable * CryptoKey and kept in IndexedDB: it never leaves the device and cannot be read * back as raw bytes, even by our own scripts. */import { requestPersistentStorage } from "./storage";export type Sealed = { v: 1; iv: Uint8Array<ArrayBuffer>; ct: Uint8Array<ArrayBuffer> };const encoder = new TextEncoder();const decoder = new TextDecoder();export type KeyStore = {  load: () => Promise<CryptoKey | undefined>;  /** Stores the key unless one is already there (the first stored wins). */  save: (key: CryptoKey) => Promise<void>;};let keyPromise: Promise<CryptoKey> | null = null;let activeStore: KeyStore | null = null;/** Point the module at the table that holds the key. Called once by the database. */export function configureKeyStore(store: KeyStore) {  activeStore = store;  keyPromise = null;}
  • src/lib/db/crypto.ts (85 lignes)
  • src/lib/backup-crypto.ts (51 lignes)
  • src/lib/share.ts (165 lignes)

Notre dépôt est encore privé. Un dépôt public suivra, pour que tu puisses comparer ce code à celui que ton navigateur exécute.

Ce que tu peux vérifier toi-même

Pas besoin de nous croire sur parole : les outils de développement de ton navigateur suffisent (F12, ou clic droit puis « Inspecter », sur ordinateur).

  1. Tes données chiffrées

    Onglet Application (Chrome, Edge) ou Stockage (Firefox), puis IndexedDB › neverno › messages. Le champ content de chaque message est un objet { v, iv, ct } : des octets illisibles. Dans keys, la clé apparaît avec extractable: false.

  2. Ce qui part quand tu écris

    Onglet Réseau, puis envoie un message : une requête chat part, avec la discussion en cours et tes réglages du moment. Aucune autre discussion ne part.

  3. Les petites requêtes qui suivent

    Mémoire activée : deux requêtes memory envoient ensuite ce dernier échange pour en tirer les faits à retenir. Nouvelle discussion : une requête chat/title envoie aussi ta première question et le début de la réponse, une seule fois, pour lui trouver un titre. Suggestions activées (Réglages, Contenu) : après une réponse, une requête chat/follow-ups envoie ta dernière question avec le début et la fin de la réponse, pour proposer une suite ; rien n’est gardé. Synchronisation active : des requêtes sync/push et sync/pull emportent des éléments chiffrés par ton navigateur, au champ ct illisible. Ton cookie de session les accompagne toutes, la requête chat comprise, comme sur tout site où tu es connecté.

  4. La clé d’un lien de partage

    Ouvre un lien de partage avec l’onglet Réseau ouvert : la requête shares/… ne contient que l’identifiant du lien. Ce qui suit le # n’apparaît nulle part.

  5. À qui la page peut parler

    Sur neverno.ai, l’en-tête Content-Security-Policy de la page liste les seules adresses qu’elle a le droit de contacter : nos serveurs, Supabase, les CDN de Runware pour tes médias, Cloudflare pour la vérification anti-robot, et deux adresses réservées à la conversation vocale en temps réel du Confessionnal (api.elevenlabs.io et notre serveur rt.neverno.ai), listées d’avance : tant que cette fonction n’est pas ouverte, la page ne s’y connecte jamais. Ni mesure d’audience tierce, ni publicité.

Nos limites, honnêtement

Ce que la confidentialité de NeverNo ne fait pas, ou pas encore :

  • NeverNo n’est pas un réseau d’anonymat. Notre hébergeur voit ton adresse IP, comme pour tout site : nous ne l’enregistrons dans aucune de nos propres tables, mais ses journaux techniques peuvent en garder une trace selon ses règles, et Supabase, qui gère la connexion aux comptes, garde l’adresse IP de chaque session ouverte. Pour la cacher, utilise un VPN ou Tor.
  • Pour choisir le modèle, décider d’une recherche et appliquer nos règles absolues, notre serveur lit ton message en mémoire, le temps de la réponse. Il ne l’écrit nulle part, mais il le voit passer.
  • À chaque message, la discussion en cours repart avec lui (ses messages récents), parce qu’un modèle ne se souvient de rien d’un appel à l’autre.
  • L’étiquette « Privé » repose sur les engagements de DeepInfra et sur l’option zéro rétention d’OpenRouter. Nous ne pouvons pas inspecter leurs serveurs.
  • Un modèle « Anonymisé » est lu par l’entreprise qui l’a créé (Anthropic, OpenAI, Google, xAI), qui peut garder la requête un temps selon ses propres règles. Tes adresses e-mail, tes numéros et les noms que tu as marqués sont masqués avant lui (voir plus haut) ; le reste du texte ne l’est pas. Pour une conversation sensible, garde un modèle privé.
  • Le chiffrement local empêche de lire tes conversations en ouvrant la base telle quelle, et aucun script ne peut extraire la clé. Il ne protège pas d’une personne ou d’un logiciel qui a accès à ton appareil ou à ta session ouverte : verrouille ton appareil.
  • Quelques repères restent lisibles dans ton navigateur (dates, modèles, types de médias), et tes préférences d’interface y sont en clair.
  • Les vidéos et les sons créés attendent sur le CDN de Runware que ton navigateur les télécharge ; combien de temps ils y restent dépend de Runware : jusqu’à 7 jours pour un clip, d’après l’expiration qu’annonce son adresse (mesuré le 11 novembre 2026).
  • Notre code n’est pas encore public : tu ne peux pas encore comparer toi-même le code publié à celui que ton navigateur exécute.
  • La synchronisation laisse voir des métadonnées : combien d’éléments, leur taille arrondie et l’heure de chaque écriture, donc ton rythme d’activité. Un appareil approuvé qui ne t’appartient plus garde la clé tant que tu ne l’as pas changée.
  • Si tu oublies ta phrase de sauvegarde, ou si tu effaces ton navigateur sans sauvegarde ni synchronisation, tes données sont perdues : nous n’avons aucun moyen de les récupérer.

Historique des changements

Chaque changement qui touche à ta vie privée, daté. Une partie des faits de cette page (modèles, fournisseurs, durées, paramètres de chiffrement) est contrôlée par des tests automatiques : si le code change, ils échouent tant que la page n’est pas corrigée.

  1. Le tableau de ce que notre base garde dit maintenant où voir et fermer tes sessions ouvertes : Réglages › Sécurité.
  2. Créations longues : notre base note désormais, pour une vidéo, si elle part d’une image importée (un simple indicateur, sans description ni image). La durée pendant laquelle Runware garde un clip est précisée : jusqu’à 7 jours, mesuré.
  3. Les compteurs et les montants de coût d’un visiteur sont effacés au bout de 48 heures, sans exception ; les compteurs d’essai liés à une adresse IP, à la fin du mois ; la trace d’inactivité du journal d’administration ne garde plus l’identifiant du compte ; les résultats d’une mission sont effacés par une purge horaire.
  4. Le lien « Continuer dans le Studio », sous une image d’un chat, ne met plus la description de l’image dans l’adresse de la page ; avant cette date, elle pouvait apparaître dans les journaux techniques de notre hébergeur.
  5. La suppression d’un compte efface aussi ses compteurs d’essai et révoque les autorisations données à Google, Notion, Slack ou GitHub. Nos journaux ne notent plus un compte que sous une étiquette à clé, et les modèles anonymisés ne passent plus que par les hébergeurs que cette page nomme.
  6. Cette page a été relue ligne à ligne face au code, et corrigée : Supabase garde l’adresse IP et le navigateur de chaque session ouverte ; le tableau de ce que notre base garde est complété, famille par famille ; l’en-tête de sécurité liste aussi deux adresses réservées à la voix en temps réel du Confessionnal (depuis début novembre) ; les services qu’une recherche approfondie contacte et les modèles de relais du Confessionnal sont nommés.
  7. Les compteurs d’usage d’un compte sont gardés 31 jours (des nombres seulement, jamais de contenu) pour que le calendrier sur 30 jours de « Mon abonnement » soit complet ; ceux d’un visiteur restent effacés au bout de 48 heures.
  8. Auto : sur certaines questions politiques que les modèles chinois refusent, il répond désormais avec Claude (Anthropic), un modèle anonymisé, au lieu de Mistral Small : les données personnelles sont remplacées avant l’envoi puis remises dans la réponse, sur des hébergeurs sans conservation. Un modèle que tu choisis toi-même n’est jamais remplacé.
  9. Auto : sur certaines questions politiques que les modèles chinois refusent, il répond avec un autre modèle privé (Mistral Small, ou Dolphin si besoin) au lieu de DeepSeek, GLM, Kimi ou Qwen. Un modèle que tu choisis toi-même n’est jamais remplacé.
  10. Recherche web : Exa sert les abonnés (une recherche par jour avec un compte gratuit, puis Serper et Jina ; sans compte, Serper et Jina). Exa peut conserver la requête (sans identifiant ni adresse IP), ce qu’aucun de nos journaux ne fait.
  11. Synchronisation : les fichiers des projets jusqu’à 200 Ko chacun te suivaient déjà, c’est désormais dit ; une offre avec moins d’espace que ce que tu utilises arrête les nouvelles synchronisations, texte compris, tant que tu n’as pas assez supprimé.
  12. La voix du Confessionnal est désormais produite par ElevenLabs : les données personnelles sont remplacées avant l’envoi, et chaque phrase est effacée de l’historique de notre compte quelques secondes après avoir été dite.
  13. Ajout de ce qui arrive aux requêtes des modèles anonymisés et du Confessionnal (zéro rétention, et les exceptions signalées).
  14. Les empreintes d’adresse IP servant aux limites et aux essais gratuits couvrent désormais tout le réseau /64 d’une adresse IPv6 (le bloc d’adresses d’une même connexion) : changer d’adresse ne multiplie plus les limites. C’est toujours une empreinte à clé secrète, jamais l’adresse elle-même.
  15. Synchronisation chiffrée de bout en bout pour les comptes : une copie illisible sur nos serveurs, que seules ta clé d’accès, ta clé de secours ou tes appareils approuvés ouvrent. Les médias ne sont pas synchronisés.
  16. Vitesse des pages (LCP, INP, CLS) mesurée dans ton navigateur et ajoutée aux statistiques d’usage, arrondie et par type de page seulement. Rien ne part si le partage est désactivé.
  17. Mémoire entre discussions pour tous les comptes, offre gratuite comprise. Les visiteurs sans compte n’en ont toujours pas.
  18. Statistiques d’usage sans contenu : notre propre comptage, aucun cookie, une empreinte du jour, un interrupteur dans les Réglages.
  19. Coffre privé : des documents gardés chiffrés dans ce navigateur ; seuls les passages utiles à une question partent, avec cette question.
  20. Discussions éphémères : une conversation gardée dans la mémoire de l’onglet seulement, jamais écrite dans ce navigateur.
  21. Les montants du coût de ton usage inclus sont désormais effacés automatiquement après 35 jours.
  22. Publication de cette page et du code qui chiffre.
  23. Recherche web : la requête part de notre serveur sans identifiant ni adresse IP, et n’est pas journalisée.
  24. Ta couleur d’accent est enregistrée sur ton profil, comme ton avatar depuis la veille (une graine, jamais une photo).
  25. Les images que tu envoies sont vérifiées, puis réencodées sans métadonnées avant de partir chez un fournisseur.
  26. Effacement automatique chaque heure : compteurs d’usage de plus de 48 heures, liens de partage expirés.
  27. Suppression du compte depuis les Réglages : abonnement, client Stripe, sauvegarde, clés, compteurs et coûts effacés.
  28. Avis sur les réponses : de simples compteurs anonymes, sans compte ni texte.
  29. Sauvegarde chiffrée par une phrase secrète (PBKDF2, 600 000 tours, AES-256-GCM).
  30. Liens de partage chiffrés, clé dans le # du lien ; les images y sont chiffrées avec la même clé.
  31. En-têtes de sécurité : la page ne peut contacter que nos serveurs, Supabase, les CDN des médias et Cloudflare.
  32. Clés API : seule une empreinte SHA-256 est gardée.
  33. Connexion par code e-mail ; l’essai sans compte est rattaché à une empreinte de l’adresse IP, jamais à l’adresse elle-même.
  34. Historique chiffré dans le navigateur (AES-256-GCM, une clé non extractible par navigateur).
Lire la politique de confidentialité