A developer should have code well commented and preform the function as stated.
A developer should not lie to the public when asked about functionality.
Voicing Concerns
If a developer feels uncomfortable about a project request voice the concerns.
If a developer would be required to perform an unethical action, make a decision on continuing participation.
Follow the Law
Follow the law as written.
Law can sometimes be ambiguous, and a project may come up that remains legal but does not follow the spirt of the law in this case make informed decision to continue participation.