# M4 Baitel remoto y robusto

## Arquitectura recomendada

- Frontend: esta app estática publicada en Netlify, Vercel o Cloudflare Pages.
- Base de datos: Supabase PostgreSQL.
- Login: Supabase Auth.
- Comprobantes: Supabase Storage en bucket privado.
- Respaldo: exportación JSON desde la app y backups automáticos de Supabase.

## Pasos de producción

1. Crear un proyecto en Supabase.
2. Ejecutar `supabase-schema.sql` en el SQL editor de Supabase.
3. Crear o verificar el bucket privado `m4-baitel-comprobantes`.
4. Activar usuarios con correo y contraseña en Supabase Auth.
5. Verificar que `config.js` contenga el `SUPABASE_URL` y la `SUPABASE_ANON_KEY`.
7. Publicar la carpeta completa en Netlify, Vercel o Cloudflare Pages.

## Robustez contra pérdida de datos

- La base remota debe ser la fuente principal de información.
- La app conserva exportación JSON para respaldo manual.
- La tabla `m4_baitel_audit_log` guarda historial de altas, cambios y eliminaciones de movimientos.
- PostgreSQL valida montos, tipos y relaciones para evitar registros inválidos.
- Supabase debe tener backups automáticos habilitados desde el panel del proyecto.

## Seguridad mínima

- No compartir ni guardar la `service_role_key` en el frontend.
- Usar solo la `anon public key` en `config.js`.
- Mantener RLS activo en todas las tablas.
- Crear usuarios nominales para cada socio u operador.
