This diagram represents an example of our project in action. It is the same example used in the video demonstration.

There are 5 users with IDs labeled 1 through 5 and a name next to them for convenience. These users are all physically at UCSD and are physically near each other. All of them except for Kat (ID 3) claim to be at UCSD. Kat is instead claiming to be in New York.

With our app running the users' phones are exchanging ID and location data between each other. Each device adds an ID to a list if the other ID has a different location than the current device. So in this case Alice and Bob have the same location so Alice does NOT add Bob's ID. However, Kat and Alice have different locations, so Alice's phone adds Kat's ID to its list and Kat's phone adds Alice's ID to its list. Repeating this accross all the users, everyone adds Kat (ID 3) to their list, while Kat adds every other user.

Now this data is sent to the server.

Every hour, the server will attempt to update its blacklist with new data. At this time a majority vote is taken and determines which users are lying about their location. In our example, Kat recieves 4 votes and every other user recieves 1. Converting these to percentages, Kat had 80% of users claim that she was lying about her location so her ID is added to the blacklist. The rest of the users only had 20% of users claim they were lying so they are not added to the blacklist.

Now the blacklist has been updated and the app can verify users using that information.

Project Info

Many applications make use of location data in order to provide their services, but malicious users can disrupt these by manipulating or faking their location. In an effort to combat and catch these users, our project involves a system to authenticate user location data without having one central authority in control of all the information. By leveraging the physical proximity necessary for devices to send and receive data through Bluetooth Low Energy signals, our system is able to detect users lying about their location without receiving any location information. Our portion of the project was creating the server backend that communicates with devices to store information about flagged users and process it for the purpose of adding malicious users to a blacklist. More technical details can be found in our report. You can find the link for the report on the side navigation

About us

Hello, and thanks for taking an interest in our project. This site was part of our Data Science 180 Capstone project that we worked on for 2 quarters under a mentor. The first quarter consisted of recreating results, exploring a domain, and proposing a project that would then be completed in the second quarter. We were one of 66 project groups in the 2022-2023 iteration of the class. A full list of all the teams can be found on the HDSI Showcase.
Our project is unique in that it consists of 2 teams under the same mentor: one for the app (Group B16-2) and one for the server (Group B16-1). We are the server-side team and consist of 4 members: Nathan Ahmann, Mason Chan, Alex Guan, and Alan Miyazaki. Our mentor was Haojian Jin. Over the course of this quarter, we developed a backend server (on this website) and successfully linked it to the Android devices running the app team's code. Together these create a fully functioning system