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!

Built With

+ 67 more
Share this project:

Updates