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

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 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 :

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.