4 ms·
Apparently Facebook is claiming that the functionality came from a separate "import contacts" feature that used to exist. But I agree; the idea that the import
by brianpgordon 7y ago
Apparently Facebook is claiming that the functionality came from a separate "import contacts" feature that used to exist. But I agree; the idea that the import logic could have slipped into the login process accidentally is ludicrous. Or at least it indicates an outrageous lack of care on Facebook's part.
- ludston 7y agoIt requires just one developer and a couple of reviewers to make poor choices. Which begs the question, how do you structure your organisation such that a foolish developer that only barely understands the change that they are making can't write code that makes arbitrary queries to particular data sets in unapproved contexts?
- a_imho 7y agoBut you actually say it requires negligence on part of multiple people. I find it very hard to apply Hanlon's razor in this case. Anyway, from my experience people do the stupidest/reckless things despite being told not to, just because there is no fear of backlash. Holding people liable for their actions could be a start, but who wants that? Also, don't hire foolish developers in the first place. Policing around pebkac is hard.
- hopler 7y agoHave you ever worked for an organization? 3 people making mistakes on a project, coupled with bystander effects, is par for the course. Being a million times wealthier isn't a million times smarter. We're still talking about how Boeing accidentally crashed a few jetplanes full of people, which required dozens of people to screw up.
- AnthonyMouse 7y agoStart by keeping the primary copy of the user's data on the user's own device so that the developers never have access to it to begin with. Then, if you ever have to hold a copy of the user's data, make sure it's encrypted by the client and your servers are never in possession of the plaintext. To access the user's data, your developers should have to intentionally crack the user's password. And if they attempt to do that they should be fired. Obviously this is not how Facebook works, but ideally it's how the thing that replaces Facebook will work.
- emerongi 7y agoThere should be a name for this sort of software design. It's not just encrypted/privacy-oriented or whatever. It's a software design with a clear contract on who owns the data: the user. E.g. Google Drive, which claims to take privacy seriously and also encrypts your data. But the data is not encrypted with a secret unknown to the server. How should my family members differentiate between the encryption Google claims it has and client-side encryption? For them it's all the same. Maybe we need some commonly understandable name that a regular user can look at and know that this software is data-agnostic.
- sonnyblarney 7y ago"Start by keeping the primary copy of the user's data on the user's own device" It's an organizational policy, procedural, ethics and legal question - not a technical one. They should have feature reviews before the code reviews. The feature review panel puts bounds on what the code can do.
- brianpgordon 7y agoI don't think you need a board to stop this specific case. It's pretty obvious that what they were doing is unacceptable. The problem must have been a pervasive culture of lack of respect for privacy at Facebook, not a single engineer who somehow just didn't know any better.
- sonnyblarney 7y agoSituations can get complicated. There might have been some side show reason to do this or that. Without oversight, some things will fall through the cracks. A review board would a) give clear direction b) catch problems and c) put accountability where it belongs.
- AnthonyMouse 7y ago> It's an organizational policy, procedural, ethics and legal question - not a technical one. Not really. You have to fall back to those things when a good technical solution isn't available, but sometimes it is. Suppose you have a car, and four children. You can enact all the laws and policies and procedures you like, you can lecture the kids not to misbehave a thousand times. But the most important thing you can do, if you really don't want them out joyriding in the street, is to not give them the keys to the car.
- Illniyar 7y agoThat's not exactly true, it depends on the architecture in use. For instance if using a Publish/Subscribe model, you could have had a service that listens to your email being connected, and since the only reason to connect your email was to upload contacts, it would upload contacts automatically. Later when login with email was added, the same event was sent but whomever added the event didn't know it would case the upload of contacts. That doesn't mean it wasn't shoddy craftsmanship, bad architecture, bad QA and probably bad communication later on, but it could have been by mistake (at least at first).
- deleted 7y ago[deleted]
- onli 7y agoIf the feature was using the fact that the user supplied the email password, parsing the emails for contacts or logging in with the password and getting the contact list, how on earth could that have been a part of an earlier import contact feature? Did they already ask users for their email password for that? If not this is a feature that needed special code, impossible to be an accident.
- javagram 7y ago> how on earth could that have been a part of an earlier import contact feature? Did they already ask users for their email password for that Yes they did. I remember people complaining about it many years ago. Here’s a page from 2012 describing it I found using google advanced search: https://smallbusiness.chron.com/import-email-facebook-44162.html https://smallbusiness.chron.com/import-email-facebook-44162.... > When you create a Facebook page for your business, you can import your email list of contacts directly into Facebook. From there, you can suggest your Facebook page directly to your customers. Facebook can interact with a range of email providers and only needs your email accounts's username and password to import your contacts. Here’s another from 2011 https://www.techwalla.com/articles/how-to-import-contacts-to-facebook https://www.techwalla.com/articles/how-to-import-contacts-to... > Type your email address and password for the Web-based email or instant-messaging service that you want to import into the dialog boxes and click "Find Friends."
- onli 7y agoThanks! Unbelievable that this existed.
- daemin 7y agoI believe "move fast and break things" is a quote often attributed to Facebook. In this case the automatic importing feature might have been something broken, or something working correctly with an excuse that it was "broken".