One shouldn't forget about exif data on images.
As an aside, I'm kind of surprised that there's no easy way to add EXIF data with AssetsLibrary or UIImageWriteToSavedPhotosAlbum(). I would have sworn that there was one before I went and looked just now.
Others have already shown how easy is to de-anonymize a social graph from public datasets[couldn't find the relevant paper]
- (void)imagePickerController:(UIImagePickerController *)c
didFinishPickingMediaWithInfo:(NSDictionary *)info
you can retrieve a metadata dictionary from the 'info' dictionary. One of the keys in that dictionary is "{Exif}" which points to another dictionary that has all the EXIF data.Seems like it's easier on Android, but I'm not certain, just googled a bit.
Device ID they don't seem to care about; I send it in my app's User-Agent and I've survived several approvals. That's uniquely identifiable, but at least you can't call the user. As you suggest, most apps pop up contacts and have you pick yourself, it seems.