Help us stop COVID-19.
We’re building the next generation of secure location logging to preserve privacy and #flattenthecurve
Location logs provide time-stamped records of where users have been, allowing them to share information with health officials accurately and quickly. This helps support contact tracing efforts to slow the spread of the virus.
What’s truly special about Private Kit, though, is its privacy protection. Data never leaves users’ devices without their password entry and explicit consent. The location log generated by Private Kit cannot be accessed from outside the user’s device, meaning data transfer occurs only if the user chooses to share it with the researcher.
Private Kit is a ‘privacy-first’ app that allows you to log your GPS trails on your own phone. The information is stored locally and never shared with anyone (not even with us or MIT) until you explicitly decide to manually export the data. The location log generated by Private Kit cannot be accessed from outside the user’s device. Location information can be imported and exported by the user and used in other projects and applications.
Private Kit’s trail generator logs your device’s location once every five minutes and stores 28 days of data in under 100KB of space – less space than a single picture. But what is truly exciting about Private Kit is its privacy protection.
Home page: http://privatekit.mit.edu
WhitePaper: Apps Gone Rogue: Maintaining Personal Privacy in an Epidemic
Downloads: Google Play | Apple Store
This is a React Native app version 61.5
Please refer to docs/Private Kit Diagram.png
for a basic overview on the sequencing of generalized events and services that are utilized by Private Kit.
Refer to and run the dev_setup.sh (Linux/MacOS) or dev_setup.bat (Windows) for needed tools.
- Move to
ios
directory and runpod install
- If you have any trouble with packages not round, try
react-native link
from project directory. - Look at running commands below.
You will need to generate a Google API key in order for the mapping features to work correctly. Refer to this guide guide in order to create the API key.
Once created you will need to add it to two different places in the project. One for Android and one for iOS.
- Android - open
android/app/src/main/AndroidManifest.xml
and search forcom.google.android.geo.API_KEY
. Add your key to theandroid:value
property. - iOS - open
ios/PrivateKit/AppDelegate.m
and search forGMSServices provideAPIKey
and replace line with[GMSServices provideAPIKey:@"YOUR_API_KEY"];
Install modules:
npm install
or yarn install
(note yarn
does a better job at installing dependencies on macOS)
To run, do:
npx react-native run-android
or
npx react-native run-ios --simulator="iPhone 8 Plus"
NOTE: In some cases, the abovementioned procedure leads to the error 'Failed to load bundle - Could not connect to development server'. In these cases, kill all other react-native processes and try it again.
Read the contribution guidelines.
WhatsApp: https://chat.whatsapp.com/HXonYGVeAwQIKxO0HYlxYL Slack: https://safepathsprivatekit.slack.com/