Cwa-documentation: CWA seems to ignore the exposure logs/random IDs of a previous installation

Created on 25 Jul 2020  路  9Comments  路  Source: corona-warn-app/cwa-documentation

Avoid duplicates

  • [x] Bug is not mentioned in the FAQ
  • [x] Bug is not already reported in another issue

Describe the bug

If you uninstall the app, the reinstalled version of the app seems to ignore the exposure logs/random IDs of the previous installation. After the start of the app, it appears the gray window "UNBEKANNTES RISIKO - Da Sie Ihre Begegnungs-Aufzeichnung noch nicht lange genug aktiviert haben, konnten wir f眉r Sie kein Infektionsrisiko berechnen." Here the screenshots of the start and the third day
Day one

Day three

Expected behaviour

The app should register the entire exposure logs. You wrote in your own FAQs that the logs wont be deleted in the case of an uninstallation under iOS. See https://www.coronawarn.app/en/faq/#delete_random_ids. It seems paradoxical, if you mention that in the FAQ but the reinstalled app ignores the stored data.

Steps to reproduce the issue

  1. Uninstall the Corona-Warn-App
  2. Reboot the iPhone
  3. Reinstall the CWA
  4. See the message in the gray window described above

Technical details

  • iOS Version: 13.6
  • Device: iPhone 11
  • CWA Version: 1.1.1

Additional context

I didn't know that the problem with the missing background check was already discussed here corona-warn-app/cwa-app-ios#916 . So I contacted the official support of the telekom. After a reboot was not successful, the staff recommended me to un- and reinstall the app to reactivate the background check.


Internal Tracking ID: EXPOSUREAPP-1932

enhancement mirrored-to-jira

Most helpful comment

Just to clarify. The exposure log is not ignored, but the app does no longer know for how long exposure logging has been active, since that is stored in its internal database. Which you delete by uninstalling.

So, when an update of the risk is performed, this goes against the entire log available on the device, even from before the installation. The days active however cannot be recovered.

What could be done, however, is doing a check directly after reinstalling w/o waiting 24h.

All 9 comments

@Jens07 thanks for pointing that out. I will forward it to the responsible team.

Just to clarify. The exposure log is not ignored, but the app does no longer know for how long exposure logging has been active, since that is stored in its internal database. Which you delete by uninstalling.

So, when an update of the risk is performed, this goes against the entire log available on the device, even from before the installation. The days active however cannot be recovered.

What could be done, however, is doing a check directly after reinstalling w/o waiting 24h.

Just to clarify. The exposure log is not ignored ...

Thank you @tkowark for your quick and soothing answer.

... but the app does no longer know for how long exposure logging has been active, since that is stored in its internal database ...

I suppose you took the period of usage formerly from the ExposureNotification framework? But you couldn't use it anymore because of the problem which is described here? https://www.coronawarn.app/en/faq/#days_active_Apple

So, when an update of the risk is performed, this goes against the entire log available on the device, even from before the installation. The days active however cannot be recovered.

The problem I see is, that most of the people will read neither the FAQ on www.coronawarn.app nor the github issues. They will think that their tracing data are lost.

Isn't there any possibility to restore the usage period? Perhaps with data from the ExposureNotification framework which you write in the storage of the cwa? I think a little abberation of the days wont be so bad as the impression that all data are lost.

What could be done, however, is doing a check directly after reinstalling w/o waiting 24h.

At first glance, it seems to be a good idea, if my proposal above is not realisable.

The app does not get the entire usage period from the ENF, but checks regularly whether exposure logging was active or not (see here) and basically creates a trail of activity status updates. This status is stored in the internal database of the app and thus lost upon reset/reinstall.

Currently, the ENF does, unfortunately, not offer the functionality you described but only offers information about the ENF state when asked.

I'll create a backlog item in JIRA to make the product managers aware of this. But keeping in mind that on Android there generally should not even be any previous exposure logs, I do not expect to be a fix for that, soon, as it would be iOS specific.

You could save the days in the keychain. You will still have access after the App was deleted and freshly installed

@Smponias I proposed something similar in another ticket, however the devs stated that it's their obligation to remove everything the app has created as soon as it is deleted, which means not having data hanging around in the Keychain or other parts of iOS.

Moreover that Keychain items are not deleted upon app deletion is not an official feature AFAIK. Apple can change (and should change IMO) this behaviour at any point in time.

Is this an iOS only issue? If not (=it also affects Android) I think we can transfer it to the documentation repository.

  1. We will move this to doc repo.
  2. The grey card "Unbekanntest Risiko" does not exist anymore
  3. Android and iOS behave differently. To my knowledge iOS keeps the RPIs when the app is removed, while Android deletes them (when the last tracing app on the phone was deleted)
Was this page helpful?
0 / 5 - 0 ratings