Tous les articles

Plateforme

Comment SCALE Order protège les données de votre restaurant

Les restaurants servent de vrais clients et manipulent de l’argent réel. Voici les protections intégrées à SCALE Order, de la séparation des données de chaque restaurant à la sécurisation de la connexion, des sessions et des enregistrements.

Points clés

  • Les données de chaque restaurant sont séparées au sein même de la base de données, et pas seulement dans l’application.
  • Les mots de passe sont hachés avec scrypt ; des échecs répétés bloquent le compte pendant 15 minutes.
  • Les sessions sont renouvelées à chaque actualisation, et la réutilisation d’une session met fin à toute la chaîne de connexion.
  • Les enregistrements de commandes, d’espèces, de points et d’audit sont en ajout seul.

Chaque restaurant dans son propre espace

Tous les restaurants fonctionnent sur une même plateforme, mais c’est la base de données qui impose la séparation. Chaque table de restaurant a la sécurité au niveau des lignes activée et imposée, et chaque requête s’exécute dans une transaction rattachée à un seul restaurant. Le compte utilisé par l’application ne peut pas contourner ces règles.

Deux rôles internes sont autorisés à les franchir pour des tâches précises : les processus d’arrière-plan, qui peuvent seulement lister les restaurants actifs avant d’effectuer leur travail restaurant par restaurant, et le centre de contrôle de l’équipe SCALE, qui n’a accès ni aux adresses des clients, ni aux positions des commandes, ni aux empreintes de mots de passe, ni aux journaux d’audit propres aux restaurants.

Connexion et mots de passe

  • Les mots de passe comptent de 8 à 128 caractères et sont stockés sous forme d’empreintes scrypt avec un sel aléatoire ; ils sont comparés en temps constant.
  • Cinq mots de passe erronés bloquent le compte pendant 15 minutes. Une tentative de connexion à un compte inexistant prend le même temps, ce qui ne révèle pas quels comptes existent.
  • Les tentatives de connexion sont aussi limitées par adresse sur 15 minutes : 10 pour le personnel, 60 pour les clients, 5 nouvelles inscriptions de clients. Ces compteurs sont partagés par tous les serveurs.
  • Les codes de vérification comportent 6 chiffres, expirent au bout de 10 minutes et n’autorisent qu’un nombre limité d’essais.
  • La protection anti-robots de Cloudflare peut être activée pour la connexion et pour le passage de commande.

Des sessions impossibles à rejouer

Une connexion fournit un jeton d’accès de courte durée (15 minutes par défaut) et un jeton de renouvellement. Chaque renouvellement remplace le jeton de renouvellement par un nouveau. Si un ancien jeton est réutilisé, toute la chaîne de sessions prend fin, ce qui empêche l’utilisation prolongée d’un jeton volé.

Chaque requête vérifie aussi que la session est toujours active : retirer un membre du personnel, changer son mot de passe ou restreindre son rôle le déconnecte partout à la fois. Les cookies de la console ne peuvent pas être lus par les scripts des pages et ne sont pas envoyés par d’autres sites.

Rôles au moindre privilège

Les accès reposent sur 29 droits, de la consultation des commandes à la confirmation des espèces ou à la gestion du personnel. Le propriétaire peut créer des rôles combinant librement ces droits, et le personnel peut être limité à un seul point de vente. Personne ne peut accorder un droit qu’il ne détient pas lui-même, les rôles prédéfinis ne sont pas modifiables, et le dernier propriétaire actif ne peut pas être retiré.

La console masque ce qu’un rôle ne peut pas utiliser, mais uniquement par souci de clarté : le serveur vérifie le droit, le point de vente et l’appartenance à l’équipe à chaque action.

Des enregistrements impossibles à réécrire

Les changements de statut des commandes, le registre des points, les mouvements de stock, l’historique des prix et le journal d’audit sont en ajout seul. La base de données rejette toute modification ou suppression : les corrections se font par l’ajout d’une nouvelle écriture, visible.

Respecter les données des clients

  • La position liée à une commande n’est relevée que lorsque l’application est ouverte, avec le consentement du client, et elle est supprimée au bout de 180 jours.
  • Les clients peuvent supprimer leur compte depuis le site ou l’application. Leurs adresses, positions, appareils, notifications et mot de passe sont supprimés, et leur profil est anonymisé.
  • Pour empêcher une même personne de bénéficier à nouveau des offres réservées aux nouveaux clients, seules des empreintes protégées de son téléphone et de son e-mail sont conservées.