diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt index 6acacc3870b65a03848a6df9934ee53413674377..8c59dda82aafcfb5a9c405c9c1ab93ecf9fbbf9e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt @@ -4,6 +4,8 @@ package de.rki.coronawarnapp.util.formatter import android.graphics.drawable.Drawable import android.view.View +import androidx.annotation.StringRes +import androidx.core.text.HtmlCompat import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R @@ -115,3 +117,8 @@ fun formatColorIcon(color: Int?): Int { val appContext = CoronaWarnApplication.getAppContext() return color ?: appContext.getColor(R.color.colorAccentTintIcon) } + +fun formatStringAsHTML(@StringRes stringRes: Int) = HtmlCompat.fromHtml( + CoronaWarnApplication.getAppContext().getString(stringRes), + HtmlCompat.FROM_HTML_MODE_LEGACY +) diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml index 9b4c6f6a33936b8eb6471f4a51eebb07d716b027..80b58e39d7b5033ca5306951eadd64dbd501203e 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml @@ -2,15 +2,22 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <data> + + <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> + + <import type="de.rki.coronawarnapp.R" /> + + </data> + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> - <!-- todo font adjustments needed through final styles --> <include android:id="@+id/information_legal_header" layout="@layout/include_header" - android:layout_width="0dp" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" app:icon="@{@drawable/ic_back}" app:layout_constraintEnd_toEndOf="parent" @@ -20,8 +27,8 @@ <ScrollView style="@style/fadingScrollView" - android:layout_width="0dp" - android:layout_height="0dp" + android:layout_width="@dimen/match_constraint" + android:layout_height="@dimen/match_constraint" android:fillViewport="true" app:layout_constraintBottom_toBottomOf="@+id/guideline_bottom" app:layout_constraintEnd_toEndOf="parent" @@ -32,58 +39,26 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - <include - android:id="@+id/information_legal_header_details" - layout="@layout/include_information_details" - android:layout_width="0dp" + <ImageView + android:id="@+id/information_legal_illustration" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - app:headline="@{@string/information_legal_headline}" - app:illustration="@{@drawable/ic_information_illustration_legal}" - app:illustrationDescription="@{@string/information_legal_illustration_description}" + android:contentDescription="@string/information_legal_illustration_description" + android:src="@drawable/ic_information_illustration_legal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView - android:id="@+id/text_sample_1" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/information_legal_body" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/information_legal_header_details" /> - - <TextView - android:id="@+id/text_sample_2" - android:layout_width="0dp" + android:id="@+id/information_legal_body" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:text="@{FormatterHelper.formatStringAsHTML(R.string.information_legal_body)}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_1" /> + app:layout_constraintTop_toBottomOf="@+id/information_legal_illustration" /> - <TextView - android:id="@+id/text_sample_3" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_2" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_start" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_start" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_end" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_side" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml index 6855a0a6cdfde2f45458be8cd49c37e7ba7fb132..056e50cc3eec8fcac7f885e80b527177dc243a8e 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml @@ -2,15 +2,22 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <data> + + <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> + + <import type="de.rki.coronawarnapp.R" /> + + </data> + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> - <!-- todo font adjustments needed through final styles --> <include android:id="@+id/information_privacy_header" layout="@layout/include_header" - android:layout_width="0dp" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" app:icon="@{@drawable/ic_back}" app:layout_constraintEnd_toEndOf="parent" @@ -20,8 +27,8 @@ <ScrollView style="@style/fadingScrollView" - android:layout_width="0dp" - android:layout_height="0dp" + android:layout_width="@dimen/match_constraint" + android:layout_height="@dimen/match_constraint" android:fillViewport="true" app:layout_constraintBottom_toBottomOf="@+id/guideline_bottom" app:layout_constraintEnd_toEndOf="parent" @@ -32,58 +39,26 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - <include - android:id="@+id/information_privacy_header_details" - layout="@layout/include_information_details" - android:layout_width="0dp" + <ImageView + android:id="@+id/information_privacy_illustration" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - app:headline="@{@string/information_privacy_headline}" - app:illustration="@{@drawable/ic_illustration_privacy}" - app:illustrationDescription="@{@string/information_privacy_illustration_description}" + android:contentDescription="@string/information_privacy_illustration_description" + android:src="@drawable/ic_illustration_privacy" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView - android:id="@+id/text_sample_1" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/information_privacy_header_details" /> - - <TextView - android:id="@+id/text_sample_2" - android:layout_width="0dp" + android:id="@+id/information_privacy_body" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:text="@{FormatterHelper.formatStringAsHTML(R.string.information_privacy_body)}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_1" /> + app:layout_constraintTop_toBottomOf="@+id/information_privacy_illustration" /> - <TextView - android:id="@+id/text_sample_3" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_2" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_start" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_start" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_end" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_side" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml index 885c5dd204cf2f7d8742f71b39f5d4c416343156..19c05927253f86f1c8bfe3c729e4dba7c87fab75 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml @@ -2,15 +2,22 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <data> + + <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> + + <import type="de.rki.coronawarnapp.R" /> + + </data> + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> - <!-- todo font adjustments needed through final styles --> <include android:id="@+id/information_technical_header" layout="@layout/include_header" - android:layout_width="0dp" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" app:icon="@{@drawable/ic_back}" app:layout_constraintEnd_toEndOf="parent" @@ -20,8 +27,8 @@ <ScrollView style="@style/fadingScrollView" - android:layout_width="0dp" - android:layout_height="0dp" + android:layout_width="@dimen/match_constraint" + android:layout_height="@dimen/match_constraint" android:fillViewport="true" app:layout_constraintBottom_toBottomOf="@+id/guideline_bottom" app:layout_constraintEnd_toEndOf="parent" @@ -32,58 +39,26 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - <include - android:id="@+id/information_technical_header_details" - layout="@layout/include_information_details" - android:layout_width="0dp" + <ImageView + android:id="@+id/information_technical_illustration" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - app:headline="@{@string/information_technical_headline}" - app:illustration="@{@drawable/ic_information_illustration_technical}" - app:illustrationDescription="@{@string/information_technical_illustration_description}" + android:contentDescription="@string/information_technical_illustration_description" + android:src="@drawable/ic_information_illustration_technical" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView - android:id="@+id/text_sample_1" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/information_technical_header_details" /> - - <TextView - android:id="@+id/text_sample_2" - android:layout_width="0dp" + android:id="@+id/information_technical_body" + android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" + android:text="@{FormatterHelper.formatStringAsHTML(R.string.information_technical_body)}" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_1" /> + app:layout_constraintTop_toBottomOf="@+id/information_technical_illustration" /> - <TextView - android:id="@+id/text_sample_3" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:text="@string/lorem_ipsum" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/guideline_start" - app:layout_constraintTop_toBottomOf="@+id/text_sample_2" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_start" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_begin="@dimen/guideline_start" /> - - <androidx.constraintlayout.widget.Guideline - android:id="@+id/guideline_end" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintGuide_end="@dimen/guideline_end" /> + <include layout="@layout/merge_guidelines_side" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml index a2fb4eba8255abc292e1efb58fb805e3c4ceea1b..468af4d42dd65f67d9a66f11a507d1d676deb9bd 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml @@ -2,6 +2,14 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <data> + + <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" /> + + <import type="de.rki.coronawarnapp.R" /> + + </data> + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" @@ -21,8 +29,7 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_marginBottom="@dimen/spacing_normal" - app:body="@{@string/onboarding_privacy_body}" - app:bodyEmphasized="@{@string/onboarding_privacy_body_emphasized}" + app:body="@{FormatterHelper.formatStringAsHTML(R.string.onboarding_privacy_body)}" app:headline="@{@string/onboarding_privacy_headline}" app:illustration="@{@drawable/ic_illustration_privacy}" app:illustrationDescription="@{@string/onboarding_privacy_illustration_description}" diff --git a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml index 60fc4d1b3dc0ab7d12a90109936a0a6bbb5bc5cc..15eecc0d317be2aa335257116e07bccd7b49112f 100644 --- a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml +++ b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml @@ -25,7 +25,7 @@ <variable name="body" - type="String" /> + type="CharSequence" /> <variable name="bodyEmphasized" diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 0add622529cc819a528466e4e4aecf3db38d8e2b..ee0be02c71c79fbf1304435dc5228bbc9d963db3 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -259,33 +259,33 @@ <!-- YTXT: App overview body text about rest procedure --> <string name="main_overview_body_test">Eine weitere zentrale Funktion. Hier können Sie Ihren Test registrieren und seinen Status abfragen. Bei einem positiven Test können Sie andere warnen und damit Infektionsketten unterbrechen.</string> <!-- XHED: App overview headline for glossary --> - <string name="main_overview_headline_glossary">Wichtige Begriffe:</string> + <string name="main_overview_headline_glossary">Wichtige Begriffe:</string> <!-- XHED: App overview subtitle for glossary key storage --> - <string name="main_overview_subtitle_glossary_tracing">Begegnungs-Aufzeichnung</string> + <string name="main_overview_subtitle_glossary_tracing">Begegnungs-Aufzeichnung</string> <!-- YTXT: App overview body for glossary key storage --> - <string name="main_overview_body_glossary_tracing">Liste der empfangenen und vorübergehend im Betriebssystemspeicher abgelegten kurzlebigen Zufallscodes. Diese Liste wird bei der Risiko-Überprüfung gelesen. Alle Zufallscodes werden nach 14 Tagen automatisch gelöscht.</string> + <string name="main_overview_body_glossary_tracing">Liste der empfangenen und vorübergehend im Betriebssystemspeicher abgelegten kurzlebigen Zufallscodes. Diese Liste wird bei der Risiko-Überprüfung gelesen. Alle Zufallscodes werden nach 14 Tagen automatisch gelöscht.</string> <!-- XHED: App overview subtitle for glossary risk calculation --> - <string name="main_overview_subtitle_glossary_calculation">Risiko-Überprüfung</string> + <string name="main_overview_subtitle_glossary_calculation">Risiko-Überprüfung</string> <!-- YTXT: App overview body for glossary risk calculation --> - <string name="main_overview_body_glossary_calculation">Abfrage der Begegnungs-Aufzeichnung und Abgleich mit den gemeldeten Infektionen anderer Nutzerinnen und Nutzer. Die Risiko-Überprüfung erfolgt automatisch ungefähr alle zwei Stunden.</string> + <string name="main_overview_body_glossary_calculation">Abfrage der Begegnungs-Aufzeichnung und Abgleich mit den gemeldeten Infektionen anderer Nutzerinnen und Nutzer. Die Risiko-Überprüfung erfolgt automatisch ungefähr alle zwei Stunden.</string> <!-- XHED: App overview subtitle for glossary contact --> - <string name="main_overview_subtitle_glossary_contact">Risiko-Begegnungen</string> + <string name="main_overview_subtitle_glossary_contact">Risiko-Begegnungen</string> <!-- YTXT: App overview body for glossary contact --> - <string name="main_overview_body_glossary_contact">Jene Begegnungen mit einer Corona-positiv getesteten Person, die über einen längeren Zeitraum und in geringer Distanz stattfanden.</string> + <string name="main_overview_body_glossary_contact">Jene Begegnungen mit einer Corona-positiv getesteten Person, die über einen längeren Zeitraum und in geringer Distanz stattfanden.</string> <!-- XHED: App overview subtitle for glossary notifications --> - <string name="main_overview_subtitle_glossary_notification">Risiko-Benachrichtigung</string> + <string name="main_overview_subtitle_glossary_notification">Risiko-Benachrichtigung</string> <!-- YTXT: App overview body for glossary notifications --> - <string name="main_overview_body_glossary_notification">Die Anzeige von Risiko-Begegnungen in der Corona-Warn-App.</string> + <string name="main_overview_body_glossary_notification">Die Anzeige von Risiko-Begegnungen in der Corona-Warn-App.</string> <!-- XHED: App overview subtitle for glossary keys --> - <string name="main_overview_subtitle_glossary_keys">Zufallscode</string> + <string name="main_overview_subtitle_glossary_keys">Zufallscode</string> <!-- YTXT: App overview body for glossary keys --> - <string name="main_overview_body_glossary_keys">Die Zufallscodes sind zufällig erzeugte Zahlen- und Buchstabenkombinationen. Sie werden zwischen benachbarten Smartphones ausgetauscht. Zufallskennungen lassen sich nicht einer bestimmten Person zuordnen und werden nach 14 Tagen automatisch gelöscht. Eine Corona-positiv getestete Person kann ihre Zufallscodes der letzten bis zu 14 Tage freiwillig mit anderen CWA-Nutzern teilen.</string> + <string name="main_overview_body_glossary_keys">Die Zufallscodes sind zufällig erzeugte Zahlen- und Buchstabenkombinationen. Sie werden zwischen benachbarten Smartphones ausgetauscht. Zufallskennungen lassen sich nicht einer bestimmten Person zuordnen und werden nach 14 Tagen automatisch gelöscht. Eine Corona-positiv getestete Person kann ihre Zufallscodes der letzten bis zu 14 Tage freiwillig mit anderen CWA-Nutzern teilen.</string> <!-- XACT: main (overview) - illustraction description, explanation image --> <string name="main_overview_illustration_description">Ein Smartphone zeigt unterschiedliche Inhalte, die von eins bis drei nummeriert sind.</string> - <!-- #################################### - Risk Details - ###################################### --> + <!-- #################################### + Risk Details + ###################################### --> <!-- XHED: risk details - headline, how a user should act --> <string name="risk_details_headline_behavior">Verhalten</string> @@ -350,10 +350,12 @@ <string name="onboarding_body_emphasized">Die App merkt sich Begegnungen zwischen Menschen, indem ihre Smartphones verschlüsselte Zufallscodes austauschen. Und zwar ohne dabei auf persönliche Daten zuzugreifen.</string> <!-- XACT: onboarding(together) - illustraction description, header image --> <string name="onboarding_illustration_description">Eine vielfältige Gruppe in einer Stadt benutzt Smartphones.</string> + <!-- XHED: onboarding(privacy) - title --> <string name="onboarding_privacy_headline">Datenschutz</string> + <!-- XHED: onboarding(privacy) - subtitle --> <string name="onboarding_privacy_subtitle">Verantwortliche Stelle im Sinne des Art. 4 Abs. 7 DSGVO: \n \n Robert Koch-Institut\nNordufer 20\n13353 Berlin</string> - <string name="onboarding_privacy_body">@string/lorem_ipsum</string> - <string name="onboarding_privacy_body_emphasized">@string/lorem_ipsum</string> + <!-- YTXT: onboarding(privacy) - body --> + <string name="onboarding_privacy_body">@string/information_privacy_body</string> <!-- XACT: onboarding(privacy) - illustraction description, header image --> <string name="onboarding_privacy_illustration_description">Eine Frau mit einem Handy benutzt die Corona-Warn-App, ein Vorhängeschloss auf einem Schild steht als Symbol für verschlüsselte Daten.</string> <!-- XHED: onboarding(tracing) - how to enable tracing --> @@ -512,6 +514,791 @@ <string name="information_about_illustration_description">Eine vielfältige Gruppe in einer Stadt benutzt Smartphones.</string> <!-- XHED: Page title for privacy information page, also menu item / button text --> <string name="information_privacy_title">Datenschutzinformation</string> + <!-- YTXT: Body text for privacy information page --> + <string name="information_privacy_body"><![CDATA[ +<p> + In dieser Datenschutzerklärung erfahren Sie, welche Daten bei der Nutzung + der Corona-Warn-App erhoben werden, wie sie verwendet werden und welche + Datenschutzrechte Sie haben. +</p> +<p> + Damit diese Datenschutzerklärung für alle Nutzer verständlich ist, bemühen + wir uns um eine möglichst einfache und untechnische Darstellung. +</p> +<h2> + 1. Wer stellt Ihnen diese App zur Verfügung? +</h2> +<p> + Der Anbieter der Corona-Warn-App (im Folgenden die „<strong>App</strong>“) +ist das Robert Koch-Institut, Nordufer 20, 13353 Berlin (im Folgenden „<strong>RKI</strong>“). +</p> +<p> + Das RKI ist auch der datenschutzrechtlich Verantwortliche für die + Verarbeitung von personenbezogenen Daten der App-Nutzer. +</p> +<p> + Den Datenschutzbeauftragten des RKI erreichen Sie unter der oben genannten + Anschrift (zu Händen „Behördlicher Datenschutzbeauftragter“) und per E-Mail + an: datenschutz@rki.de). +</p> +<h2> + 2. Ist die Nutzung der App freiwillig? +</h2> +<p> + Die Benutzung der App basiert ausschließlich auf Freiwilligkeit. Es ist + daher allein Ihre Entscheidung, ob und wie Sie die App nutzen. +</p> +<p> + Auch wenn die Installation und die Benutzung der App freiwillig sind, + müssen Sie nach dem erstmaligen Aufruf der App gegenüber dem RKI durch + Antippen des Buttons „Risiko-Ermittlung aktivieren“ zustimmen, dass die App + im Rahmen der Risiko-Ermittlung Ihre personenbezogenen Daten + (einschließlich Gesundheitsdaten, falls für Sie ein Infektionsrisiko + ermittelt wird) verarbeiten darf. Dies ist erforderlich, da andernfalls die + App nicht auf die Kontaktaufzeichnungs-Funktion Ihres Smartphones zugreifen + kann. Sie können die Risiko-Ermittlung jedoch jederzeit über den + Schieberegler innerhalb der App deaktivieren. In diesem Fall stehen Ihnen + nicht alle Funktionen der App zur Verfügung. Gesonderte Einwilligungen sind + darüber hinaus für die Datenverarbeitung der folgenden Funktionen + erforderlich: +</p> +<ul> + <li> + Test registrieren (siehe Ziffer 6 b.) + </li> + <li> + Testergebnis teilen (siehe Ziffer 6 c.) + </li> +</ul> +<p> + Die Datenverarbeitung im Rahmen dieser Funktionen wird in den folgenden + Abschnitten näher beschrieben. +</p> +<h2> + 3. Auf welcher Rechtsgrundlage werden Ihre Daten verarbeitet? +</h2> +<p> + Das RKI verarbeitet Ihre personenbezogenen Daten grundsätzlich nur auf + Grundlage einer von Ihnen erteilten Einwilligung nach Artikel 6 Absatz 1 + Satz 1 Buchstabe a und Artikel 9 Absatz 2 Buchstabe a der + Datenschutzgrundverordnung (DSGVO). Sie können eine von Ihnen erteilte + Einwilligung jederzeit widerrufen. Weitere Informationen zu Ihrem + Widerrufsrecht und Hinweise, wie Sie dieses ausüben können, finden Sie + unter Ziffer 11. +</p> +<h2> + 4. An wen richtet sich die App? +</h2> +<p align="left"> + Die App richtet sich an Personen, die sich in Deutschland aufhalten und + mindestens 16 Jahre alt sind. +</p> +<h2> + 5. Welche personenbezogenen Daten werden verarbeitet? +</h2> +<p> + Die App ist so konzipiert, dass so wenig personenbezogene Daten wie möglich + verarbeitet werden. Das bedeutet zum Beispiel, dass die App keine Daten + erfasst, die es dem RKI oder anderen Nutzern ermöglichen, auf Ihre + Identität, Ihren Gesundheitsstatus oder Ihren Standort zu schließen. Zudem + verzichtet die App bewusst auf jegliche Erfassung oder Analyse Ihres + Nutzungsverhaltens durch Tracking-Tools. +</p> +<p> + Die von der App verarbeiteten Daten lassen sich den folgenden Kategorien + zuordnen: +</p> +<h3> + a. Zugriffsdaten +</h3> +<p> + Bei jedem Abruf einer auf einem Server hinterlegten Datei fallen + Zugriffsdaten an. Im Einzelnen werden bei jedem Abruf folgende Daten + verarbeitet: +</p> +<ul> + <li> + IP-Adresse + </li> + <li> + Datum und Uhrzeit des Abrufs (Zeitstempel) + </li> + <li> + übertragene Datenmenge (bzw. Paketlänge) + </li> + <li> + Meldung über erfolgreichen Abruf + </li> + <li> + anfragende Domain + </li> + <li> + verwendetes Betriebssystem + </li> + <li> + Gerätetyp (Smartphone), der Hersteller und das Modell Ihres Smartphones + (z. B. „iPhone 7“ oder „Galaxy“) + </li> +</ul> +<p> + Diese Zugriffsdaten werden nur zur Sicherung und Aufrechterhaltung der + technischen Infrastruktur verarbeitet. Sie werden dabei nicht als Nutzer + der App persönlich identifiziert und es kann kein Nutzungsprofil erstellt + werden. +</p> +<p> + Zugriffsdaten fallen an, wenn Sie die folgenden Funktionen nutzen bzw. + aktivieren: +</p> +<ul type="disc"> + <li> + Risiko-Ermittlung + </li> + <li> + Test registrieren + </li> + <li> + Testergebnis teilen + </li> +</ul> +<h3> + b. Begegnungsdaten +</h3> +<p> + Wenn Sie auf Ihrem Smartphone die betriebssystemseitige Funktion zur + Aufzeichnung von Kontakten zu anderen Nutzern aktivieren, versendet Ihr + Smartphone per Bluetooth kontinuierlich zufallsgenerierte Kennnummern (im + Folgenden „<strong>Zufalls-IDs</strong>“), die von anderen Smartphones in + Ihrer Nähe mit ebenfalls aktivierter Kontaktaufzeichnung empfangen werden + können. Umgekehrt empfängt Ihr Smartphone auch die Zufalls-IDs der anderen + Smartphones. Zu den von anderen Smartphones empfangenen Zufalls-IDs werden + von der Kontaktaufzeichnungs-Funktion Ihres Smartphones zusätzlich folgende + Begegnungsdaten aufgezeichnet und gespeichert: +</p> +<ul type="disc"> + <li> + Datum des Kontakts + </li> + <li> + Dauer des Kontakts + </li> + <li> + Bluetooth-Signalstärke des Kontakts + </li> +</ul> +<p> + Die eigenen und von anderen Smartphones empfangenen Zufalls-IDs und die + weiteren Begegnungsdaten (Datum, Dauer, Signalstärke) werden von Ihrem + Smartphone in einem Kontaktprotokoll der Kontaktaufzeichnungs-Funktion + erfasst und dort für 14 Tage gespeichert. +</p> +<p> + Die Kontaktaufzeichnungs-Funktion heißt bei Android-Smartphones + "Benachrichtigungen zu möglicher Begegnung mit Infizierten" und bei iPhones + „COVID-19-Kontaktprotokoll“. Wir weisen Sie darauf hin, dass diese + Kontaktaufzeichnungs-Funktionen kein Bestandteil der App, sondern ein + integraler Bestandteil des Betriebssystems Ihres Smartphones sind. Die + Kontaktaufzeichnungs-Funktion wird Ihnen daher von Apple (iPhones) bzw. + Google (Android-Smartphones) bereitgestellt und unterliegt dementsprechend + den Datenschutzbestimmungen dieser Unternehmen. Die betriebssystemseitige + Datenverarbeitung im Rahmen der Kontaktaufzeichnungs-Funktion liegt + außerhalb des Einflussbereichs des RKI. +</p> +<p> + Weitere Informationen zu der Kontaktaufzeichnungs-Funktion von + Android-Smartphones finden Sie unter: + <a href="https://support.google.com/android/answer/9888358?hl=de"> + https://support.google.com/android/answer/9888358?hl=de + </a> + . +</p> +<p> + Weitere Informationen zu der Kontaktaufzeichnungs-Funktion von Apple finden + Sie in den Einstellungen Ihres iPhones unter "Datenschutz“ > „Health" + > „COVID-19-Kontaktprotokoll“. Bitte beachten Sie: Die + Kontaktaufzeichnungs-Funktion steht Ihnen nur zur Verfügung, wenn auf Ihrem + iPhone das Betriebssystem iOS ab Version 13.5 installiert ist. +</p> +<p> + Die vom Smartphone erzeugten und gespeicherten Begegnungsdaten werden von + der App nur verarbeitet, wenn die Risiko-Ermittlung aktiviert ist. +</p> +<h3> + c. Gesundheitsdaten +</h3> +<p> + Gesundheitsdaten sind alle Daten, die Informationen zum Gesundheitszustand + einer bestimmten Person enthalten. Dazu gehören nicht nur Angaben zu + früheren und aktuellen Krankheiten, sondern auch zu Krankheitsrisiken einer + Person (z. B. das Risiko, dass eine Person sich mit dem Corona-Virus + infiziert hat). +</p> +<p> + In den folgenden Fällen werden Ihre Gesundheitsdaten verarbeitet: +</p> +<ul> + <li> + Wenn die Risiko-Ermittlung erkennt, dass Sie möglicherweise Kontakt zu + einer Person hatten, die sich mit dem Corona-Virus infiziert hat. + </li> + <li> + Wenn Sie einen Test registrieren. + </li> + <li> + Wenn Sie ein positives Testergebnis teilen. + </li> +</ul> +<h2> + 6. Funktionen der App +</h2> +<h3> + a. Risiko-Ermittlung +</h3> +<p> + Die Risiko-Ermittlung ist die Kernfunktion der App. Sie dient dazu, + mögliche Kontakte zu mit dem Corona-Virus infizierten anderen Nutzern der + App nachzuverfolgen, das infolge für Sie bestehende Infektionsrisiko zu + bewerten und Ihnen, basierend auf dem für Sie ermittelten Risikowert, + Verhaltens- und Gesundheitshinweise bereitzustellen. +</p> +<p> + Wenn Sie die Risiko-Ermittlung aktivieren, ruft die App von den + Serversystemen der App im Hintergrundbetrieb mehrmals täglich (oder wenn + Sie auf „Aktualisieren“ tippen) eine Liste mit Zufalls-IDs von Nutzern ab, + die ein positives Testergebnis geteilt haben. Die App gibt die Zufalls-IDs + an die Kontaktaufzeichnungs-Funktion Ihres Smartphones weiter, welche diese + dann mit den im Kontaktprotokoll Ihres Smartphones gespeicherten + Zufalls-IDs abgleicht. Wenn die Kontaktaufzeichnungs-Funktion Ihres + Smartphones eine Übereinstimmung feststellt, übergibt sie der App die + Begegnungsdaten (Datum, Dauer, Signalstärke), nicht jedoch die Zufalls-ID + des betreffenden Kontakts. +</p> +<p> + Im Fall eines Kontakts werden die von der Kontaktaufzeichnungs-Funktion + übergebenen Begegnungsdaten von der App analysiert, um Ihr individuelles + Infektionsrisiko zu ermitteln. Der Bewertungsalgorithmus, der festlegt, wie + die Begegnungsdaten interpretiert werden (z. B. welchen Einfluss die Dauer + eines Kontakts auf das Infektionsrisiko hat) basiert auf den aktuellen + wissenschaftlichen Erkenntnissen. Bei neuen Erkenntnissen kann der + Bewertungsalgorithmus daher durch das RKI aktualisiert werden, indem die + Einstellungen für den Bewertungsalgorithmus neu gesetzt werden. Die + Einstellungen für den Bewertungsalgorithmus werden dann zusammen mit der + Liste mit den Zufalls-IDs an die App übermittelt. +</p> +<p> + Die Ermittlung des Infektionsrisikos findet ausschließlich lokal auf Ihrem + Smartphone statt, das heißt die Daten werden offline verarbeitet. Das + ermittelte Infektionsrisiko wird ebenfalls ausschließlich in der App + gespeichert und an keine anderen Empfänger (auch nicht an das RKI, Apple, + Google und sonstige Dritte) weitergegeben. +</p> +<p> + Rechtsgrundlage der oben beschriebenen Verarbeitung Ihrer Zugriffsdaten, + Begegnungsdaten und ggf. Gesundheitsdaten (sofern für Sie ein + Infektionsrisiko ermittelt wird) ist Ihre Einwilligung, die Sie bei der + Aktivierung der Risiko-Ermittlung erteilt haben. +</p> +<h3> + b. Test registrieren +</h3> +<p> + Wenn Sie auf eine Infektion mit dem Corona-Virus getestet wurden, können + Sie den Test in der App registrieren, indem Sie den QR-Code, den Sie von + Ihrem Arzt bzw. der Testeinrichtung erhalten haben, in der App einscannen. + Die App informiert Sie dann, sobald das Testergebnis des Labors vorliegt. +</p> +<p> + Dies setzt voraus, dass das Testlabor an das Serversystem der App + angeschlossen ist und Sie im Rahmen der Testdurchführung gesondert in die + Übermittlung Ihres Testergebnisses durch das Labor an das Serversystem der + App (Testergebnis-Datenbank) eingewilligt haben. Testergebnisse von + Laboren, die nicht an das Serversystem der App angeschlossen sind, können + nicht in der App angezeigt werden. Wenn Sie keinen QR-Code erhalten haben, + ist das Testlabor nicht angeschlossen. In diesem Fall können Sie diese + Funktion nicht nutzen. +</p> +<p> + <u>Testregistrierung</u> +</p> +<p> + Damit Sie das Testergebnis in der App erhalten können, müssen Sie den + durchgeführten Test zunächst in der App registrieren. Hierzu erhalten Sie + von Ihrem Arzt bzw. der Testeinrichtung im Rahmen der Probenentnahme einen + QR-Code. Dieser QR-Code enthält eine Kennzahl, die mit einem + QR-Code-Scanner ausgelesen werden kann. Zur Testregistrierung müssen Sie + den QR-Code in der App mit der Kamera Ihres Smartphones scannen. +</p> +<p> + Die aus dem QR-Code ausgelesene Kennzahl wird von der App dann gehasht, das + bedeutet, die Kennzahl wird nach einem bestimmten mathematischen Verfahren + so verfremdet, dass niemand mehr die dahinterstehende Kennzahl erkennen + kann. Sobald Ihr Smartphone eine Verbindung zum Internet hat, wird die App + die gehashte Kennzahl an die Serversysteme der App übermitteln. Im Gegenzug + erhält die App vom Serversystem einen Token, also einen digitalen + Zugangsschlüssel, der in der App gespeichert wird. Das Token ist auf dem + Serversystem mit der gehashten Kennzahl verknüpft. Die App löscht dann die + auf Ihrem Smartphone gehashte Kennzahl. Das Serversystem wird für jede + gehashte Kennzahl nur ein einziges Mal einen Token vergeben. Auf diese + Weise wird sichergestellt, dass Ihr QR-Code nicht von anderen Nutzern der + App für die Abfrage von Testergebnissen verwendet werden kann. +</p> +<p> + Die Registrierung Ihres Tests ist damit abgeschlossen. +</p> +<p> + <u>Hinterlegung des Testergebnisses</u> +</p> +<p> + Sobald dem Testlabor das Testergebnis vorliegt, hinterlegt es das Ergebnis + unter Angabe der gehashten Kennzahl in der vom RKI betriebenen + Testergebnis-Datenbank. Die Testergebnis-Datenbank wird vom RKI auf einem + speziellen Server innerhalb des Serversystems der App betrieben. Das + Testlabor erzeugt die gehashte Kennzahl ebenfalls auf Basis der an Sie im + ausgegebenen QR-Code enthaltenen Kennzahl unter Verwendung des gleichen + mathematischen Verfahrens, das auch die App einsetzt.<u></u> +</p> +<p> + <u>Abruf des Testergebnisses</u> +</p> +<p> + Die App fragt bei dem Serversystem der App unter Verwendung des Tokens + regelmäßig den Status des registrierten Tests ab. Das Serversystem ordnet + das Token dann der gehashten Kennzahl zu und übermittelt diese an die + Testergebnis-Datenbank. Ist das Testergebnis dort mittlerweile abgelegt, + sendet die Testergebnis-Datenbank das Testergebnis an das Serversystem + zurück, der dieses ohne Kenntnisnahme des Inhalts an die App weiterleitet. +</p> +<p> + Im Fall eines positiven Testergebnis fordert die App beim Serversystem + unter erneuter Verwendung des Tokens eine TAN (Transaktionsnummer) an. Das + Serversystem ordnet das Token wieder der gehashten Kennzahl zu und fordert + von der Testergebnis-Datenbank eine Bestätigung an, dass zu der gehashten + Kennzahl ein positives Testergebnis vorliegt. Sofern die + Testergebnis-Datenbank dies bestätigt, erzeugt das Serversystem die TAN und + übermittelt sie an die App. Eine Kopie der TAN verbleibt auf dem + Serversystem. +</p> +<p> + Die TAN wird benötigt, um im Fall einer Übermittlung des positiven + Testergebnisses sicherzustellen, dass keine falschen Informationen an + andere Nutzer verteilt werden. +</p> +<p> + Rechtsgrundlage der oben beschriebenen Verarbeitung der zuvor genannten + Daten ist Ihre Einwilligung für die Funktion „Test registrieren“. +</p> +<h3> + c. Testergebnis teilen +</h3> +<p> + Wenn Sie Ihr positives Testergebnis teilen, um andere Nutzer zu warnen, + überträgt die App die von Ihrem Smartphone gespeicherten eigenen + Zufalls-IDs der letzten 14 Tage und die TAN an das Serversystem der App. + Dieses prüft zunächst, ob die TAN gültig ist und trägt Ihre Zufalls-IDs + sodann in die Liste der Zufalls-IDs von Nutzern, die ihr positives + Testergebnis geteilt haben, ein. Ihre Zufalls-IDs können nun von anderen + Nutzern im Rahmen der Risiko-Ermittlung heruntergeladen werden. +</p> +<p> + <u>Wenn Sie Ihr Testergebnis nicht in der App abgerufen haben:</u> +</p> +<p> + Auch wenn Sie ein positives Testergebnis nicht in der App abgerufen haben, + können Sie das Testergebnis per App teilen, um andere Nutzer zu warnen. In + diesem Fall fordert Sie die App zur Eingabe einer sogenannten TeleTAN auf, + die als TAN fungiert. +</p> +<p> + Für den Erhalt der TeleTAN können Sie die Hotline der Corona-Warn-App unter + der Nummer +49 (0)800 7540002 anrufen. Der dort für Sie zuständige + Ansprechpartner wird Ihnen zunächst am Telefon einige Fragen stellen, um + die Plausibilität Ihres Anrufs zu überprüfen. Diese Fragen dienen der + Vorbeugung einer missbräuchlichen Infektionsmeldung und daraus + resultierender fehlerhafter Warnungen und Risikowerte. Nach ausreichender + Beantwortung dieser Fragen werden Sie nach Ihrer Handy-/Telefonnummer + gefragt. Dies dient dazu, Sie später zurückrufen zu können, um Ihnen eine + TeleTAN zur Eingabe in der App mitzuteilen. Ihre Handy-/Telefonnummer wird + nur zu diesem Zweck vorübergehend gespeichert und spätestens innerhalb + einer Stunde gelöscht. +</p> +<p> + Nach Ihrem Anruf wird der Hotline-Mitarbeiter über einen speziellen Zugang + zum Serversystem der App eine TeleTAN generieren und Sie sodann anrufen, um + Ihnen die TeleTAN mitzuteilen. Wenn Sie die TeleTAN in der App eingeben, + wird die TeleTAN von der App zum Abgleich und Verifizierung an das + Serversystem der App zurückgesendet. Im Gegenzug erhält die App vom + Serversystem einen Token, also einen digitalen Zugangsschlüssel, der in der + App gespeichert wird. Mit diesem Token fordert die App beim Serversystem + dann eine TAN an. +</p> +<p> + Rechtsgrundlage dieser Verarbeitung Ihrer Zugriffsdaten und + Gesundheitsdaten (Zufalls-IDs, Testergebnis, TAN und ggf. TeleTAN) ist Ihre + Einwilligung für die Funktion „Testergebnis teilen“. +</p> +<h3> + d. Informatorische Nutzung der App +</h3> +<p> + Soweit Sie die App nur informatorisch nutzen, also keine der oben genannten + Funktionen der App verwenden und keine Daten eingeben, findet die + Verarbeitung ausschließlich lokal auf Ihrem Smartphone statt und es fallen + keine personenbezogenen Daten an. +</p> +<h2> + 7. Welche Berechtigungen und Funktionen benötigt die App? +</h2> +<p> + Die App benötigt Zugriff auf verschiedene Funktionen und Schnittstellen + Ihres Smartphones. Dazu ist es erforderlich, dass Sie der App bestimmte + Berechtigungen erteilen. Die Berechtigungen sind von den verschiedenen + Herstellern unterschiedlich programmiert. So können z. B. + Einzelberechtigungen zu Berechtigungskategorien zusammengefasst sein, wobei + Sie der Berechtigungskategorie nur insgesamt zustimmen können. Bitte + beachten Sie, dass Sie im Falle der Ablehnung eines Zugriffs durch die App + keine oder nur wenige Funktionen der App nutzen können. +</p> +<h3> + a. Technische Voraussetzungen (alle Smartphones) +</h3> +<ul> + <li> + Internet + </li> +</ul> +<p> + Die App benötigt für die Funktionen Risiko-Ermittlung, Testergebnisse + erhalten und Testergebnis übermitteln eine Internetverbindung, um mit den + Serversystemen der App kommunizieren zu können. +</p> +<ul> + <li> + Bluetooth + </li> +</ul> +<p> + Die Bluetooth-Schnittstelle Ihres Smartphones muss aktiviert sein, damit + Ihr Smartphone Zufalls-IDs von anderen Smartphones erfassen und im + Kontaktprotokoll des Geräts speichern kann. +</p> +<ul> + <li> + Kamera + </li> +</ul> +<p> + Ihr Smartphone benötigt eine Kamera, um damit einen QR-Code im Rahmen der + Testregistrierung scannen können. +</p> +<ul> + <li> + Hintergrundbetrieb + </li> +</ul> +<p> + Die App nutzt den Hintergrundbetrieb (also wenn Sie die App nicht gerade + aktiv nutzen), um Ihr Risiko automatisch zu ermitteln und den Status eines + registrierten Tests abfragen zu können. Wenn Sie den Hintergrundbetrieb im + Betriebssystem Ihres Smartphones deaktivieren, müssen Sie alle Aktionen in + der App selbst starten. +</p> +<h3> + b. Android-Smartphones +</h3> +<p> + Wenn Sie ein Android-Gerät verwenden, müssen außerdem folgende + Systemfunktionen aktiviert sein: +</p> +<ul> + <li> + Benachrichtigungen zu möglicher Begegnung mit COVID-19-Infizierten + </li> +</ul> +<p> + Die Risiko-Ermittlung benötigt diese Funktion, da andernfalls kein + Kontaktprotokoll mit den Zufalls-IDs Ihrer Kontakte zur Verfügung steht. + Die Funktion muss innerhalb der App aktiviert werden, damit die App auf das + Kontaktprotokoll zugreifen darf. +</p> +<ul> + <li> + Standortermittlung + </li> +</ul> +<p> + Die Standortermittlung Ihres Smartphones muss aktiviert sein, damit Ihr + Gerät nach Bluetooth-Signalen anderer Smartphones sucht. Standortdaten + werden dabei jedoch nicht erhoben. +</p> +<ul> + <li> + Benachrichtigung + </li> +</ul> +<p> + Der Nutzer wird lokal über die Risiko-Ermittlung und vorhandene + Testergebnisse benachrichtigt. Die dafür notwendige + Benachrichtigungsfunktion ist im Betriebssystem bereits aktiviert. +</p> +<p> + Daneben benötigt die App folgende Berechtigungen: +</p> +<ul> + <li> + Kamera + </li> +</ul> +<p> + Die App benötigt Zugriff auf die Kamera, um bei der Testregistrierung den + QR-Code auslesen zu können. +</p> +<h3> + c. iPhones (Apple iOS) +</h3> +<p> + Wenn Sie ein iPhone verwenden, müssen folgende Systemfunktionen aktiviert + sein: +</p> +<ul> + <li> + COVID-19-Kontaktprotokoll + </li> +</ul> +<p> + Die Risiko-Ermittlung benötigt diese Funktion, da andernfalls kein + Kontaktprotokoll mit den Zufalls-IDs Ihrer Kontakte zur Verfügung steht. + Die Funktion muss innerhalb der App aktiviert werden, damit die App auf das + Kontaktprotokoll zugreifen darf. +</p> +<ul> + <li> + Mitteilungen + </li> +</ul> +<p> + Der Nutzer wird lokal über die Risiko-Ermittlung und vorhandene + Testergebnisse benachrichtigt. Mitteilungen müssen dafür aktiviert sein. +</p> +<p> + Die App benötigt zudem folgende Berechtigungen: +</p> +<ul> + <li> + Kamera + </li> +</ul> +<p> + Die App benötigt Zugriff auf die Kamera, um bei der Testregistrierung den + QR-Code auslesen zu können. +</p> +<h2> + 8. Wann werden die Daten gelöscht? +</h2> +<p> + Alle in der App gespeicherten Daten werden gelöscht, sobald sie für die + Funktionen der App nicht mehr benötigt werden: +</p> +<h3> + a. Risiko-Ermittlung +</h3> +<ul> + <li> + Die Liste der Zufalls-IDs von Nutzern, die ein positives Testergebnis + geteilt haben, wird unmittelbar nach dem Abgleich mit den Zufalls-IDs + im Kontaktprotokoll Ihres Smartphones von der App gelöscht. + </li> + <li> + Auf die Löschung der Begegnungsdaten im Kontaktprotokoll Ihres + Smartphones (einschließlich Ihrer eigenen Zufalls-IDs) und die + Begegnungsdaten auf anderen Smartphones hat das RKI keinen Einfluss, da + diese Funktion von Apple bzw. Google bereitgestellt werden. Die + Löschung richtet sich nach den Festlegungen von Apple bzw. Google. + Zurzeit werden die Daten nach 14 Tagen automatisch gelöscht. Zudem + können Sie im Rahmen der von Apple und Google bereitgestellten + Funktionalitäten in den Systemeinstellungen Ihres Geräts gegebenenfalls + eine manuelle Löschung anstoßen. + </li> + <li> + Der in der App angezeigte Risikowert wird gelöscht, sobald ein neuer + Risikowert ermittelt worden ist. Ein neuer Risikowert wird in der Regel + ermittelt, nachdem die App eine neue Liste mit Zufalls-IDs erhalten + hat. + </li> +</ul> +<h3> + b. Test registrieren +</h3> +<ul> + <li> + Die gehashte Kennzahl wird auf dem Serversystem der App nach 21 Tagen + gelöscht. + </li> + <li> + Die gehashte Kennzahl und das Testergebnis in der + Testergebnis-Datenbank werden im Fall eines negativen Testergebnisses + unmittelbar nach dem Abruf des Testergebnisses und im Fall eines + positiven Testergebnissen unmittelbar nach dem Löschen der auf + Serversystem gespeicherten Kopie der TAN gelöscht (s.u.). + </li> + <li> + Das Token, das auf dem Serversystem gespeichert ist, wird nach 21 Tagen + gelöscht. + </li> + <li> + Das Token, das in der App gespeichert ist, wird nach Löschung der App + vom Smartphone oder nach dem Teilen des Testergebnisses gelöscht. + </li> +</ul> +<h3> + c. Testergebnis teilen +</h3> +<ul> + <li> + Die in der App geteilten eigenen Zufalls-IDs werden nach 14 Tagen vom + Serversystem gelöscht. + </li> + <li> + Die Kopie der TAN, die auf dem Serversystem gespeichert ist, wird nach + 21 Tagen gelöscht. + </li> + <li> + Die TAN, die in der App gespeichert ist, wird nach Teilen des + Testergebnisses gelöscht. + </li> + <li> + Die TeleTAN, die in der App gespeichert ist, wird nach Teilen des + Testergebnisses gelöscht. + </li> + <li> + Die TeleTAN, die auf dem Serversystem gespeichert ist, wird nach 21 + Tagen gelöscht. + </li> + <li> + Die TeleTAN, die dem Mitarbeiter der Hotline übermittelt wird, wird + dort direkt nach der telefonischen Weitergabe an Sie gelöscht. + </li> + <li> + Das Token, das auf dem Serversystem gespeichert ist, wird nach 21 Tagen + gelöscht. + </li> + <li> + Das Token, das in der App gespeichert ist, wird nach Teilen des + Testergebnisses gelöscht. + </li> +</ul> +<h2> + 9. An wen werden Ihre Daten weitergegeben? +</h2> +<p> + Wenn Sie ein Testergebnis teilen, um andere Nutzer zu warnen, werden Ihre + Zufalls-IDs der letzten 14 Tage an die Apps der anderen Nutzer + weitergegeben. +</p> +<p> + Mit dem Betrieb und der Wartung eines Teils der technischen Infrastruktur + der App (z. B. Serversysteme, Hotline) hat das RKI die Deutsche Telekom AG + und die SAP Deutschland SE & Co. KG beauftragt, die insoweit als + Auftragsverarbeiter des RKI tätig werden (Artikel 28 DSGVO). +</p> +<p> + Im Übrigen gibt das RKI personenbezogene Daten, die im Zusammenhang mit der + Nutzung der App erhoben werden, nur an Dritte weiter, soweit das RKI + rechtlich dazu verpflichtet ist oder die Weitergabe im Falle von Angriffen + auf die technische Infrastruktur der App zur Rechts- oder Strafverfolgung + erforderlich ist. Eine Weitergabe in anderen Fällen erfolgt grundsätzlich + nicht. +</p> +<h2> + 10. Werden Daten in ein Drittland übermittelt? +</h2> +<p> + Die bei der Nutzung der App anfallenden Daten werden ausschließlich auf + Servern in Deutschland oder in einem anderem EU- oder EWR-Mitgliedsstaat + verarbeitet. +</p> +<h2> + 11. Wiederruf von Einwilligungen +</h2> +<p> + Ihnen steht das Recht zu, die in der App erteilten Einwilligungen gegenüber + dem RKI jederzeit mit Wirkung für die Zukunft zu widerrufen. Die + Rechtmäßigkeit der Verarbeitung bis zum Widerruf wird dadurch jedoch nicht + berührt. +</p> +<p> + Zum Widerruf Ihrer Einwilligung in die Risiko-Ermittlung können Sie die + Funktion über den Schieberegler innerhalb der App deaktivieren oder die App + löschen. Wenn Sie die Risiko-Ermittlung wieder nutzen möchten, können Sie + den Schieberegler erneut aktivieren oder die App erneut installieren. +</p> +<p> + Zum Widerruf Ihrer Einwilligung für die Funktion „Test registrieren“ können + Sie die Testregistrierung in der App löschen. Das Token zum Abruf des + Testergebnisses wird dann von Ihrem Gerät gelöscht. Weder das RKI noch das + Testlabor können die übermittelten Daten dann Ihrer App oder Ihrem + Smartphone zuordnen. Wenn Sie einen weiteren Test registrieren möchten, + werden Sie um eine neue Einwilligung gebeten. +</p> +<p> + Zum Widerruf Ihrer Einwilligung für die Funktion „Testergebnis teilen“ + müssen Sie die App löschen. Sämtliche Ihrer in der App gespeicherten + Zufalls-IDs werden dann entfernt und können Ihrem Smartphone nicht mehr + zugeordnet werden. Wenn Sie erneut ein Testergebnis melden möchten, können + Sie in der App erneut installieren und eine neue Einwilligung erteilen. + Alternativ können Sie Ihre eigenen Zufalls-IDs gegebenenfalls im Rahmen der + Kontaktaufzeichnungs-Funktion in den Systemeinstellungen Ihres Smartphones + löschen. Bitte beachten Sie, dass das RKI keine Möglichkeit hat, um Ihre + bereits übermittelten Zufalls-IDs unmittelbar aus den bereitgestellten + Listen und von Smartphones anderer Nutzer zu löschen. +</p> +<h2> + 12. Ihre weiteren Datenschutzrechte +</h2> +<p> + Soweit das RKI personenbezogene Daten von Ihnen verarbeitet, stehen Ihnen + außerdem folgende Datenschutzrechte zu: +</p> +<ul> + <li> + die Rechte aus den Artikeln 15, 16, 17, 18, 20 und 21 DSGVO, + </li> + <li> + das Recht, den behördlichen + <a href="https://www.rki.de/DE/Content/Institut/OrgEinheiten/Datenschutz/Datenschutz_node.html" + title="Datenschutzbeauftragter"> + Datenschutzbeauftragten des RKI + </a> + zu kontaktieren und Ihr Anliegen vorzubringen (Artikel 38 Abs. 4 DSGVO) + und + </li> + <li> + das Recht, sich bei einer zuständigen Aufsichtsbehörde für den + Datenschutz zu beschweren. Dazu können Sie sich entweder an die + zuständige Aufsichtsbehörde an Ihrem Wohnort oder an die am Sitz des + RKI zuständige Behörde wenden. Die zuständige Aufsichtsbehörde für das + RKI ist der Bundesbeauftragte für den Datenschutz und die + Informationsfreiheit, Graurheindorfer Str. 153, 53117 Bonn. + </li> +</ul> +<p> + Es wird darauf hingewiesen, dass die vorgenannten Rechte vom RKI nur + erfüllt werden können, wenn die Daten, auf die sich die geltend gemachten + Ansprüche beziehen, eindeutig Ihrer Person zugeordnet werden können. Dies + wäre nur möglich, wenn das RKI weitere personenbezogene Daten erhebt, die + eine eindeutige Zuordnung der oben genannten Daten zu Ihrer Person oder + Ihrem Smartphone erlaubt. Da dies für die Zwecke der App nicht erforderlich + – und auch nicht gewollt – ist, ist das RKI zu einer solchen zusätzlichen + Datenerhebung nicht verpflichtet (Artikel 11 Abs. 2 DSGVO). Zudem würde + dies dem erklärten Ziel zuwiderlaufen, die Datenverarbeitung im Rahmen der + App so datensparsam wie möglich durchzuführen. Aus diesem Hintergrund + werden die vorgenannten Datenschutzrechte aus den Artikeln 15, 16, 17, 18, + 20 und 21 DSGVO in der Regel nicht unmittelbar und nur mit zusätzlichen + Informationen zu Ihrer Person, die dem RKI nicht vorliegen, erfüllt werden + können. +</p> +<p> + Stand: 05.06.2020 +</p>]]></string> <string name="information_privacy_headline">@string/lorem_ipsum</string> <!-- XACT: describes illustration --> <string name="information_privacy_illustration_description">Eine Frau mit einem Handy benutzt die Corona-Warn-App, ein Vorhängeschloss auf einem Schild steht als Symbol für verschlüsselte Daten.</string> @@ -544,13 +1331,385 @@ <string name="information_help_title">Häufige Fragen</string> <!-- XHED: Page title for technical information page, also menu item / button text --> <string name="information_technical_title">Rechtliche Hinweise</string> - <string name="information_technical_headline">FTP/SFTP/FTPS client uses libs</string> + <!-- YTXT: Body text for technical information page --> + <string name="information_technical_body"><![CDATA[ +<h2>ThirdPartyNotices</h2> +<p>corona-warn-app/cwa-app-android uses third-party software or other resources that + may be distributed under licenses different from corona-warn-app/cwa-app-android + software. + In the event that we overlooked to list a required notice, please bring this + to our attention by contacting us via this email: + corona-warn-app.opensource@sap.com</p> +<h2>Components:</h2> +<p>Component: JUnit 4 + Licensor: The JUnit Team + Website: <a href="https://junit.org/junit4/">https://junit.org/junit4/</a> + License: Eclipse Public License 1.0</p> +<p>Component: Java Hamcrest + Licensor: www.hamcrest.org + Website: <a href="https://github.com/hamcrest/JavaHamcrest">https://github.com/hamcrest/JavaHamcrest</a> + License: BSD-style license</p> +<p>Component: android-database-sqlcipher + Licensor: Zetetic LLC + Website: <a href="https://www.zetetic.net/sqlcipher/">https://www.zetetic.net/sqlcipher/</a> + License: BSD-style license</p> +<p>Component: guava + Licensor: Google + Website: <a href="https://github.com/google/guava">https://github.com/google/guava</a> + License: Apache 2.0</p> +<p>Component: joda-time + Licensor: Joda.org + Website: <a href="https://www.joda.org/joda-time/">https://www.joda.org/joda-time/</a> + License: Apache 2.0</p> +<p>Component: Mockito + Licensor: Mockito contributors + Website: <a href="https://site.mockito.org/">https://site.mockito.org/</a> + License: MIT</p> +<p>Component: MockK + Licensor: github.com/mockk + Website: <a href="https://github.com/mockk/mockk">https://github.com/mockk/mockk</a> + License: Apache 2.0</p> +<p>Component: Robolectric + Licensor: Xtreme Labs, Pivotal Labs and Google Inc. + Website: <a href="http://robolectric.org/">http://robolectric.org/</a> + License: MIT</p> +<p>Component: RootBeer + Licensor: Scott Alexander-Bown, Mat Rollings + Website: <a href="https://github.com/scottyab/rootbeer">https://github.com/scottyab/rootbeer</a> + License: Apache 2.0</p> +<p>Component: Zxing + Licensor: zxing + Website: <a href="https://github.com/zxing/zxing/">https://github.com/zxing/zxing/</a> + License: Apache 2.0</p> +<p>Component: ZXing Android Embedded + Licensor: ZXing authors, Journey Mobile + Website: <a href="https://github.com/journeyapps/zxing-android-embedded">https://github.com/journeyapps/zxing-android-embedded</a> + License: Apache 2.0</p> +<p>Component: Detekt + Licensor: detekt + Website: <a href="https://detekt.github.io/detekt/">https://detekt.github.io/detekt/</a> + License: Apache 2.0</p> +<p>Component: gson + Licensor: Google + Website: <a href="https://github.com/google/gson">https://github.com/google/gson</a> + License: Apache 2.0</p> +<p>Component: okhttp + Licensor: square + Website: <a href="https://square.github.io/okhttp/">https://square.github.io/okhttp/</a> + License: Apache 2.0</p> +<p>Component: kotlinx.coroutines + Licensor: Kotlin + Website: <a href="https://github.com/Kotlin/kotlinx.coroutines">https://github.com/Kotlin/kotlinx.coroutines</a> + License: Apache 2.0</p> +<p>Component: Ktlint Gradle + Licensor: Jonathan Leitschuh + Website: <a href="https://github.com/JLLeitschuh/ktlint-gradle">https://github.com/JLLeitschuh/ktlint-gradle</a> + License: MIT</p> +<p>Component: Retrofit + Licensor: square + Website: <a href="https://square.github.io/retrofit/">https://square.github.io/retrofit/</a> + License: Apache 2.0</p> +<p>Component: Protobuf gradle plugin + Licensor: Google + Website: <a href="https://github.com/google/protobuf-gradle-plugin">https://github.com/google/protobuf-gradle-plugin</a> + License: BSD 3-Clause</p> +<p>Copyright (c) 2008-2020 Zetetic LLC + All rights reserved.</p> +<p>Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met:</p> +<pre><code> * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the ZETETIC LLC nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. +</code></pre><p>THIS SOFTWARE IS PROVIDED BY ZETETIC LLC ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p> +<p>Apache License 2.0 (guava, joda-time, MockK, RootBeer, Zxing, ZXing Android Embedded, Detekt, + gson, okhttp, kotlinx.coroutines, Retrofit)</p> +<pre><code> Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ +</code></pre><p> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</p> +<ol> + <li><p>Definitions.</p> + <p>"License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document.</p> + <p>"Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License.</p> + <p>"Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity.</p> + <p>"You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License.</p> + <p>"Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files.</p> + <p>"Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types.</p> + <p>"Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below).</p> + <p>"Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof.</p> + <p>"Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution."</p> + <p>"Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work.</p> + </li> + <li><p>Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form.</p> + </li> + <li><p>Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed.</p> + </li> + <li><p>Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions:</p> + <p>(a) You must give any other recipients of the Work or</p> + <pre><code>Derivative Works a copy of this License; and +</code></pre> + <p>(b) You must cause any modified files to carry prominent notices</p> + <pre><code>stating that You changed the files; and +</code></pre> + <p>(c) You must retain, in the Source form of any Derivative Works</p> + <pre><code>that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and +</code></pre> + <p>(d) If the Work includes a "NOTICE" text file as part of its</p> + <pre><code>distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. +</code></pre> + <p>You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License.</p> + </li> + <li><p>Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions.</p> + </li> + <li><p>Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file.</p> + </li> + <li><p>Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License.</p> + </li> + <li><p>Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages.</p> + </li> + <li><p>Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability.</p> + <p>END OF TERMS AND CONDITIONS</p> + </li> +</ol> +<p>The MIT License</p> +<p>Copyright (c) 2007 Mockito contributors</p> +<p>Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions:</p> +<p>The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software.</p> +<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE.</p> +<p>The MIT License</p> +<p>Copyright (c) 2010 Xtreme Labs, Pivotal Labs and Google Inc.</p> +<p>Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions:</p> +<p>The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software.</p> +<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE.</p> +<p>MIT License</p> +<p>Copyright (c) 2020 Jonathan Leitschuh</p> +<p>Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions:</p> +<p>The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software.</p> +<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE.</p> +<p>BSD 3-Clause (Protobuf gradle plugin)</p> +<p>Original work copyright (c) 2015, Alex Antonov. All rights reserved. + Modified work copyright (c) 2015, Google Inc. All rights reserved.</p> +<p>Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met:</p> +<ol> + <li><p>Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer.</p> + </li> + <li><p>Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution.</p> + </li> + <li><p>Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission.</p> + </li> +</ol> +<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p> +]]></string> <!-- XACT: describes illustration --> <string name="information_technical_illustration_description">Eine Hand hält ein Smartphone mit viel Text, daneben ist eine Balkenwaage als Symbol für rechtliche Hinweise.</string> <!-- XHED: Page title for legal information page, also menu item / button text --> <string name="information_legal_title">Impressum</string> - <string name="information_legal_headline">Herausgeber</string> - <string name="information_legal_body">SAP Deutschland SE & Co. KG \n \nHauptsitz: \nSAP Deutschland SE & Co. KG \nHasso-Plattner-Ring 7 \n69190 Walldorf </string> + <!-- YTXT: Body text for legal information page --> + <string name="information_legal_body"><![CDATA[ +<p> + <strong>Herausgeber</strong> + <br />(verantwortlich nach § 5 Abs. 1 TMG, § 55 Abs. 1 RStV, DS-GVO, BDSG) +</p> +<p> + <strong>Robert Koch-Institut</strong> + <br />Nordufer 20 + <br />13353 Berlin +</p> +<p> + vertreten durch den Präsidenten +</p> +<p> + <strong>Kontakt</strong> + <br />E-Mail: CoronaWarnApp@rki.de + <br />Telefon: 030 18754 – 5100 +</p> +<p> + Umsatzsteueridentifikationsnummer + <br />DE 165 893 430 +</p> +]]></string> <!-- XACT: describes illustration --> <string name="information_legal_illustration_description">Eine Hand hält ein Smartphone mit viel Text, daneben ist ein Paragraphenzeichen als Symbol für das Impressum.</string>