La seguridad y protección de datos son pilares fundamentales en el diseño de HabitusApp. Este documento detalla nuestro modelo de seguridad actual y cómo reportar vulnerabilidades de manera responsable.
La presente política cubre exclusivamente las versiones del software contenidas en la rama main y en los Releases oficiales de este repositorio. Las áreas soportadas incluyen:
- El código fuente de la aplicación Android.
- La configuración de seguridad de las reglas de Firebase Firestore y Firebase Auth.
- La configuración del pipeline de Integración Continua (GitHub Actions).
- El sistema de manejo e ignorado de credenciales criptográficas y secretos.
Cualquier vulnerabilidad que afecte la infraestructura de Google Firebase subyacente queda fuera de nuestro alcance y debe reportarse a Google directamente.
Por favor, NO abras un Issue público si descubres un problema de seguridad crítico.
La divulgación pública prematura podría poner en riesgo los datos de los usuarios. En su lugar, utiliza uno de los siguientes métodos seguros:
- GitHub Private Vulnerability Reporting: Si está habilitado en este repositorio, utiliza la pestaña "Security" > "Advisories" > "Report a vulnerability" para enviar tu hallazgo en un entorno cifrado.
- Email Directo: Envía un correo (placeholder) describiendo la vulnerabilidad, los pasos para reproducirla y el impacto potencial.
Nos esforzamos por reconocer cualquier reporte en un plazo de 48 a 72 horas. Te mantendremos informado sobre el progreso hacia la corrección y emisión de un parche.
Nuestra arquitectura incluye mecanismos defensivos aplicados por defecto:
- Manejo de Secretos (Zero-Exposure): Los archivos sensibles como
google-services.jsony el keystorehabitus-release.jksse encuentran en el.gitignorepor defecto y jamás son commiteados. Los entornos de compilación de CI/CD los reciben bajo demanda vía GitHub Secrets encriptados. - Restricción de Firestore: Las
firestore.rulesimponen una política de autenticación estricta: ninguna solicitud externa puede leer o escribir datos. Los usuarios autenticados operan dentro de un silo (uid == request.auth.uid), impidiendo el acceso cruzado a datos de terceros. - Ofuscación y Optimización de Bytecode: La aplicación de producción se empaqueta utilizando R8 (ProGuard moderno) para ofuscar nombres de clases y funciones, mitigando la efectividad de los esfuerzos de ingeniería inversa.
- Prevención de Fugas de Datos Físicas: Se ha establecido el flag
android:allowBackup="false"en elAndroidManifest.xmlpara prevenir que respaldos inseguros en la nube extraigan la base de datos de preferencias locales del usuario a entornos no controlados.
HabitusApp nace como un proyecto de desarrollo personal. Aunque hemos implementado estándares y mitigaciones de seguridad rigurosas y profesionales, este software no ha sido auditado por una firma independiente de seguridad informática.
Se proporciona "tal cual", sin garantías de idoneidad para entornos críticos, corporativos o médicos. Su uso para almacenar información extremadamente sensible queda bajo la responsabilidad exclusiva del usuario.