I disagree. Specifications require implementation, and the implementation literally comes out of the engineers' fingers - if none of the engineers agreed to implement something they thought was unethical, then it's mostly irrelevant what the product definition says.