Skip to content

Fighting against COVID-19 via privacy-first Bluetooth tracing

License

Notifications You must be signed in to change notification settings

kripnerl/erouska-android

 
 

Repository files navigation

erouska-android

eRouška ("rouška" means "face mask" in Czech) is an app which helps to fight against COVID-19. When turned on, it scans other users of the app via Bluetooth and saves this data locally. When some user tests positive for COVID-19, he/she is asked to upload their data. Then healtcare authorities can see phone numbers of users of the app which were in close contact with the infected and can call them about further measures.

Read more at our website.

Download from Google Play

How do we protect user's privacy?

  • All data is saved only locally, it is uploaded only with user's consent
  • User can always turn the scanning off
  • We change broadcasted ID every hour. Nobody can track you using this ID (only our backend has knowledge which ID corresponds to which phone number)
  • We delete data on backend after 6 hours from upload
  • You can always delete your data, including your phone number
  • This app is open-source from the start, so anyone can check our claims are true

Read more at our FAQ

International cooperation

We got inspired by similar apps in other countries:

We are open-source from day one and we will be happy to work with people in other countries, if they want to launch similar app. Contact David Vávra for technical details.

Technical details

  • Bluetooth Low Energy
  • For Android-Android, we don't connect to devices, ID is only broadcasted in broadcast payload
  • For Android-iOS, we need to connect to the iOS device via GATT to get the ID
  • We use Firebase Phone Number Authentication for verifying phone numbers and authentication
  • We use Firebase Storage for uploading user data in CSV format
  • We use Firebase Functions for getting the IDs to broadcast after registration
  • We use Firebase Crashlytics for monitoring crashes from the app

More details:

Who is behind the app?

We are initiative consisting from people from various Czech IT companies called COVID19CZ. We are all unpaid volunteers. We got backing from Czech Ministry of Healthcare.

Contributing

We are happy to accept pull requests. If you want to help more, discuss with us etc., please join COVID19CZ Slack (channel #erouska), internally we use Trello for bugs.

Git flow

Do all work in feature branches or in forks, then send pull requests to develop branch. Pull requests are merged with squash commits. Only admins merge develop to master with rebase strategy, which triggers the release build.

How to build the app

It should be easy - just checkout the project and import it to Android Studio.

On the command line: ./gradlew assembleDevDebug

Releasing

We have CI (GitHub Actions) for that. With any push to master branch, the app is built and published to Firebase App Distribution. We have two variants of the app: DEV and PROD. PROD app is also built as an App Bundle artefact, which needs to be manually uploaded to Google Play.

Versioning is automatic: major and minor version is in Git, patch is versionCode, which is number of commits from the start.

About

Fighting against COVID-19 via privacy-first Bluetooth tracing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.2%
  • Java 0.8%