Descripción General de Seguridad
FeedbackPulse SaaS está construido con la seguridad como prioridad máxima. Esta página documenta todas las medidas de seguridad implementadas.
Capas de Seguridad
Seguridad en el Transporte
| Característica | Implementación |
|---|---|
| HTTPS | Aplicado mediante SESSION_SECURE_COOKIE=true y middleware de redirección |
| HSTS | Strict-Transport-Security: max-age=31536000; includeSubDomains |
| Cabeceras de Seguridad | Aplicadas por el middleware SecurityHeaders en cada respuesta |
Autenticación
| Característica | Implementación |
|---|---|
| Hash de Contraseñas | Bcrypt con 12 rondas |
| Autenticación de Dos Factores | TOTP mediante aplicaciones de autenticación (Google Authenticator, Authy) |
| Inicio de Sesión Social | OAuth2 con Google y GitHub |
| Verificación de Email | Requerida antes de acceder al panel |
| URLs Firmadas | Usadas para invitaciones de equipo (vencimiento en 7 días) |
| Cifrado de Sesión | Sesiones cifradas en reposo |
Autorización
| Característica | Implementación |
|---|---|
| Control de Acceso por Roles | 4 roles: superadmin, tenant_admin, tenant_staff, customer |
| Guardias de Middleware | Control de acceso a nivel de ruta |
| Aislamiento de Inquilinos | El ámbito global previene el acceso cruzado entre datos de inquilinos |
| Restricciones por Plan | Funciones bloqueadas tras el plan de suscripción |
Seguridad de la Aplicación
| Característica | Implementación |
|---|---|
| Protección CSRF | Tokens CSRF de Laravel en todos los formularios (excepto webhooks/widget) |
| Prevención XSS | Escapado automático con {{ }} de Blade |
| Inyección SQL | Consultas parametrizadas con Eloquent |
| Asignación Masiva | Lista blanca $fillable en los modelos |
| Límite de Tasa | Throttling por ruta (5-120 req/min) |
Seguridad de la API
| Característica | Implementación |
|---|---|
| Hash de Claves API | Almacenamiento con hash SHA256 |
| Límites de Tasa por Inquilino | 60 solicitudes/minuto por inquilino |
| Rotación de Claves | Revocar claves antiguas, crear nuevas |
| Seguimiento de Último Uso | Marca de tiempo last_used_at actualizada en cada uso |
Seguridad de los Datos
| Característica | Implementación |
|---|---|
| Cifrado de Datos Sensibles | Configuración de la plataforma cifrada en reposo |
| Cumplimiento GDPR | Herramientas de exportación, eliminación y anonimización de datos |
| Retención de Datos | Eliminación automática de datos antiguos según la política de retención del plan |
| Registro de Auditoría | Cada acción significativa registrada con IP y agente de usuario |
| Prevención de Inyección CSV | Caracteres de fórmula eliminados en las exportaciones |
Seguridad de Webhooks
| Característica | Implementación |
|---|---|
| Firmas HMAC | Firmas SHA256 en webhooks de salida |
| Protección SSRF | Bloquea localhost e IPs privadas en URLs de webhook |
| Verificación de Stripe | Verificación de firma del webhook |
| Deduplicación de Eventos | Previene el doble procesamiento mediante seguimiento de ID de evento |
Cabeceras HTTP de Seguridad
Aplicadas por el middleware SecurityHeaders:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Content-Security-Policy: [configurado por despliegue]