Desarrollo seguro y gestión del cambio en CrowdHandler

CrowdHandler sigue unos procedimientos estrictos para gestionar los cambios e implementar nuevas funciones de forma segura y conforme a la normativa. Nuestras políticas actuales incluyen:

Secure Coding Practices

Nos regimos por las directrices de OWASP y otras buenas prácticas de programación segura, entre las que se incluyen:

  • Realización de análisis de código estáticos y dinámicos para identificar vulnerabilidades
  • Formación para desarrolladores sobre riesgos habituales como XSS, inyecciones, configuraciones inseguras, etc.
  • Mantener las dependencias actualizadas para aplicar parches a las vulnerabilidades CVE conocidas
  • Almacenamiento seguro de datos confidenciales con acceso restringido
  • Realizar revisiones del código entre compañeros para todas las nuevas funcionalidades y modificaciones
  • Using separate environments for development, testing, staging, and production to isolate changes

Automated Testing and Continuous Integration

We use automated testing and CI/CD pipelines including:

  • Pruebas unitarias: pruebas automatizadas a nivel de código para validar la funcionalidad y gestionar los casos extremos.
  • Pruebas de integración: pruebas automatizadas para verificar la interoperabilidad entre sistemas, API y componentes.
  • Procesos de implementación: los cambios avanzan automáticamente a través de las fases de compilación, prueba e implementación. Los procesos se detienen en cualquier fase en la que fallen las pruebas, por lo que es necesario subsanar los errores antes de continuar.
  • Pruebas «canary»: tras la implementación, se desvía un porcentaje del tráfico real hacia la nueva versión para supervisar los efectos antes del despliegue completo.

Change Management Procedures

Los cambios y las nuevas funciones siguen un proceso definido:

  1. Documentación de los requisitos, los riesgos y los pasos en un registro de cambios. Cambios clasificados por nivel de riesgo.
  2. Revisión del diseño basada en la evaluación de riesgos y los requisitos de conformidad.
  3. El desarrollo en ramas de características, con revisión del código por parte de compañeros y pruebas automatizadas, es un requisito imprescindible para fusionar el código con la rama principal.
  4. Los cambios se implementan en el entorno de prueba para la aceptación por parte de los usuarios finales (UAT) y se aprueban definitivamente una vez superadas las pruebas.
  5. La implementación se llevará a cabo durante el periodo autorizado, con avisos en caso de que se prevea algún tiempo de inactividad. Se requiere una validación tras la implementación.
  6. Mantener un registro de auditoría de todos los cambios en la producción.

Las políticas de CrowdHandler minimizan los riesgos derivados de problemas de software o de cambios que no se han probado adecuadamente. La automatización, las pruebas, las revisiones por pares y la trazabilidad mejoran la seguridad y el cumplimiento normativo de nuestra aplicación. Los cambios pasan por distintos entornos y controles antes de implementarse en producción.