Todos los artículos

Plataforma

Cómo protege SCALE Order los datos de su restaurante

Los restaurantes trabajan con clientes reales y dinero real. Estas son las protecciones integradas en SCALE Order, desde cómo se separan los datos de cada restaurante hasta cómo se protegen el inicio de sesión, las sesiones y los registros.

Puntos clave

  • Los datos de cada restaurante están separados dentro de la propia base de datos, no solo en la aplicación.
  • Las contraseñas se guardan como hash con scrypt; los fallos repetidos bloquean la cuenta durante 15 minutos.
  • Las sesiones se renuevan en cada actualización, y una sesión reutilizada cierra toda la cadena de inicio de sesión.
  • Los pedidos, el efectivo, los puntos y los registros de auditoría solo admiten nuevas entradas.

Cada restaurante en su propio espacio

Todos los restaurantes funcionan en una misma plataforma, pero es la base de datos la que impone la separación. Cada tabla de restaurante tiene la seguridad a nivel de fila activada y obligatoria, y cada solicitud se ejecuta en una transacción asignada a un único restaurante. La cuenta que usa la aplicación no puede saltarse esas reglas.

Dos roles internos pueden sortearlas para tareas muy concretas: los procesos en segundo plano, que solo pueden consultar qué restaurantes están activos antes de hacer su trabajo restaurante por restaurante, y el centro de control del equipo de SCALE, que no tiene acceso a las direcciones de los clientes, las ubicaciones de los pedidos, los hashes de contraseñas ni los registros de auditoría propios de los restaurantes.

Inicio de sesión y contraseñas

  • Las contraseñas tienen de 8 a 128 caracteres y se guardan como hashes scrypt con una sal aleatoria; se comparan en tiempo constante.
  • Cinco contraseñas incorrectas bloquean la cuenta durante 15 minutos. Intentar iniciar sesión en una cuenta que no existe tarda lo mismo, así que no revela qué cuentas existen.
  • Los intentos de inicio de sesión también se limitan por dirección durante 15 minutos: 10 para el personal, 60 para los clientes y 5 registros de clientes nuevos. Todos los servidores comparten los recuentos.
  • Los códigos de verificación tienen 6 dígitos, caducan a los 10 minutos y permiten un número limitado de intentos.
  • Se puede activar la protección contra bots de Cloudflare para el inicio de sesión y para hacer pedidos.

Sesiones que no se pueden reutilizar

Al iniciar sesión se obtiene un token de acceso de corta duración (15 minutos de forma predeterminada) y un token de actualización. Cada actualización sustituye el token de actualización por uno nuevo. Si alguna vez se vuelve a usar uno antiguo, se cierra toda la cadena de sesiones, lo que impide que un token robado se use durante mucho tiempo.

Cada solicitud comprueba además que la sesión siga activa, de modo que eliminar a un miembro del personal, cambiar su contraseña o reducir su rol cierra su sesión en todas partes a la vez. Los scripts de la página no pueden leer las cookies del panel, y otros sitios no las envían.

Roles con el mínimo privilegio

El acceso se compone de 29 permisos, desde ver pedidos hasta confirmar efectivo o gestionar al personal. El propietario puede crear roles con cualquier combinación de ellos, y el personal puede limitarse a una sucursal. Nadie puede conceder un permiso que no tenga, los roles predefinidos no se pueden editar y no se puede eliminar al último propietario activo.

El panel oculta lo que un rol no puede usar, pero eso es solo por claridad: el servidor comprueba el permiso, la sucursal y la pertenencia en cada acción.

Registros que no se pueden reescribir

Los cambios de estado de los pedidos, el registro de puntos, los movimientos de inventario, el historial de precios y el registro de auditoría solo admiten nuevas entradas. La base de datos rechaza cualquier modificación o eliminación, así que las correcciones se hacen añadiendo una entrada nueva y visible.

Respeto por los datos de los clientes

  • Las ubicaciones de los pedidos solo se toman mientras la app está abierta, con consentimiento, y se eliminan a los 180 días.
  • Los clientes pueden eliminar su cuenta desde el sitio web o la app. Se borran sus direcciones, ubicaciones, dispositivos, notificaciones y contraseña, y su perfil se anonimiza.
  • Para evitar que la misma persona vuelva a aprovechar las ofertas para clientes nuevos, solo se conservan huellas protegidas de su teléfono y su correo electrónico.