minvws/nl-covid19-notification-app-android

Is it possible to view the exposure notification configuration?

Closed this issue · 4 comments

Describe the bug, issue or concern

I would like to understand how the exposure notification api is configured, especially with regards to the parameters for duration, I've observed in my friends and family as some online communties, that there is quite some confusion about this. For example, if you only sit next to an infected person for 14minutes, is that not reported as a high risk scenario?

What have I tried?

I love that it's an open source application, so I tried to figure out how it's working. But in the end the configuration for the ExposureNotification is not hard coded in the app (which I can understand) but is retrieved from the api server (v2/riskCalculationParameters/{id}).

https://github.com/minvws/nl-covid19-notification-app-android/blob/master/app/src/main/java/nl/rijksoverheid/en/ExposureNotificationsRepository.kt#L347

Is there are way to publish these configuration parameters? Combining that with the documentation gives me (and hopefully others) a better insight in how the application is functioning.

What would I like?

If you could expose these settings in the UI in a compact way, that would be really nice, just behind an advanced window or something. Otherwise, just a place to send a GET to and inspect the values.

Governance

To get to the resource bundle id you need to fetch it from the manifest response: https://productie.coronamelder-dist.nl/v2/manifest then you can fetch the configuration from the risk calculation parameters endpoint. The full API is documented in the api spec.

Both responses are zip files, the actual response is in the content.bin files contained in the zip.

@hvisser thanks for the API address and the hint about the manifest. I wrongly assumed it would be the manifest in the jar of the android app.

For anyone that is interested, this is the current configuration:

{
    "attenuationScores": [1, 2, 3, 4, 5, 6, 7, 8],
    "daysSinceLastExposureScores": [1, 1, 1, 1, 1, 1, 1, 1],
    "durationAtAttenuationThresholds": [63, 73],
    "durationScores": [0, 0, 0, 1, 2, 2, 2, 2],
    "minimumRiskScore": 6,
    "transmissionRiskScores": [0, 2, 2, 2, 0, 0, 0, 0]
}

It would be nice to have this information availabe somewhere, just like the security codes that a e2e chat often have to verify the keys exchanged.

Sorry, we currently have no plans to surface this and other configuration from the API in the app. Access through the API will obviously always be possible.

I will close this issue. If you need any additional info, feel free to reopen it.