Ovako stoji stvar. Poceli smo (ukljucujuci i mene) neosnovano da ih napadamo bez da znamo kako stvar zapravo radi.
Ovo je kako moze da radi i da bude sasvim ok:
Kada skines aplikaciju, aplikacija sa telefona procita tvoj broj i tvoje ime (to joj dozvoljavas u okviru dozvola koje aplikacija zahteva).
Od broja telefona, aplikacija napravi hash* i sa tvojim imenom ga posalje na server.
Server skladisti hash i tvoje ime.
Kada neko drugi koristi aplikaciju i ti ga zoves a on nema tvoj broj u imeniku, aplikacija napravi od broja hash i posalje serveru, ovaj nadje ime povezano sa tim hash-om i vrati aplikaciji.
Aplikacija prikaze tvoje ime.
Ako trazis da ti se "broj" obrise, oni obrisu to iz baze i server javi tvojoj aplikaciji da vise ne salje hash za tvoj broj.
U ovom slucaju njihov sistem nikada ne dodje ni do cijeg broja telefona, ne skladisti ga niti moze ista sa njim. Takodje, brisanje je moguce u potpunosti i ne bi njima bio problem za dalju sinhronizaciju.
Varijacija:
Kada skines aplikaciju, ona pokupi brojeve i imena iz tvog imenika (to joj dozvoljavas u okviru dozvola aplikacije), kreira hash-eve i povezane sa imenima salje na server.
Dalje sve isto osim kada zahtevas brisanje tvog broja. U ovom slucaju ne bi vredelo da ga obrisu vec bi morali samo da markiraju kao neaktivan/obrisan kako bi prilikom sledece sinhronizacije (od ko zna koga) stanje ostalo isto umesto da se ponovo pojaci.
I u ovom slucaju njihov sistem nema ni jedan broj telefona vec samo hash-eve. Razlika je samo u tome da ce hash tvog telefona ostati kada zahtevas brisanje. No, broj nece imati (osim ako negde ne zapisu da je broj taj i taj zahtevao brisanje, jer za brisanje moras da im posaljes bas broj da bi ti poslali sms).
Ovo je kako verovatno radi:
Instaliras apliakciju, ona upload-uje tvoj imenik tako kako jeste.
Sve isto kao iznad, samo zameniti rec "hash" sa "broj telefona".
Poenta je da mi ne znamo sta su oni konkretno implementirali (iako je ovo poslednje najverovatnije) pa ne mozemo ni da ih optuzujemo. Ono za sta mozemo da ih optuzujemo je netransparentnost onog sto rade. Sta god od ovih varijanti da je u pitanju, trebalo bi da daju do znanja tako da korisnici mogu da odluce da li ce ucestvovati u tome.
*Hash je naizgled slucajan niz karaktera koji se dobija primenom odgovarajuceg algoritma na ulazni podatak. Npr. za broj 381641111111 se dobija sha-256 hash: 02850b3ac0d4e0e9b48a52318d56fc714e09832aa3cf3934376c05709a20c748.
Od istog broja se uvek dobija isti hash ali se od hash-a ne moze dobiti broj nazad.