Política de Seguridad
Cómo Pessy protege la información de tu mascota: cifrado, control de acceso, segregación de entornos, auditoría y respuesta a incidentes.
1. Principios
Pessy aplica los principios de least privilege, defense in depth y privacy by design en cada capa del producto. Tratamos los datos clínicos veterinarios como información sensible incluso cuando la regulación local no los clasifique así.
2. Cifrado
2.1 En tránsito
- TLS 1.2+ en todas las conexiones cliente-servidor (HTTPS estricto, sin downgrade).
- HSTS activo con max-age 1 año + includeSubDomains.
- Certificate pinning en clientes nativos (iOS/Android via Capacitor).
2.2 En reposo
- Firestore cifra automáticamente con AES-256 las bases de datos.
- Cloud Storage cifra automáticamente todos los blobs (documentos clínicos subidos).
- Las claves las maneja Google Cloud Key Management — nosotros no manipulamos llaves.
3. Autenticación y control de acceso
- Firebase Authentication para usuarios. Soporta email + password, magic link, Google OAuth.
- Reglas Firestore restrictivas: cada usuario solo puede leer/escribir documentos que le pertenecen (matched por
userIduownerId). - Co-tutores acceden únicamente a las mascotas explícitamente compartidas, mediante un sistema de invitaciones con código de un solo uso.
- Personal de Pessy: acceso a producción restringido por IAM Google Cloud, principio de menor privilegio, sin acceso directo a datos de usuarios salvo emergencia documentada.
4. Segregación de entornos
- Producción, staging y desarrollo en proyectos GCP completamente separados (distintas Firestore, distintos buckets, distintas claves).
- No se copian datos reales a entornos de desarrollo. Para testing usamos seeds sintéticos.
- El entorno de desarrollo no tiene acceso a integraciones de pago ni a APIs sensibles de terceros.
5. Gestión de secretos
- Claves API (Google Gemini, Resend, etc.) almacenadas en Google Secret Manager.
- Rotación regular: las claves de servicio se rotan al menos cada 90 días.
- Cero secretos en el repositorio: gitleaks corre en CI para detectar leaks antes del merge.
- Tokens OAuth de usuarios (ej. Gmail) almacenados cifrados, nunca expuestos en logs.
6. Trazabilidad y auditoría
- Cloud Audit Logs activos para todas las operaciones administrativas en Firebase y GCP.
- Trazabilidad por evento clínico: cada registro lleva
createdBy,extractionMethod,verificationStatus,sourceDocumentId. - Atribución de fuente (provenance) visible en el PDF que el usuario exporta.
- Cambios en datos sensibles (eliminación de cuenta, mascota, documentos) generan logs auditables retenidos por 12 meses.
7. Procesamiento de IA y datos clínicos
- Las extracciones automáticas de documentos clínicos pasan por Google Gemini con configuración privada: los datos no se usan para entrenar modelos públicos.
- La IA nunca toma decisiones clínicas vinculantes. Cualquier hallazgo automático se etiqueta como asistivo y queda en cola de revisión humana cuando la confianza es baja.
- Cero auto-confirmación: nada que afecte el historial clínico se persiste con confianza alta sin que el usuario o un veterinario lo confirmen explícitamente.
8. Backups y continuidad
- Backups diarios automáticos de Firestore, retenidos por 30 días.
- Pruebas de restauración trimestrales para verificar integridad de los backups.
- Plan de continuidad documentado para fallas de Firebase o de Google Cloud.
- RPO objetivo: 24 horas. RTO objetivo: 4 horas para servicios críticos (auth, lectura de historial).
9. Gestión de incidentes
Si detectamos o nos reportan un incidente de seguridad:
- Contención (0–4h): aislar el componente afectado, revocar credenciales comprometidas.
- Evaluación (4–24h): determinar alcance, datos involucrados, usuarios afectados.
- Notificación: a usuarios afectados sin demora indebida cuando exista riesgo razonable; a autoridades de protección de datos según jurisdicción aplicable.
- Mitigación y postmortem: resolver causa raíz, publicar postmortem en status.pessy.app cuando aplique.
10. Reporte responsable de vulnerabilidades
Si encontrás una vulnerabilidad de seguridad en Pessy:
- Reportala a security@pessy.app con detalles técnicos.
- Pedimos no explotarla, no exponerla públicamente y darnos un plazo razonable para remediarla.
- Reconocemos a quienes reporten responsablemente en un agradecimiento público (con tu permiso).
- No tenemos programa monetario de bug bounty todavía.
11. Sub-procesadores y cumplimiento
La lista completa de sub-procesadores y sus medidas de seguridad están documentadas en el DPA. Ningún sub-procesador accede a datos clínicos sin un contrato de confidencialidad y propósito limitado.
Importante
Esta política describe los controles que aplicamos hoy. La seguridad es un proceso continuo: revisamos, actualizamos y mejoramos estas medidas regularmente. Cambios materiales se comunican con al menos 30 días de antelación cuando sea posible.
12. Contacto
- Reporte de vulnerabilidades: security@pessy.app
- Privacidad: privacy@pessy.app
- Legal: legal@pessy.app
Versión 1.0 · Última actualización: 2026-05-07