-
-
We all want the stop the spreading of the corona virus and go back to normal life
-
If someone is tested positive it is extremely important that we find all contacts this person had and inform them
-
Modern App-Technology can help with this problem
-
We have a solution that doesn't need users to give up their privacy
-
The app uses Bluetooth to detect close contacts. With each such contact an ID will be exchanged
-
These ID's are dynamic and anonymous and will only be stored locally on the smartphone.
-
If you are infected you can send this information to all close contacts by publishing your secret-key that was used to compute your ID's
-
By checking the published keys the app finds infected close contacts and informs the user
See our webpage:
next-step.io
Inspiration
The project is based on a well-established concept in epidemiology called contact tracing as described in short here by Marcel Salathé: Twitter-Thread.
Inspired by similar solutions, we're implementing an automatic and hassle free app, without sacrificing the privacy of the user. See the results of our scientific research for more information.
What Next Step does
Recognize encounters
The Next Step App allows users to automatically register encounters with other users. Such encounters will be registered by the app if two users stand next to each other for a certain time period. Leveraging Bluetooth Low Energy technology no locations have to be collected and stored.
Protects your data
Encounters with other users are only saved locally on your smartphone. Each app exchanges dynamic IDs with other users, that are randomly generated via «HMAC(SHA256)» (similar to TOTP) and change every 60 seconds. This way each user remains anonymous.
- No location tracking
- No analytics or advertising
- Open architecture / protocol and specification incl. SDK for iOS and Android
- Interoperability (own app, own backend)
- Open source
Report infections
If a person tests positive, he or she can inform everyone they've encountered with through the app. Everything happens anonymously, no one can see who sent the message.
Inform encounters
The app informs all encounters about the infection. The message is anonymous. There is now a risk for the users you’ve encountered with to also be infected. The app provides you with information on how to proceed.
Take measures
Encounters informed via the app can take action e.g. Self-isolation. This is the only way to be one step ahead.
How we built it
- State-of-the-art encryption to preserve privacy
- Bluetooth Low Energy (BLE)
- Local storage of handshakes
- Matching of IDs all done on device (does not leak information to any server)
- Storing/encrypting secrets in Keychain (iOS) and Keystore (Android)
Challenges we ran into
- Bluetooth Low-Energy (BLE) works differently on iOS and Android but even more on different Android devices (depending on manufacturer)
- Running BLE peripheral and central in background on iOS and Android
- Optimizing battery usage (needs long running tests)
- Providing a demo app through Testflight or publishing not really possible due to Apple's restrictions because of Covid-19 (contact us if you're interested).
Accomplishments that we're proud of
- Intuitive demo app
- Open-source STAR SDK (uses Bluetooth Low Energy)
- Open protocol for communication between devices (STAR GATT Service and Characteristic) and backend (STAR API)
⭐ STAR = Secure Tag For Approach Recognition
To make contact tracing available for everyone we built an open-source SDK which implements a new GATT service (also available) and backend API (STAR API). Additionally we envisioned a discovery service, that allows anyone to integrate our STAR SDK and guarantees interoperability between many apps using this technology. Add your app (app id, UUID for your service and backend URLs) to the list (using a Pull-Request) and all other apps using the STAR SDK will be able to exchange handshakes with you. Whether you want to provide your own backend or use ours, that's completely up to you.
What we learned
Where to begin...!? The process of making this app has been a hell of a ride for all people involved! A Hackathon in the midst of a lockdown, everyone at home while working all together at one project is very demanding and we are very proud of what we achieved in such a short time!
Demo
- Android: APK
- iOS: Waiting for approval by Apple (contact us)
What's next for "Next Step"
Next Step is ready to go further: We want to make this happen!
The goal we want to achieve in the time to come is the following:
We want to be sure that Switzerland uses reliable and feasible technology for contact tracing, that respects the citizens privacy and therefore respects crucial values of our democracy!
Log in or sign up for Devpost to join the conversation.