More info: https://grindrmap.neocities.org/
Comparison amongst gay dating apps (from 2014) https://grindrmap.neocities.org/overview.html
Source: I've done this before and it is very accurate and creepy.
> This could be mitigated by rounding off coordinates to be coarse enough that it doesn't give their precise location before calculating the distance.
Reporting a slightly different location to users or varying the search radius per user search could help.
Using triangulation to pinpoint an other users location would therefore require to move in and out of range (while the targeted user is continuously sending messages). Thus significantly more difficult than if the actual distance measure was depicted in the UI or leaked elsewhere.
Finally closing the API to outside requests limits the ease with which the above could be automated. Any idea's for further improving these security measures are most welcome!
Or spoofing their actual location.
That, or a number of co-operating clients located at various locations in and out of the range.
A simple fix would be to have every sender generate a random vector of random length 0-100 meters (and re-generate every time you've moved at least 100 meters, you don't want to regenerate if the sender doesn't move as you'd be able to zero-in on a prolific sender), and have the message "originate" from the end of that vector.
That kind of thing combined with some rate limits (how often one can attempt to connect to a user) should be effective.
(edit) Actually, I think I like mseebach's suggestion even more: For each user, pick a random location about 100m away from them, then pretend they're there until they've moved far enough away, then repeat.
For example an attacker can just spoof enough accounts to sample from your distribution to figure out the true center. Imagine spoofing a grid of users with let's say K fake accounts per dot, then if you plot the histogram of who managed to connect you will see a very clear bump in the 2d histogram in the shape of circle.
The solution in your edit is much better.
[0] https://en.m.wikipedia.org/wiki/Restrictions_on_geographic_d...
Some of thrm will also solve the problem of just discovering a user, starting a chat and then instantly loosing them, even though you were both siting still, as you were on the border.
Anonymous has become a pointless buzzword in this NSA-era we be living in. Just say it's a hyper-local instant messaging app, because any half woke individual will know that nothing on the internet is anonymous really anymore. A percentage of all our internet activity is sitting on a rack somewhere in the Utah desert.
Get over it.
Even in a pseudonymous environment where the venue operator presumably knows who you are (like HN), the assumption that other users cannot easily trace your words to your IRL identity reduces friction in communication. Environments where everyone publicly posts under their real identity, with those posts retained forever, tend towards low-information social signaling.
Lol. Have you read the news in the last 30 years?
I do agree somewhat with your point though.
A program to do that would do a bisection search along a line (faking coordinates for the location of the device) to find the point on the line where you transition to seeing the person's messages. Then, repeat along other two lines in different directions. Each transition point gives a circle of 1 km radius on which the person is present, and the one point shared by all three circles is their location.
This could be mitigated by rounding off coordinates to be coarse enough that it doesn't give their precise location before calculating the distance.