De Splync v1.0 a Splync v1.1
Al registrarte en Splync, se te pide ingresar tu correo electrónico y contraseña. Como introduje en artículos anteriores, Splync v1.0 ya incluía medidas de seguridad básicas. La transferencia de datos estaba protegida por HTTPS. Nuestro servidor estaba asegurado con SSH para que solo el desarrollador pudiera acceder. Tu contraseña nunca se almacenó en texto plano, sino que se guardó cifrada en la base de datos para que nadie pudiera descifrarla. Sin embargo, el secreto de v1.0 era que no tenía verificación de correo electrónico en el proceso de creación de cuenta. Splync, como un MVP (Producto Mínimo Viable), se lanzó sin esta función porque la app todavía estaba en una etapa donde solo mis amigos sabían de su existencia. En v1.0, la app simplemente verificaba si el correo ingresado contenía una “@” entre cadenas de letras y si era único entre las cuentas existentes.
¿Qué pasa si no hay verificación de correo electrónico
Si una app permite a los usuarios crear una cuenta sin verificar su identidad, es fácil imaginar a alguien usando el correo de otra persona para crear su propia cuenta. Eso es exactamente lo que podría pasar. Aunque esto no signifique que tus datos se filtren, sí significa que no podrías registrarte con tu propio correo si ya hubiera sido usado. Además, alguien podría crear una cuenta usando un correo totalmente ficticio. Esto puede no parecer serio al principio, pero se convertiría en un desastre una vez que el desarrollador intente cobrar o contactar a ese usuario más tarde. ¡Ni siquiera sabría quién es esa persona en realidad! Así que la verificación de correo electrónico fue el siguiente paso para Splync.
Cómo funciona la verificación de correo electrónico
En Splync v1.1, cuando un nuevo usuario se registra, la app envía automáticamente un correo al correo que ingresaron. Este correo contiene un enlace de verificación único, generado automáticamente. Al hacer clic en ese enlace, el usuario confirma que realmente tiene acceso a esa cuenta de correo. Una vez verificado, el servidor activa la cuenta del usuario y la almacena en la base de datos como un usuario válido y autenticado. Suena familiar, ¿verdad? Este proceso garantiza que cada cuenta en Splync pertenezca a una persona real y localizable, un pequeño pero vital paso hacia la construcción de una comunidad confiable. Veamos más de cerca cómo se implementa este flujo desde la perspectiva técnica.
Implementación técnica de la verificación de correo electrónico
El backend de Splync usa Python/FastAPI y la app móvil está construida con SwiftUI. La app maneja solo la interfaz de usuario, mientras que la lógica de verificación y las credenciales sensibles se mantienen seguras en el servidor. En v1.1, añadimos un paso estándar de verificación de correo entre “usuario no verificado” y “usuario verificado”. Cuando un nuevo usuario se registra, la app envía los datos ingresados al servidor. El servidor tiene una base de datos de MariaDB. Almacena al usuario como no verificado en la base de datos. La contraseña se cifra y guarda, pero la cuenta aún no está activa. En ese momento, el servidor también genera un token de verificación único con un tiempo de expiración. Luego, usando un servidor SMTP (Protocolo Simple de Transferencia de Correo), el servidor envía un correo de verificación que contiene un enlace seguro y único. Cuando el usuario abre el enlace, el servidor verifica que el token sea válido y no haya expirado. Una vez verificado, la cuenta se activa, y el usuario puede iniciar sesión normalmente desde la app. Esto mantiene la autenticación segura y ligera.
¿Python? ¿FastAPI? ¿SwiftUI? ¿SMTP? ¿MariaDB
Si estos te suenan a un código secreto, no te preocupes, solo son las herramientas que hacen que el sistema funcione en conjunto. Piensa en el flujo de registro de Splync como un centro de soporte al cliente verificando la identidad de alguien. “¿Me podrías dar tu nombre y correo electrónico?” pregunta SwiftUI, la amable operadora en la recepción. Le das tus datos y ella dice, “¿Podrías esperar un momento?” Inmediatamente los reenvía a FastAPI, el sistema telefónico interno de la oficina. FastAPI la conecta con Python, el especialista en verificación del back-office. Python consulta con MariaDB, la base de datos de clientes, para registrar tu información de manera segura, marcando tu estado como “no verificado”. Luego Python pide a SMTP, el mensajero externo, que te envíe un correo de confirmación con un enlace seguro. Cuando haces clic en el enlace, Python verifica su validez y actualiza tu registro en MariaDB a “verificado”. Finalmente, FastAPI informa a la operadora que tu identidad ha sido confirmada y tu cuenta ahora está activa. Juntos, estas partes hacen que el proceso de verificación de Splync sea tanto humano como seguro.
El siguiente paso en el viaje de seguridad de Splync
La verificación de correo electrónico puede parecer una pequeña función, pero lo cambia todo respecto a la confianza. Marca el momento en que Splync evoluciona de un proyecto personal entre amigos a una app pública donde cualquiera puede unirse con confianza. Enviar un enlace de verificación a través de SMTP incluso se siente como el primer apretón de manos de Splync con un nuevo usuario. Detrás de escena, esta función sienta las bases para futuras mejoras: restablecimiento de contraseñas, autenticación multifactor y recuperación de cuentas. Cada capa de seguridad se construye sobre la anterior. Con la verificación de correo, Splync v1.1 da un paso significativo hacia adelante, haciendo que la gestión de gastos compartidos no solo sea conveniente, sino verdaderamente confiable.