I wish more developers/companies practised this discipline. Not just for ethical reasons, but also just because I find it interesting to see clever ways of achieving tasks with minimal data.<p>One example that I love is Firefox Sync. It's end-to-end-encrypted with your password as encryption key. And there's a "Forgot password?" link on the login page. If you're thinking along at home, you'll notice that clearly this cannot work. If you forget the password to data that's encrypted with your password, then that's it. You can't just reset the password on it. If you could, anyone could. All you can do, is erase the data.<p>Well, and that's exactly what Firefox Sync does. It just wipes your data off of Mozilla's servers. You typically have this data synchronized to your local client when you do the password reset, so it just encrypts this local data with your new password and uploads that to Mozilla's servers.<p>There are some corner cases where you might lose data, but I've never heard a complaint about it being less reliable than for example Chrome's implementation. And it's a hundred times more secure and private, in particular also because it means NSA/FBI/CIA can't look through your browsing history (and not having Google look through it, which is why they keep it in cleartext, is also nice).