Seguridad y privacidad
Los datos de tu empresa son tuyos. Nunca se mezclan con los de otra empresa. Nunca se exponen sin autenticación.
Arquitectura multitenant nativa
Cada empresa es un tenant independiente. Todos los registros de negocio llevan un tenant_id. Es imposible que un usuario acceda a datos de otra empresa por diseño de la base de datos.
- tenant_id en todas las tablas de negocio
- Consultas siempre filtradas por tenant
- Sin rutas que permitan cross-tenant access
- Aislamiento validado a nivel de servidor
Roles y permisos
Cinco niveles de acceso con permisos diferenciados. Cada rol solo ve y hace lo que le corresponde.
- Superadmin: gestión de plataforma
- Tenant Admin: gestión completa de la empresa
- Manager: gestión operativa, informes, auditoría
- Técnico: tareas, checklists, incidencias
- Cliente portal: solo sus instalaciones y documentos
Portal cliente aislado
El cliente solo accede a sus propios datos. No puede ver datos de otros clientes del mismo tenant. La sesión de cliente tiene acceso restringido a /client.
- Acceso restringido a /client
- clientPortalId limita los datos visibles
- Sin acceso al panel de gestión
- Sin acceso a datos de técnicos o costes internos
Descargas protegidas
Los archivos (documentos, evidencias, informes) nunca se sirven directamente por URL pública. Todas las descargas pasan por un endpoint autenticado que verifica la sesión y los permisos del usuario.
- Endpoints /api/files protegidos
- Verificación de sesión en cada descarga
- Verificación de acceso al tenant y al recurso
- Sin archivos accesibles sin autenticación
Audit log completo
Cada acción relevante queda registrada: creación, modificación, borrado, login, logout, generación de informes y operaciones de IA.
- Log por usuario, acción, recurso y timestamp
- Inmutable: los logs no se editan ni borran
- Accesible para MANAGER y superiores
- Filtrable por acción, tipo de recurso y usuario
Despliegue en VPS propio
FieldCore se despliega en un servidor Linux dedicado con PostgreSQL local. Sin dependencias de terceros para el almacenamiento de datos.
- Sin Supabase
- Sin Firebase
- PostgreSQL en servidor propio
- Storage local protegido (o S3 compatible)
Backups y recuperación
Backups automáticos de base de datos y storage con retención configurable. Proceso de restauración documentado y probado.
- pg_dump para PostgreSQL
- tar.gz para storage
- Retención de 10 backups por defecto
- Restore verificado y documentado
Sin DEMO_MODE en producción
El modo demo está prohibido a nivel de código en entornos de producción. Si DEMO_MODE=true y NODE_ENV=production, la aplicación lanza un error al arrancar.
- Prohibición a nivel de lib/config/demo.ts
- Error de arranque si se activa en prod
- Datos de demo completamente separados
- Reset de demo requiere confirmación explícita
¿Tienes preguntas sobre seguridad?
Podemos explicar la arquitectura técnica con más detalle en la demo o por email.
Contactar