Sécurité
Dernière mise à jour : 18 septembre 2026
En bref
Pas de badges, pas de vagues assurances. Voici ce qui existe et comment cela marche.
- Ton mot de passe est haché avec argon2id. Nous ne le connaissons pas et ne pouvons pas le lire.
- Tout le trafic entre l’application et le serveur est chiffré en TLS.
- Une sauvegarde chaque nuit, relue immédiatement pour vérifier qu’elle est saine.
- Tout reste dans l’Union européenne.
- Aucun outil d’analyse, aucun traceur, aucun code publicitaire dans l’application.
- Les vues des listes publiques sont comptées, au moyen d’un jeton non rattachable à une personne. Voir la politique de confidentialité.
- Aucun mot de passe en clair, nulle part, journaux compris.
- Aucune donnée ne quitte l’UE.
- Aucune promesse intenable. Ce que nous n’affirmons pas figure en bas de page.
Ton mot de passe
Nous ne stockons pas ton mot de passe. Ce qui se trouve dans la base de données est une empreinte calculée avec argon2id, aux réglages recommandés par l’OWASP : 19 Mio de mémoire et deux passes. Argon2id est volontairement lent et gourmand en mémoire, de sorte que quelqu’un qui emporterait la base de données ne pourrait pas la casser par le calcul.
Concrètement, nous ne pouvons pas lire ton mot de passe, pas te l’envoyer et pas le donner à qui que ce soit. Oublié ? Nous en définissons un nouveau ; nous ne pouvons pas retrouver l’ancien.
La vérification des mots de passe compromis
Quand tu choisis un mot de passe, nous vérifions s’il apparaît dans une fuite connue. Cela se fait sans envoyer ton mot de passe où que ce soit.
Le principe : ton mot de passe est haché localement et seuls les cinq premiers caractères de cette empreinte partent vers le service qui recense les fuites. Celui-ci renvoie toutes les empreintes commençant par ces cinq caractères, des centaines, et la comparaison a lieu sur notre serveur. L’autre partie n’apprend donc jamais de quel mot de passe il s’agissait, ni même s’il y a eu une correspondance.
Si ce service est indisponible, ton inscription se poursuit quand même. La panne d’un tiers ne doit pas t’empêcher de créer un compte.
En transit
Tout le trafic entre l’application et le serveur passe par TLS. Il n’existe pas de variante non chiffrée vers laquelle se rabattre ; une requête en HTTP simple est redirigée vers la version chiffrée avant qu’aucun contenu ne circule.
Se connecter et le rester
Tu restes connecté grâce à deux sortes de jetons : un jeton de courte durée pour les requêtes et un jeton de longue durée pour renouveler le premier. Le second est remplacé à chaque usage. Si un jeton déjà utilisé est représenté, ce qui ne peut pas arriver par accident, nous le traitons comme un vol et mettons fin sur-le-champ à toutes les sessions de ce compte.
À chaque requête, nous revérifions aussi le compte dans la base de données. C’est ce qui rend la suppression d’un compte effective immédiatement, plutôt qu’au moment où le dernier jeton finit par expirer.
Qui peut accéder à quoi
La base de données sépare les utilisateurs. Chaque bière, lot et groupe est rattaché à exactement un compte, et l’application ne demande jamais rien sans ce compte attaché. Une collection partagée ou un échange est une exception explicite que tu actives toi-même, et elle ne donne accès qu’à ce que tu partages.
Le catalogue est la seule chose que tout le monde voit, et c’est bien l’intention : il contient des faits sur des bières, pas sur des personnes.
Empêcher les abus
La connexion, l’inscription, les réinitialisations de mot de passe et l’envoi de courrier sont tous limités par adresse et par IP. Ces limites empêchent de deviner des mots de passe ou d’inonder une boîte aux lettres. Une requête refusée ne dit pas quelle limite a été atteinte, car ce serait déjà livrer quelque chose.
Au-delà, aucune réponse du serveur ne révèle si une adresse e-mail possède un compte. S’inscrire avec une adresse existante donne exactement la même réponse qu’avec une nouvelle. La différence n’apparaît que dans la boîte de la personne en droit de le savoir.
Sauvegardes
Chaque nuit la base de données est exportée puis immédiatement relue pour vérifier que l’export est exploitable. Une sauvegarde dont personne ne sait si elle fonctionne n’est pas une sauvegarde. Nous gardons quatorze copies quotidiennes et douze mensuelles, et la procédure de restauration a été exécutée pour de vrai une fois, sur une base séparée.
Où cela se trouve
Le serveur et la messagerie sont dans l’Union européenne et relèvent du RGPD. Aucune donnée ne part ailleurs.
Les listes publiques sont publiques
Une liste dotée d’un code public est faite pour être trouvée. Elle a sa propre adresse, figure dans l'annuaire et est indexable par les moteurs de recherche. Il n’y a pas de second interrupteur qui rendrait une liste publique non répertoriée : publier est la décision, et retirer le code dans l’application est la façon de revenir en arrière.
C’est un changement. La page de partage portait noindex et le code se
trouvait dans la partie de l’URL qui n’atteint jamais un serveur. Les deux servaient à
rendre une page publique difficile à découvrir par hasard, et un annuaire est
l’inverse.
Deux choses ont été conservées maintenant que le code est dans l’adresse, parce qu’elles protègent le lien plutôt que de cacher la page :
- Le code n’est pas écrit dans notre journal. Les requêtes vers une
page de partage sont journalisées comme
/share/[redacted], et la page d’origine est supprimée, de sorte qu’un lien donné à une personne ne finit pas consigné dans un fichier. - La page n’envoie pas de référent. Si tu cliques sur un lien depuis une liste partagée, le site d’arrivée n’apprend pas de quelle liste tu venais.
Le partage privé n’est en rien touché. Un code d’invitation n’est pas un code public : ces listes ne sont ni dans l’annuaire, ni indexées, et ne sont accessibles qu’aux personnes que tu as invitées.
Ce qu’une page publique montre
Ce que le propriétaire a partagé : le nom de la liste, son nom affiché et les bières des emplacements qu’il a choisis. Pas son adresse e-mail, pas son compte, et rien qu’il n’ait mis dans cette liste.
Si quelque chose ne devrait pas s’y trouver, un lien de signalement figure sur la page elle-même. Il ne demande aucun compte et n’enregistre rien sur toi.
Ce que cette page n’affirme pas
Soyons honnêtes. Voici ce que la section ci-dessus n’affirme pas, pour que tu n’aies pas à le supposer :
- Ta collection n’est pas chiffrée de bout en bout. Elle est chiffrée sur le disque et chiffrée sur le réseau, mais sur le serveur elle est lisible, sans quoi la synchronisation entre tes appareils serait impossible. Qui administre le serveur peut techniquement y accéder. C’est nous, et nous ne le faisons pas, mais « nous ne le faisons pas » est une promesse, pas une mathématique.
- Les sauvegardes sont sur la même machine que la base. Elles protègent d’une erreur de notre part ; elles ne protègent pas encore de la perte de la machine entière. Une copie hors site est sur la liste et n’existe pas encore.
- Il n’y a eu aucun audit externe. Personne de l’extérieur n’a examiné ceci. Ce qui est écrit ici est vérifiable, pas certifié.
- BackBeer est jeune. L’application n’est pas sortie d’alpha. C’est précisément la raison d’écrire dès maintenant comment elle fonctionne.
Tu as trouvé quelque chose ?
Si tu repères une faille, écris à cheers@back.beer. Dis-le-nous avant d’en parler à d’autres, laisse-nous la chance de corriger, et n’aspire pas les données d’autrui pour démontrer ton point. Nous répondrons, nous le prendrons au sérieux, et nous dirons ce que nous en avons fait.
Cette page a été rédigée en néerlandais. Cette version française est une traduction fournie à titre d’information. En cas de divergence, c’est le texte néerlandais qui fait foi.