tyleryasaka / TrackCOVID

An open source project which provides privacy-preserving contact tracing for communities using QR codes
https://trackcovid.net
MIT License
23 stars 8 forks source link

V2 Architecture: More privacy #12

Open tyleryasaka opened 4 years ago

tyleryasaka commented 4 years ago

The current app has a couple of shortcomings in terms of privacy. Both of these involve the server potentially being able to (attempt to) identify people and patterns, even though the design is anonymous in theory. If whoever controlled the server wanted to, there are a couple ways they could try to violate people's privacy.

  1. Network analysis. The current design generates a graph of interactions, which the server has full access to. Even though these are anonymous in theory, some network analysis coupled with IP address logging could in theory compromise privacy.
  2. Identifying COVID-19 positive patients by IP address. Because users are allowed to self-report through the app, the server to track the IP address associated with network requests to report positive status. This could potentially be used to identify people.

I believe there are simple fixes for both of these issues.

This essentially just requires some pretty simple rearchitecting of the backend. The user experience should stay unchanged, except for the part where users self-report. The self-report button would be replaced by a download button.

tyleryasaka commented 4 years ago

This has now been done on the v2 branch. You can get all of the source code there. It is functional as an MVP and addresses the concerns above.

I will not deploy a live demo of this for now, but if you are interested in setting this up in your community, please feel free to reach out. I would definitely recommend using v2 for real-world use cases due to the added privacy protection.

tyleryasaka commented 4 years ago

This is now deployed at: https://demo.trackcovid.net/ Version 1 can still be accessed at https://trackcovid.net/app