Familia Viñas Cheesman
Aplicación privada con seguridad a nivel de base de datos
Árbol genealógico de cinco generaciones donde la privacidad no es cosmética: la barrera está en Postgres.
- generaciones en el árbol
- 5generaciones en el árbol
- roles de acceso
- 5roles de acceso
- datos expuestos sin sesión
- 0datos expuestos sin sesión
El reto
Un archivo familiar con nombres, fechas de nacimiento, teléfonos, correos y fotos de menores. El planteamiento habitual —difuminar el contenido con CSS y pedir login— no protege nada: el nombre viaja igual al navegador y se lee con ver-código-fuente, o pidiéndole los datos a la API con la clave anónima, que es pública por diseño. Cualquier solución que dejase los datos salir del servidor era, directamente, una filtración.
La solución
Movimos la restricción a la base de datos. Las vistas públicas no envían los nombres: devuelven un marcador de posición, así que quien no tiene sesión no puede leerlos ni inspeccionando la respuesta de red. Las políticas de seguridad a nivel de fila filtran registro a registro según quién eres, con cinco roles distintos (sin sesión, pendiente, miembro, administrador, revocado). Las fotos viven en un bucket privado y se sirven con URL firmada de una hora. El registro con correo, Google o Facebook siempre termina en estado pendiente hasta que el administrador aprueba y vincula la cuenta con una persona del árbol. El desenfoque sigue ahí, pero es solo estética.
El resultado
Un sitio privado de verdad, no un sitio público con zona privada. Además de la ficha por persona, incluye galería compartida, línea de tiempo automática, glosario de apellidos, mapa de países y avisos de cumpleaños por correo mediante una tarea programada diaria.
¿Tienes un reto parecido?
Cuéntanos qué necesita tu negocio y te decimos si podemos resolverlo, con qué alcance y en cuánto tiempo.
Escríbenos por WhatsApp