Me han asignado desarrollar una integración a una de las aplicaciones de mi empleador a un sistema externo desarrollado por nuestro cliente. La especificación de nuestro cliente para la integración que tiene algunos defectos flagrantes relacionados con la seguridad. Las fallas permitirían que un usuario no autorizado acceda al sistema para ver datos restringidos.
He señalado las fallas y sus posibles riesgos de seguridad si se implementan como se diseñó, y proporcioné una alternativa sin la falla, pero (en resumen) el cliente me ha dicho "hágalo de la manera que especificamos".
¿Tiene un programador la responsabilidad ética de NO implementar código con riesgos de seguridad conocidos? ¿En qué momento los requisitos de un cliente superan la responsabilidad ética que tenemos como desarrolladores de software para crear aplicaciones seguras?