Sécurité et chiffrement
Cette page dit ce que nous faisons et ce que nous ne pouvons pas faire. Elle dit aussi ce qui fuit malgré le chiffrement, parce qu'une promesse qui cache ses limites n'est pas une promesse.
Tes recettes sont chiffrées avant de partir
Quand tu enregistres une recette, ton navigateur la chiffre avec une clé propre à ta boulangerie, en AES-256-GCM. Cette clé est elle-même emballée avec une clé dérivée de ton mot de passe (PBKDF2-SHA256, 600 000 itérations). Le serveur reçoit un bloc illisible.
Ton mot de passe ne nous parvient jamais. Ce qui voyage est une valeur dérivée, que nous re-hachons en Argon2id. Un vol de notre base de données ne permettrait ni de se connecter à ton compte, ni de reconstituer ta clé.
Ce que nous ne pouvons pas faire
- Lire tes recettes, leurs proportions, leurs procédés.
- Te reconnecter à ta place : aucune fonction d'impersonation n'existe.
- Te rendre tes recettes si tu perds à la fois ton mot de passe, tes 24 mots de récupération, et l'accès de tous tes collègues. C'est le prix du chiffrement de bout en bout, et nous préférons l'écrire que le découvrir ensemble un mauvais jour.
Ce que le serveur voit malgré tout
Le chiffrement protège tes recettes, pas tout le reste. Voici ce qui reste lisible côté serveur, parce que l'application ne fonctionnerait pas autrement :
- Le nom de tes produits, tes niveaux de stock, tes seuils.
- Tes fournisseurs, tes achats et leurs prix.
- Tes mouvements de stock, tes inventaires, tes pertes, tes lots.
- Ton compte, ton abonnement, ta consommation.
La fuite que nous assumons
Le serveur voit les mouvements de stock. Si une session de production ne contient qu'une seule recette, sa composition se déduit par division.
Nous limitons cette fuite : les mouvements d'une même fournée sont écrits en un seul groupe, sans dire quelle quantité appartient à quelle recette. Le serveur voit « le 12 mars, sortie de 12 kg de farine, 4 kg de beurre, 80 œufs », pas la répartition entre les trois recettes de la fournée.
Mais si tu ne produis qu'une seule recette ce jour-là, ses proportions se déduisent. Nous ne pouvons pas l'empêcher sans rendre le stock faux, et un stock faux ne sert à rien.
Deux fuites voisines, du même ordre : la taille du bloc chiffré révèle la complexité d'une recette, et ton catalogue produits en clair révèle la liste des ingrédients possibles. Ce qui reste réellement secret, ce sont les proportions, les procédés et les rendements.
Une limite de fond, propre au web
Le chiffrement se fait dans ton navigateur, avec le code que nous te servons. La garantie tient donc tant que ce code est intègre. Nous le protégeons par une politique de sécurité de contenu stricte et en ne chargeant aucune ressource externe — pas un script, pas une police, pas une image venant d'ailleurs. Aucun fournisseur tiers ne peut injecter de code dans cette page.
C'est la limite honnête de tout chiffrement de bout en bout livré par le web, chez nous comme ailleurs. Nous préférons l'écrire.
Si tu perds ton mot de passe
Nous pouvons débloquer ton compte : tu retrouves immédiatement tes stocks, tes achats, tes fournisseurs, tes alertes, tes inventaires. L'application reste opérationnelle.
Tes recettes, elles, restent verrouillées, puisqu'elles étaient emballées avec une clé issue de l'ancien mot de passe. Deux façons de les rouvrir : tes 24 mots de récupération, ou un collègue connecté qui te retransmet l'accès — avec un code de vérification à six chiffres que vous comparez de vive voix, pour que même un serveur compromis ne puisse pas s'interposer.
C'est pourquoi nous imposons la création d'un second compte à l'inscription. Un seul compte, c'est un seul point de défaillance.
Ce que tu peux vérifier toi-même
Chaque action de notre équipe touchant ta boulangerie est inscrite dans un journal d'accès que tu consultes depuis ton application. Nous n'avons aucun moyen d'y échapper. C'est ce qui rend cette page vérifiable plutôt que déclarative.