Cifrado en tránsito y en reposo
Toda conexión a la Plataforma viaja por TLS 1.3. Los certificados se gestionan automáticamente por la infraestructura de Vercel. Las cookies de sesión se emiten como HttpOnly + Secure + SameSite=Lax.
Las tablas con datos financieros viven en Postgres administrado por Supabase con cifrado en reposo (AES-256) provisto por la infraestructura subyacente. Los archivos cargados (boletas, cartolas) se guardan también con cifrado en reposo.
Aislamiento multi-tenant
La base de datos aplica Row-Level Security (RLS) sobre todas las tablas con datos de usuarios. Cada query incluye además filtro explícito por household_id en la capa de aplicación. Esa redundancia es intencional: si un día se desactivara la RLS por error, el filtro de aplicación impide que un nido vea datos de otro.
Las acciones que escriben en la base validan al usuario en el servidor antes de ejecutar y rechazan cualquier intento de operar sobre un nido distinto del propio.
Autenticación sin contraseña
La Plataforma no almacena contraseñas. El acceso se realiza mediante enlaces mágicos (magic links) firmados por Supabase Auth y enviados al correo autorizado. Cada enlace caduca en una hora y sólo puede usarse una vez.
Para mitigar el problema conocido de prefetch automático por escáneres antivirus que «consumen» el enlace antes de que el usuario lo abra, la confirmación se hace en una segunda página con interacción explícita del usuario (token-hash + verifyOtp, patrón recomendado por Supabase para enlaces resistentes a prefetch).
Allowlist de correos
Mientras la Plataforma se mantenga en fase cerrada, sólo correos previamente autorizados pueden iniciar sesión. No existe formulario de registro público y la API no permite enumerar cuentas existentes.
Sin terceros en el data path
La Plataforma no integra herramientas de analytics, marketing, publicidad, mapas de calor ni telemetría de comportamiento del usuario. Las únicas dependencias externas que reciben datos son las estrictamente necesarias para prestar el servicio (Supabase, Vercel, Anthropic, Resend y opcionalmente Telegram), descritas en la Política de Privacidad.
Las llamadas a la API de Anthropic se realizan con el flag no-train habilitado, por lo que sus cartolas y boletas no se usan para entrenar modelos generales.
Logs sin datos sensibles
Por convención del proyecto (declarada en AGENTS.md) jamás registramos en logs montos, descripciones de transacciones, contenidos de correos parseados, merchants, ni mensajes intercambiados con el bot. Los registros operativos sólo contienen identificadores opacos (IDs de filas, códigos de error) suficientes para depurar sin exponer información financiera.
Auditoría y trazabilidad
Cada inicio de sesión, cada cambio de presupuesto y cada modificación o anulación de transacción queda registrado con marca de tiempo. Los miembros del nido pueden ver el historial completo de su nido desde la propia Plataforma.
Exportación y borrado
El usuario puede exportar todas sus transacciones, categorías y presupuestos en formato CSV o JSON desde la Plataforma. El borrado permanente de la cuenta y de los datos asociados se ejecuta dentro de los 15 días hábiles siguientes a la solicitud (ver sección 06 de la Política de Privacidad).
Reporte de vulnerabilidades
Si descubre una vulnerabilidad o un comportamiento que parezca insesguro, le agradecemos que nos lo comunique en privado al correo de contacto publicado en el pie del sitio antes de divulgarlo públicamente. Le confirmaremos recepción dentro de las 72 horas siguientes y le informaremos del plan de remediación.
Código abierto y revisable
El código fuente de la Plataforma está disponible en github.com/crgonzalezflores-eng/vault-familia. Puede inspeccionar las decisiones técnicas, las migraciones de base de datos y las pruebas en cualquier momento.