German Corona App without proprietary Google libraries
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Marcus ba8f1a2543
4 months ago
.circleci Removed skipping for sonar scan for external PRs (#1601) 5 months ago
.idea/codeStyles Re-add common codestyle (DEV) (#1534) 6 months ago
.pipeline admin/setup new internal release pipeline (#1371) 6 months ago
Corona-Warn-App Link to our own FAQ page 4 months ago
Server-Protocol-Buffer Protocol Buffer update for release 1.9.x (EXPOSUREAPP-3674) (#1627) 5 months ago
docs add documentation on how to rebuild the apk 5 months ago
fdroidrepo prepare 4 months ago
gradle/wrapper Gradle Bump to 6.1.1 (#128) 11 months ago
icon add icon to repo 5 months ago
metadata prepare 4 months ago
protobuf/build Format everything. (#308) 11 months ago
.editorconfig Ship a common codeStyle that matches KLint. (#1070) 8 months ago
.gitignore add documentation on how to rebuild the apk 5 months ago
.gitlab-ci.yml add CI 5 months ago
CODEOWNERS Change CODEOWNER for strings to UA team (#1828) 5 months ago init: cwa-app-android 2020-05-30 11 months ago Update 6 months ago
LICENSE init: cwa-app-android 2020-05-30 11 months ago
NOTICE Admin: Update notice file (#1079) 8 months ago Link to our own FAQ page 4 months ago Fix url for SAP Trust Center (#1897) 4 months ago
build.gradle Update Kotlin/Coroutines (EXPOSUREAPP-3847) (#1728) 5 months ago Merge branch 'main' into release/1.9.x 4 months ago
gradlew Gradle Bump to 6.1.1 (#128) 11 months ago
gradlew.bat Gradle Bump to 6.1.1 (#128) 11 months ago
prod_environments.json Update prod_environments.json (#1307) 7 months ago
settings.gradle init: cwa-app-android 2020-05-30 11 months ago Sonar setup (#191) 11 months ago
translation_v2.json Translation (#552) 10 months ago

Corona Contact Tracing Germany

Talk to us

Get The App

  • Get it on F-Droid

  • Our F-Droid repository contains beta version and is updated earlier with releases. This repo will contain the same builds as the main repo, but they'll be available here a couple of days earlier. You can also verify the builds yourself, see #Reproducing out Builds.

  • Donate: Donate


This is a fork of CWA without proprietary dependencies. While the German Corona Warn App itself is Free Software, it depends on Google's proprietary Exposure Notification Framework. This fork instead uses the drop-in compatible microg implementation.

This is currently very experimental and mostly untested. Use at your own risk! It should work on any Android 6+ device regardless of installed play-services or microg versions.

If there's microg already installed on the system it will use the exposure notification framework from there. Otherwise it will use the bundled implementation. It will never connect to the play services exposure notification framework.


There's currently no translation system in place as most translation are taken directly from CWA. There's some small bits left to translate/fix for Romanian, Bulgarian and Turkish. Please contact us!

  • Polish Translations of our text additions contributed by GenomZ.


How do I access the microG exposure notitifaction settings in the standalone app?

Go to App Information (via the three-dot/kebab menu) and then tap on the ENF Version XYZ field. It'll magically take to to the correct (embedded or system) microG ENF settings page.

microG/CWA Companion shows some exposures but the app says there were none.

Starting with version 1.9.1 this is expected, see the offical blog post:

In simplified terms: Under Exposure Notification Version 2.0, the operating system also logs encounters with a risk lower than "low risk" (green). However, since these encounters are not relevant from the current epidemiological perspective, the Corona-Warn-App filters them out.

Do I need microG/signature spoofing for this?

No, this app bundles a standalone version of the microG implementation that will get used when there's no microG system installation found.

How long will it take to show a risk level?

For app version 1.7.1 this has taken 1-3 days for us. Starting with version 1.9.1 it'll show a risk level immediately.

Why does the app need location permission?

The app doesn't access GPS or Network location but Android considers bluetooth scanning a form of location access (because you could derive location information from the info you could get there), see here for details: CCTG doesn't do any location tracking though.

On Android 11 Google allowed the play services ENF implementation to do bluetooth scanning in the background without special location permission. CCTG isn't whitelisted of course and thus needs to still ask for full location permission in Android 11.

When will updates be released? When is the app coming to F-Droid?

Shortly after an update to CWA is released, we will release a new version of CCTG. New versions are immediately available on our repo.

In the first stage of our "transparent staged rollout", the app is not marked as "suggested" yet, meaning that your F-Droid client won't recommend it as an update, though you can install it manually. We do this to be informed about crashes and other issues by users who knowingly choose to try out a version that might not be stable yet.

Once we feel that all issues are sorted out, we will mark the most recent version as "suggested", causing users of our repository to receive the update immediately (once their F-Droid client refreshes the repository).

After some time, the latest version also appears in the official F-Droid repository, though as usual for F-Droid, this can take a while. F-Droid will serve exactly the APK that we also have in our repo, because our app builds reproducibly.

You might want to follow our mastodon account, where we will announce new versions.

What is the difference to CWA?

The official Corona-Warn-App build contains a proprietary component to interact with the Exposure Notifications API, even if microg is installed instead of Google Play Services.

Corona Contact Tracing Germany replaces this proprietary component with a different library provided by the microg project, meaning that it is built as fully free software (in contrast to Corona-Warn-App).

Our app also ships with the relevant components to also function as a standalone app if microg is not installed.

Besides that, the project's main task is to keep changes related to branding (app title, icon, privacy policy, terms of service, imprint…) in sync with new upstream versions.

How to migrate from CWA

If you have been running CWA with google's exposure notification framework before, you'll have to use both apps in parallel for two weeks. After two weeks all past exposure data will have been deleted and all new data is also recorded by the CCTG app. If you have a positive test result, you'll have to report this through CWA until the two weeks are over. You can uninstall CWA after those two weeks. As far as we know there's no downsides to running both apps in parallel.

If you have been using CWA on a phone with microG migration is super simple instead: Just uninstall CWA and install CCTG, no exposure data will be lost in the process. The app will say that it has only been active for 0 days again, but this is purely cosmetic and does not have an effect on the exposure notification and reporting functionality.

URSACHE: 3/CAUSE: 3 Something went wrong.

This is caused by the microG system installation being too old. You should have at least version 0.2.14 installed.

Official Corona-Warn-App FAQ

See also here:

Reproducible Builds

See docs/ on how to reproduce the official builds.