Development status of microG

The development on microG is an ongoing project. We discuss with its maintainer regularly and also support the microG project financially.

Improvements and updates are planned and implemented. Some time back we added FCM support and optimized the code.

The contact-tracing API has been added too (it is not enabled by default on /e/OS though, see below).

There are more updates in the pipeline. The project is complex and it would be great if more users contribute to it.

microG and microG EN

  • microG is an open source re-implementation of Google’s proprietary Android user apps and libraries

  • microG EN is a build of microG and only required by users who need to use COVID-19 contact tracking applications.

All about Contact tracing

A note from the /e/OS Development team

  • The contact tracing application is not required by /e/OS to operate and can be easily removed by users at their discretion.
  • /e/OS doesn’t store any data generated by the app or the Exposure Notifications API
  • This feature is provided to /e/OS users who are required to use a Covid-19 Government specific contract tracing applications.

More about the microG EN API

The Exposure Notifications API is required for the smartphone to interact with the covid-19 tracking applications used in certain countries.

  • The API is disabled by default
  • The implementation requires direct intervention by the user to be activated. This includes
    • Installing the API
    • Installing applications specific to your country
    • Enabling the API when asked

This guide shares the steps required to activate the framework on the /e/OS

Tip: Not all covid tracing apps require the Exposure Notifications API to function. For example, the TousAntiCovi app of France does not require the Exposure Notifications API. Check the app specific to your country works on the /e/OS, before enabling the API

How does the Covid-19 contact tracing work?

The COVID-19 contact tracing is done through the Exposure Notifications API. The API has the below four features

  • Bluetooth Advertising : Your phone broadcasts a Rolling Proximity Identifier (RPI) via Bluetooth. Every ten minutes, a new RPI is published, to make it impossible to track you. The RPIs are derived from a private key that is generated randomly once per day by your device. This derivation cryptographically guarantees that RPIs can not be linked to each other except in the case where you share the private key.
  • Bluetooth Scanning : About every 5 minutes your phone scans for nearby Bluetooth devices that broadcast RPIs and stores the RPI together with a timestamp in a local database.
  • Key Sharing : When you have been tested positive for COVID-19, you can ask your phone to share your private keys of the last 14 days with the COVID-19 contact tracing app. Only with this private key is it possible for others to see if they have been in contact with you for more than 10 minutes. The implementation of microG will make sure that this key sharing does not happen without explicit user consent.
  • Risk calculation : Based on the list of private keys shared by the companion app and the list of RPIs collected in the last 14 days, your phone checks if you have been in close contact with a person that reportedly was tested positive. Your phone computes a total risk score and provides information on the date and time, contact length, and signal strength of the exposure to the companion app. The companion app will not learn which keys or people were in close contact, neither will it get any insights on where the contact happened.
Tip: microG offers the only open source implementation of this API.

Steps to install Exposure Notifications API on /e/OS

  1. Download the latest microG EN

    • The downloads for both (/dev and /stable) builds are available at this location. Check your version and download the corresponding apk
  2. Install it manually
  3. Check regularly for any updates and if available apply them manually

Configuring an application to work with microG EN

Here we will use the example of the Covid Radar app (from Spain)

  • After the installation of the application, tap to open it on the phone

  • This will display a pop up asking permissions to
    • Enable Bluetooth
    • Enable activation of the Exposure Notifications API
  • Choose ok for both these pop ups
  • Now your app which in our example was Covid Radar will start working.
  • The Exposure Notifications API will also be enabled at this stage as you can see in this screenshot

How to update the microG Exposure Notification Framework

The new microG EN version has some improvements in the Exposure Notification Framework API.

The Exposure Notification Framework has been developed by Apple and Google to enable contact tracing on iOS and Android. This Exposure Notification Framework API is necessary to use most COVID-19 contact tracing apps.

Tip: Not all covid tracing apps require the Exposure Notifications API to function. For example, the TousAntiCovi app of France does not require the Exposure Notifications API. Check the app specific to your country works on the /e/OS, before enabling the API

Unfortunately, the microG EN update we share on Apps does not install or update automatically and needs to be applied manually.

To apply it manually, you have to:

  • Download the latest microG EN

The downloads for both (/dev and /stable) builds are available at this location. Check your version and download the corresponding apk.

  • Install the apk file manually
  • Check regularly for any updates, and if available, apply each update manually.

If microG EN becomes unavailable on your device after an /e/OS update, do not worry, you can simply reinstall it on your device following the steps given in this guide.

How to disable the app or the framework?

You can easily disable the COVID-19 contact tracing from your /e/OS. All that you need to do is..

  • Uninstall the contact tracing application you downloaded
  • Disable Exposure Notifications API from Settings > System > microG > Exposure Notifications

In addition, it’s also possible to uninstall the microG Exposure Notifications version. To achieve that, kindly go into Settings > Apps & notifications > microG Services Core, and then tap on the 3 dots button at top right and choose Uninstall updates.

Additional References