Another question: how can the app know who is infected? I suppose it entirely relies on each invidual voluntarily declaring this through the app? How reliable would that be really, knowing we are definitely not nearly as obedient/compliant as korean or chinese people?
This is one of the reasons local governments/health authorities want more control over any tracing system, so they can have some control over what is marked for tracing.
But that level of control/inspection is only needed for the database of "confirmed" cases. The google/apple model provides the other 90% of the work, but they require the users to have control over when/if they release any data, and what they do with the information. The big picture view of most of these systems:
a) People walk around and share randomly generated identifier numbers with others near them (how often each persons random identifier number changes is a big privacy question)
b) Each device keeps its personal database of which identifiers it has seen (if you include when/where metadata as well then privacy people get unhappy)
the next step is where this all diverges:
c) Government mandates all data is delivered to them for offical uses, and they have the de-identifying data to link any record back to specific people. They promise this is better as they will actively contact and follow up with people who might be infected.
or
c) Users decide if/when they announce they were infected, and upload the history of their recent identifiers to a central store (could be region/locale specific). Other users periodically pull the official list of confirmed identifiers and check if they have recoded contacts in their local data. This relies on the users deciding on what they want to do with the information, some people might not announce they were infected, and others might take no action even if they had a contact match.