Мне было поручено разработать интеграцию для одного из приложений моего работодателя с внешней системой, разработанной нашим клиентом. Спецификация нашего клиента для интеграции, которая имеет некоторые явные недостатки, связанные с безопасностью. Недостатки позволят несанкционированному доступу пользователя к системе для просмотра ограниченных данных.
Я указал на недостатки и их потенциальные угрозы безопасности, если они будут реализованы в соответствии с планом и предоставлены альтернативы без недостатков, но (вкратце) мне было сказано «делайте это так, как мы указали» клиентом.
Имеет ли программист этическую ответственность НЕ внедрять код с известными угрозами безопасности? В какой момент требования клиента перевешивают этическую ответственность, которую несем мы, разработчики программного обеспечения, за создание безопасных приложений?