Cada cambio es una pull request revisada que supera controles automáticos antes de un despliegue automático y reversible.
01Ciclo de desarrollo
- Diseño: los cambios que afectan a la autenticación, la autorización o los datos personales se diseñan según los controles OWASP Top 10.
- Construcción: todo el código fuente está en repositorios privados de GitHub. Cada cambio se hace en una rama y se fusiona mediante una pull request.
- Verificación: en cada cambio se ejecutan comprobaciones de tipos, pruebas de Go y controles de compilación. Los propios controles se prueban inyectando un error conocido y confirmando que lo detectan.
- Publicación: los despliegues a producción se ejecutan desde una cadena automatizada en máquinas de compilación de corta vida, usando solo el commit fusionado.
- Observación: cada versión se comprueba en producción tras el despliegue, con el identificador de versión visible en las cabeceras de respuesta.
02Control de cambios
- Los cambios de infraestructura (servidores, redes, permisos, alarmas) son código Terraform y Ansible y siguen el mismo flujo de pull request, con un control de infraestructura específico.
- Nunca se ejecutan a la vez dos despliegues del mismo servicio.
- Cada versión está versionada; la anterior se conserva en el servidor, así que volver atrás es un cambio de versión y no una reconstrucción.
03Entornos y datos
El desarrollo usa cuentas y programas de prueba. Los datos de producción no se copian a los equipos de los desarrolladores, y el acceso a datos de producción para soporte se limita a lo que necesita la tarea de soporte.
04Contacto
Preguntas sobre esta política, cuestionarios de seguridad y solicitudes del Acuerdo de Tratamiento de Datos: privacy@mentornity.com.