We really need some sort of ethical software development manifesto.
Not ethical in the sense of "how I affect the world". But ethical in "how do I treat my users".
Here's some example points I'd put on such a manifesto.
The users computer is a personal, private space. Treat it as such. Just because you can write code that gathers information about a user and their computer doesn't mean you should. Just like you shouldn't go through someone's personal belongings when you visit their house. Even when you get permission, it's usually in a very narrow sub-window rather than a free for all.
Just because you can write code that locks them out of doing something on their own machine, doesn't mean you should. It's their machine. Not yours.
If you website is running client-side code. Remember that's code running on their machine, the above statements still apply.