I live in Germany, we have an app, no system setting (as discussed in OP).
It assigns you a random ID. This isn't traceable to you as the app doesn't take any of your personal data (name, google ID, etc) however I believe the random ID (just a string of letters) is "tied" in their system to your device ID. However this is kept private.
At all times (if bluetooth is on) your phone will send out little "pings" via bluetooth consisting only of the random ID you've been assigned. Essentially it's a digital signal saying "BertieBotts woz ere" but without actually saying who you are.
When your phone encounters one of these "pings" from another device using the app, it stores the ID number on your phone in a "short term" list. If it receives another "ping" signifying you've been in contact with this person for at least 15 minutes, it stores that ID in a "long term" list. After 2 weeks, the long term list IDs are deleted. I'm not sure how long the short term ones are kept for.
If at any point you get a Coronavirus test which is positive, you can scan a QR code on the results which tells the app you have a legitimate positive test result. If you don't want to use QR/can't/the lab that tested you didn't give you one, you phone a helpline and get a pin code to again verify that this is a real result and not just you messing around.
After this result the app looks at all the random IDs of people which are stored in your long-term list on your phone (which will be less than 2 weeks old) and sends a message to the central database: Notify these users that someone they have been in contact with has coronavirus. The central database doesn't get your 2-week list at any other time. It doesn't store that you've had a positive result. And even if it did, it wouldn't be linked to your name.
If you're on someone's two week list and they test positive, you'll get a notification saying this. You can then self isolate as a precaution, and get access to testing if you develop symptoms (I think).