La pregunta "¿debería crear una aplicación?" Casi siempre va acompañado de hojas de costos, ideas de lienzo y sueños de crecimiento. Rara vez va acompañado de una pregunta tan importante como: "¿estoy preparado para guardar los datos de las personas que los utilizarán?".
Esta ausencia no es mala. Es ignorancia. Quienes están empezando ven la seguridad como algo que se solucionará más adelante, cuando el producto crezca. Pero la seguridad no es una característica que se añade al final, es una base. Y no se agregan cimientos al edificio ya construido.
Este texto es para cualquiera que esté decidiendo crear una app y quiera entender, sin jergas, lo que debe tener en la cabeza desde el primer día. No para convertirse en un experto, sino para evitar tomar decisiones costosas en el futuro.
Por qué la seguridad es importante incluso antes que el código
Cada aplicación que hace algo útil almacena datos. Nombre, correo electrónico, teléfono, ubicación, historial de uso, en ocasiones documento y detalles de pago. En el momento en que recopilas los primeros datos de una persona, has asumido una responsabilidad legal y ética.
En Brasil esto tiene un nombre: LGPD, Ley General de Protección de Datos. No es una sugerencia. Define que usted es responsable de los datos que recopila, que necesita una base legal para recopilarlos y que debe protegerlos. Una aplicación de inicio y una aplicación de gran empresa están sujetas a la misma ley.
La consecuencia práctica: usted no decide si preocuparse por la seguridad. Sólo decides si te preocuparás antes o después del problema. Y luego siempre sale más caro, en dinero, en reputación y, a veces, en multas.
La tesis: la seguridad es una decisión arquitectónica, no de mantenimiento
La idea central de este artículo es simple. La seguridad no es una capa que se pone encima del producto terminado. Es un conjunto de decisiones que dan forma a cómo se construye el producto desde el principio.
Dónde se almacenan los datos. Cómo se manejan las contraseñas. ¿Quién puede ver qué? Cómo se comunica la aplicación con el servidor. Cada una de estas decisiones se toma temprano, y rehacerlas más tarde significa reescribir partes enteras del sistema.
Es por eso que el mejor momento para que un principiante piense en la seguridad no es cuando ya es avanzado. Es ahora mismo, al principio, cuando todavía es barato tomar decisiones.
Los fundamentos que nadie debería saltarse
No es necesario dominar criptografía para comenzar de manera responsable. Debe respetar unos cuantos principios que resuelven la mayoría de los riesgos iniciales.
Nunca guardes la contraseña en texto plano
Las contraseñas nunca deben guardarse tal como las escribió el usuario. Pasan por un proceso llamado hash, que los transforma en algo irreversible. Incluso si alguien roba la base de datos, no puede leer las contraseñas. Los frameworks modernos ya hacen esto por usted, el error del principiante es deshabilitar o eludir esta protección rápidamente.
Establecer autenticación y autorización desde el principio
La autenticación consiste en confirmar quién es la persona. La autorización es definir lo que puede hacer. Ambos son diferentes y ambos importan. Un error común es proteger la pantalla de inicio de sesión pero olvidarse de comprobar, en cada acción, si ese usuario tiene permiso para hacerlo. El resultado es el clásico: cambiar un número en la URL y acceder a los datos de otra persona.
Todas las comunicaciones deben estar cifradas
Los datos que viajan entre la aplicación y el servidor deben viajar protegidos mediante HTTPS. Sin esto, cualquier persona que esté en una red compartida, como la Wi-Fi de una cafetería, por ejemplo, puede interceptar lo que se envía. Hoy esto es estándar y barato. No hay excusa para no hacerlo.
Recoge solo lo que necesitas
Los datos más seguros son los que no se conservan. Antes de pedir información, pregunta: ¿realmente necesito esto? Recolectar todo “porque algún día puede ser útil” aumenta lo que tienes que proteger y tu riesgo ante la LGPD. La minimización de datos es, al mismo tiempo, una buena práctica de seguridad y un requisito legal.
Un ejemplo concreto: la app que se filtró sin ser hackeada
Imagine una pequeña aplicación de programación creada por un emprendedor en ciernes. Funciona bien, crece, gana usuarios. Un día, alguien descubre que, cambiando el número de identificación en la solicitud, puede ver las citas de cualquier otro cliente, incluyendo nombre, número de teléfono y dirección.
No hubo ninguna invasión sofisticada. No hubo ningún hacker genio. Hubo un error de autorización: el sistema confirmó quién eras, pero no verificó si esos datos eran tuyos. Es uno de los fallos más comunes que existen, catalogado por OWASP entre los principales riesgos de las aplicaciones.
La lección para el principiante: la mayoría de las filtraciones no provienen de ataques al cine. Proviene de descuidos básicos que podrían haberse evitado con principios simples aplicados desde el principio.
Utilizar lo que ya existe en lugar de inventar
Hay un instinto comprensible en quien empieza: querer construir todo desde cero para entender cómo funciona. En seguridad, este instinto es peligroso. La criptografía, la gestión de contraseñas y la autenticación son áreas en las que incluso los expertos cometen errores y donde un error sutil abre un enorme agujero.
El camino responsable para el principiante es utilizar bibliotecas y servicios consolidados, mantenidos por comunidades que ya han enfrentado y solucionado problemas que ni siquiera puedes imaginar. No escriba su propio algoritmo de contraseña. No inventes tu propio esquema de inicio de sesión. Utilice lo que ha sido probado por miles de personas y se actualiza cuando aparece un fallo.
Esto también se aplica a mantener actualizadas las dependencias. La mayoría de los ataques aprovechan fallos que ya se conocen y ya se han corregido en versiones más recientes, que la víctima simplemente no instaló. La actualización es una de las defensas más baratas y que más se pasa por alto que existen.
El reflejo que separa al amateur del profesional
Existe una trampa mental peligrosa: "mi aplicación es demasiado pequeña para ser objetivo". Es exactamente lo contrario. Las aplicaciones pequeñas suelen tener las protecciones más débiles, lo que las convierte en objetivos fáciles para ataques automatizados que escanean Internet en busca de fallas conocidas. No es necesario que nadie quiera atacarte específicamente, todo lo que necesitas es que un robot encuentre la puerta abierta.
La madurez aquí no es técnica, es postura. Es entender que, al pedir los datos de alguien, hiciste la promesa de que te importaría. Romper esa promesa, incluso sin querer, tiene consecuencias reales para personas reales.
Y hay un punto en los negocios que los principiantes subestiman: la confianza es el activo más difícil de reconstruir. Un producto puede recuperarse de una falla de funcionalidad. Recuperarse de una infracción que expuso a los clientes es mucho más difícil.
Empiece de forma sencilla, pero empiece bien
No necesitas una fortaleza para iniciar tu primera aplicación. Necesita fundamentos sólidos: contraseñas protegidas, comunicación cifrada, autorización verificada y recopilación mínima de datos. Esto ya le sitúa por delante de una gran cantidad de productos en el mercado.
La seguridad para principiantes no se trata de saberlo todo. Se trata de no cometer los errores que sabes evitar. El resto se puede aprender con el tiempo, siempre y cuando las bases sean las adecuadas.
Si estás a punto de crear una aplicación y quieres entender cómo construir seguridad desde el diseño, hay otros artículos en el blog sobre LGPD, autenticación y arquitectura segura que profundizan en cada uno de estos puntos. Si es un momento de toma de decisiones en su organización, vale la pena discutirlo antes de escribir la primera línea.
Lea también
- Protección contra fuga de datos al escalar: qué cambia a medida que crece el volumen
- Cifrado de datos: cómo aplicarlo en el desarrollo diario
- Protección contra fugas de datos en equipos pequeños: lo imprescindible sin exagerar
- Recomendación de contenido: seguridad y privacidad cuando el sistema escala
- Seguridad en aplicaciones web: los fundamentos que nadie puede ignorar
- LGPD en aplicaciones para equipos pequeños: el mínimo serio que se adapta a tu realidad