commit 648fa885f2b01a1e86ae5e498515e16b6a3cb7a4 Author: Sebastian Wolf Date: Tue May 12 23:31:54 2020 +0200 Corona-Warn-App: First set of documentation files diff --git a/.github/ISSUE_TEMPLATE/01_doc_issue.md b/.github/ISSUE_TEMPLATE/01_doc_issue.md new file mode 100644 index 0000000..fba3e07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_doc_issue.md @@ -0,0 +1,20 @@ +--- +name: "\U0001F6A8 Documentation Issue" +about: Did you come across parts of our documentation that should be fixed? +labels: documentation, bug + +--- + + +## Where to find the issue + + +## Describe the issue + + +## Suggested change + diff --git a/.github/ISSUE_TEMPLATE/02_information_request.md b/.github/ISSUE_TEMPLATE/02_information_request.md new file mode 100644 index 0000000..842a184 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_information_request.md @@ -0,0 +1,20 @@ +--- +name: "\U0001F4DA Information Request" +about: Do you require further information in our documentation? +labels: documentation, enhancement + +--- + + +## What is missing + + +## Why should it be included + + +## Where should it be included + diff --git a/.github/ISSUE_TEMPLATE/03_questions.md b/.github/ISSUE_TEMPLATE/03_questions.md new file mode 100644 index 0000000..3c075b5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03_questions.md @@ -0,0 +1,17 @@ +--- +name: "\U00002753 Questions?" +about: If you have *specific* questions about the documentation, please post them here. +labels: question + +--- + + +## Your Question + +* Documentation File: +* Line / Paragraph: +* Question: diff --git a/.github/ISSUE_TEMPLATE/04_other.md b/.github/ISSUE_TEMPLATE/04_other.md new file mode 100644 index 0000000..fcdf1f5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04_other.md @@ -0,0 +1,10 @@ +--- +name: "\U0001F4AC Anything else?" +about: For implementation specific issues (e.g., bug in the iOS app), please consider to open an issue in the respective repository. + +--- + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..64f4e26 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,9 @@ +# This file provides an overview of code owners in this repository. + +# Each line is a file pattern followed by one or more owners. +# The last matching pattern has the most precedence. +# For more details, read the following article on GitHub: https://help.github.com/articles/about-codeowners/. + +# These are the default owners for the whole content of this repository. The default owners are automatically added as reviewers when you open a pull request, unless different owners are specified in the file. +* @SebastianWolf-SAP @tkowark @LukasMasuch @raethlein + diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..eb48ebb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,130 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[corona-warn-app.opensource@sap.com](mailto:corona-warn-app.opensource@sap.com). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..fe65762 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,73 @@ +# Contributing + +## Code of conduct + +All members of the project community must abide by the [Contributor Covenant, version 2.0](CODE_OF_CONDUCT.md). +Only by respecting each other we can develop a productive, collaborative community. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting [corona-warn-app.opensource@sap.com](mailto:corona-warn-app.opensource@sap.com) and/or a project maintainer. + +We appreciate your courtesy of avoiding political questions here. Issues which are not related to the project itself will be closed by our community managers. + +## Engaging in our project + +We use GitHub to manage reviews of pull requests. + +* If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute) + +* If you have a trivial fix or improvement, go ahead and create a pull request, addressing (with `@...`) a suitable maintainer of this repository (see [CODEOWNERS](CODEOWNERS) of the repository you want to contribute to) in the description of the pull request. + +* If you plan to do something more involved, please reach out to us and send an [email](mailto:corona-warn-app.opensource@sap.com). This will avoid unnecessary work and surely give you and us a good deal of inspiration. + +* Relevant coding style guidelines are available in the respective sub-repositories as they are programming language-dependent. + +## Steps to Contribute + +Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on. This is to prevent duplicated efforts from other contributors on the same issue. + +If you have questions about one of the issues, please comment on them, and one of the maintainers will clarify. + +We kindly ask you to follow the [Pull Request Checklist](#Pull-Request-Checklist) to ensure reviews can happen accordingly. + +## Contributing Code + +You are welcome to contribute code in order to fix a bug or to implement a new feature. + +The following rule governs code contributions: + +* Contributions must be licensed under the [Apache 2.0 License](LICENSE) + +## Contributing Documentation + +You are welcome to contribute documentation to the project. + +The following rule governs documentation contributions: + +* Contributions must be licensed under the same license as code, the [Apache 2.0 License](LICENSE) + +## Pull Request Checklist + +* Branch from the master branch and, if needed, rebase to the current master branch before submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase your changes. + +* Commits should be as small as possible while ensuring that each commit is correct independently (i.e., each commit should compile and pass tests). + +* Test your changes as thoroughly as possible before you commit them. Preferably, automate your test by unit/integration tests. If tested manually, provide information about the test scope in the PR description (e.g. “Test passed: Upgrade version from 0.42 to 0.42.23.”). + +* Create _Work In Progress [WIP]_ pull requests only if you need clarification or an explicit review before you can continue your work item. + +* If your patch is not getting reviewed or you need a specific person to review it, you can @-reply a reviewer asking for a review in the pull request or a comment, or you can ask for a review by contacting us via [email](mailto:corona-warn-app.opensource@sap.com). + +* Post review: + * If a review requires you to change your commit(s), please test the changes again. + * Amend the affected commit(s) and force push onto your branch. + * Set respective comments in your GitHub review to resolved. + * Create a general PR comment to notify the reviewers that your amendments are ready for another round of review. + +## Issues and Planning + +* We use GitHub issues to track bugs and enhancement requests. + +* Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee. Therefore, contributors should use but aren't restricted to the issue template provided by the project maintainers. + +* When creating an issue, try using one of our issue templates which already contain some guidelines on which content is expected to process the issue most efficiently. If no template applies, you can of course also create an issue from scratch. + +* Please apply one or more applicable [labels](https://github.com/corona-warn-app/cwa-documentation/labels) to your issue so that all community members are able to cluster the issues better. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "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. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "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. + + "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). + + "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. + + "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." + + "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. + + 2. 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. + + 3. 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. + + 4. 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: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + 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 + + (d) If the Work includes a "NOTICE" text file as part of its + 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. + + 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. + + 5. 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. + + 6. 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. + + 7. 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. + + 8. 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. + + 9. 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. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..da44125 --- /dev/null +++ b/NOTICE @@ -0,0 +1,9 @@ +Copyright (c) 2020 Deutsche Telekom AG and SAP SE or an SAP affiliate company. + +This project is licensed under Apache License, Version 2.0; +you may not use them except in compliance with the License. + +Contributors: +------------- +(Format: First/Lastname , [GitHub-Account-Name], Company) +- Mark Düsener [], T-Systems International GmbH diff --git a/README.md b/README.md new file mode 100644 index 0000000..0684576 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# Corona-Warn-App + +NOTE: This README is also available [in German](translations/README.de.md). Thank you for understanding that the German version might not always be up-to-date with the English one. + +## About this project +We are developing the official COVID-19 exposure notification app for Germany, called "Corona-Warn-App". This project has the goal to develop a app based on technology with a decentralized approach - heavily inspired by the [DP-3T](https://github.com/DP-3T/documents) (Decentralized Privacy-Preserving Proximity Tracing) and [TCN](https://tcn-coalition.org/) protocols and based on the [Privacy-Preserving Contact Tracing specifications](https://www.apple.com/covid19/contacttracing/) by Apple and Google. Like DP-3T and the TCN Protocol, the apps and backend infrastructure will be entirely open source - licensed under the [Apache 2.0 license](LICENSE)! The apps (for iOS and Android) will collect pseudonymous data from nearby mobile phones using Bluetooth technology. The data will be stored locally on each device preventing access and control over data by authorities or anyone else. We will meet the applicable data protection standards and guarantee a high level of IT security. By doing so, we are addressing people's privacy concerns and thereby aiming to increase the adoption of the app. + +## Who we are + +The German government has asked SAP and Deutsche Telekom to develop the Corona-Warn-App for Germany as open source software. Deutsche Telekom is providing the network and mobile technology and will operate and run the backend for the app in a safe, scalable and stable manner. SAP is responsible for the app development, its framework and the underlying platform. Therefore, development teams of SAP and Deutsche Telekom are contributing to this project. At the same time our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community. + +## Credits + +We'd like to thank all the partners who have been involved in this enormous project from the beginning. The project would not be where it is today without all the exploration and great work that had already been done around the [PEPP-PT](https://www.pepp-pt.org/) approach by partners on a European and national level. We will build on top of some of these components and appreciate how everyone is dedicated to making this new approach successful. Moreover, we would like to thank GitHub for their great support. + +## Data Privacy + +In this project we are strictly observing the principles of the General Data Protection Regulation (GDPR) to protect the users’ privacy. We are processing necessary data only - exclusively for the purpose to let users know if they have come into close contact with other infected users, without revealing each other's identity. The compliance with these regulations is safeguarded by several procedures, e.g. by implementing technical and organizational measures adhering diligently to the high standards of the GDPR. Of course, the app will provide users with a comprehensive privacy statement to be as transparent and clear as possible. As we are developing the app as an open source project, the community can review it. We appreciate your feedback! + +## Code of Conduct + +This project has adopted the [Contributor Covenant](https://www.contributor-covenant.org/) in version 2.0 as our code of conduct. Please see the details in our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). All contributors must abide by the code of conduct. + +## Working Language + +We are building this application for Germany. We want to be as open and transparent as possible, also to interested parties in the global developer community who do not speak German. Consequently, all content will be made available primarily in _English_. We also ask all interested people to use English as language to create issues, in their code (comments, documentation etc.) and when you send requests to us. The application itself, documentation and all end-user facing content will - of course - be made available in German (and probably other languages as well). We also try to make developer documentation available in German, but please understand that focussing on the _Lingua Franca_ of the global developer community makes the development of this application as efficient as possible. + +## Our documentation + +This repository contains the developer documentation and related content. + +### Project Scope +The project scope has been agreed on jointly by Deutsche Telekom AG and SAP SE as contractors and the German Federal Government and the Robert-Koch-Institut as clients. The project scope might change over time as new requirements need to be included or existing ones change. We appreciate feedback to all elements of this project scope document. However, additional features or any other content changes beyond fixes to grammatical issues or typos need to be aligned on by these partners before they can be included in the document. Thank you for your understanding! +- [Corona-Warn-App - Project Scope](translations/scoping_document.de.md) _(Currently German only, English translation follows soon)_ + +## Licensing + +Copyright (c) 2020 Deutsche Telekom AG and SAP SE or an SAP affiliate company. + +Licensed under the **Apache License, Version 2.0** (the "License"); you may not use this file except in compliance with the License. + +You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0. + +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the [LICENSE](./LICENSE) for the specific language governing permissions and limitations under the License. + +## How to contribute + +Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute, our team setup, the project structure and additional details which you need to know to work with us. diff --git a/translations/README.de.md b/translations/README.de.md new file mode 100644 index 0000000..22a455d --- /dev/null +++ b/translations/README.de.md @@ -0,0 +1,44 @@ +# Corona-Warn-App + +HINWEIS: Die neueste Version der README-Datei ist auch [auf Englisch](../README.md) verfügbar. Bitte haben Sie dafür Verständnis, dass die deutsche Version möglicherweise nicht durchgängig auf dem neuesten Stand ist. + +## Über dieses Projekt +Wir entwickeln die offizielle COVID-19-App zur Kontaktfallbenachrichtigung für Deutschland, die sogenannte "Corona-Warn-App". Dieses Projekt hat zum Ziel, eine Anwendung auf der Grundlage einer Technologie mit einem dezentralisierten Ansatz zu entwickeln. Als Grundlage dienen die Protokolle [DP-3T](https://github.com/DP-3T/documents) (Decentralized Privacy-Preserving Proximity Tracing) und [TCN](https://tcn-coalition.org/) und die Spezifikationen für [Privacy-Preserving Contact Tracing](https://www.apple.com/covid19/contacttracing/) von Apple und Google. Wie DP-3T und TCN folgen auch die Apps und die Backend-Infrastruktur dem Open-Source-Prinzip - lizenziert unter [Apache 2.0 ](../LICENSE)! Die Apps (für iOS und Android) werden pseudonymisierte Daten von Mobiltelefonen in der Umgebung mit Hilfe von Bluetooth-Technologie sammeln. Die Daten werden lokal auf den einzelnen Geräten gespeichert, um so den Zugriff auf die Daten und die Kontrolle über die Daten durch Behörden oder andere Instanzen zu verhindern. Wir erfüllen die geltenden Datenschutzvorgaben und garantieren höchste IT-Sicherheitsstandards. Auf diese Weise stellen wir uns den Datenschutzbedenken der Bevölkerung und hoffen dadurch, die Nutzung der Anwendung zu steigern. + +## Wer wir sind + +Die deutsche Regierung hat SAP und die Deutsche Telekom beauftragt, die Corona-Warn-App für Deutschland als Open-Source-Software zu entwickeln. Deutsche Telekom stellt das Netzwerk und die Mobiltechnologie zur Verfügung und wird für den sicheren, skalierbaren und stabilen Betrieb des Backends der App sorgen. SAP entwickelt die App, das zugehörige Framework und die zugrundeliegende Plattform. Das bedeutet also, dass Entwicklungsteams sowohl von SAP als auch von Deutsche Telekom zu diesem Projekt beitragen. Open Source bedeutet in diesem Fall, dass wir es allen Interessierten ermöglichen und sie sogar dazu ermutigen, an dem Projekt teilzunehmen und Teil der Entwickler-Community zu werden. + +## Danksagungen + +Wir möchten allen Partnern danken, die an diesem wichtigen Projekt gleich von Beginn an beteiligt waren. Wir wären nicht da, wo wir heute sind, wenn die Partner auf europäischer und nationaler Ebene nicht bereits so große Fortschritte mit [PEPP-PT](https://www.pepp-pt.org/) erzielt hätten. Wir setzen auf einigen dieser Komponenten auf und sind sehr dankbar dafür, mit wie viel Einsatz sich alle Beteiligten für den Erfolg dieses neuen Ansatzes einsetzen. Darüber hinaus bedanken wir uns bei GitHub für die großartige Unterstützung. + +## Datenschutz + +In diesem Projekt berücksichtigen wir die Prinzipien der Datenschutzgrundverordnung (DSGVO), um die Privatsphäre der Nutzer zu schützen. Wir verarbeiten ausschließlich notwendige Daten - ausschließlich zu dem Zweck, die Nutzer wissen zu lassen, ob sie in engem Kontakt mit anderen, bereits infizierten Nutzern standen - ohne die jeweilige Identität zu offenbaren. Die Einhaltung dieser Grundsätze wird durch verschiedene Schritte sichergestellt, zum Beispiel durch die Implementierung technischer und organisatorischer Maßnahmen, die sich sorgfältig an die hohen Standards der DSGVO halten. Selbstverständlich wird die Anwendung für die Nutzer eine verständliche Datenschutzerklärung vorhalten, um so transparent und klar wie möglich zu sein. Da wir die Anwendung als Open Source-Projekt entwickeln, kann die Community dies überprüfen. Wir begrüßen Ihre Rückmeldungen! + +## Arbeitssprache + +Wir entwickeln diese Anwendung für Deutschland. Wir möchten so offen und transparent wie möglich sein, auch für Interessierte in der globalen Entwickler-Community, die nicht Deutsch sprechen. Daher wird sämtlicher Inhalt vor allem auf _Englisch_ zur Verfügung gestellt. Wir bitten auch alle Interessierten, Englisch als Arbeitssprache zu verwenden, etwa für Entwicklerkommentare im Code, für die Dokumentation oder wenn Sie uns Anfragen senden. Die Anwendung selbst, die zugehörige Dokumentation und sämtlicher Inhalt für den Endanwender werden selbstverständlich auf Deutsch (und möglicherweise auch andere Sprachen) zur Verfügung gestellt. Wir werden auch versuchen, Entwicklerdokumentation auf Deutsch zur Verfügung zu stellen, aber wir bitten um Verständnis dafür, dass es nur mit Englisch als der _Lingua Franca_ der globalen Entwickler-Community möglich sein wird, bei der Entwicklung dieser Anwendung mit höchstmöglicher Effizienz zu arbeiten. + +## Unsere Dokumentation + +Dieses Repository enthält die Entwicklerdokumentation und zugehörige Inhalte. + +### Projektumfang (Scoping-Dokument) +Der Projektumfang wurde gemeinsam von der Deutschen Telekom AG sowie der SAP SE als Auftragnehmer und der deutschen Bundesregierung sowie dem Robert-Koch-Institut als Auftraggeber festgelegt. Der Projektumfang könnte sich im Laufe der Zeit ändern, wenn neue Anforderungen einbezogen werden müssen oder wenn sich bestehende Anforderungen ändern. Wir begrüßen Rückmeldungen zu allen Bestandteilen dieses Dokuments zum Projektumfang. Allerdings müssen zusätzliche Funktionen oder andere inhaltliche Änderungen, die über das Beheben von Grammatik- oder Schreibfehlern hinausgehen, zwischen den Partnern abgestimmt werden bevor sie in das Dokument aufgenommen werden können. Vielen Dank für Ihr Verständnis! +- [Corona-Warn-App - Scoping-Dokument](scoping_document.de.md) + +## Lizenzierung + +Copyright (c) 2020 Deutsche Telekom AG und SAP SE oder ein SAP-Konzernunternehmen. + +Lizenziert unter **Apache-Lizenz, Version 2.0** (die "Lizenz"). Sie dürfen diese Datei ausschließlich im Einklang mit der Lizenz verwenden. + +Eine Kopie der Lizenz erhalten Sie unter https://www.apache.org/licenses/LICENSE-2.0. + +Sofern nicht durch anwendbares Recht gefordert oder schriftlich vereinbart, wird jede unter der Lizenz bereitgestellte Software „OHNE MÄNGELGEWÄHR“ UND OHNE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIE JEGLICHER ART bereitgestellt. Die genauen Angaben zu Genehmigungen und Einschränkungen unter der Lizenz finden Sie in der [LIZENZ](../LICENSE). + +## Informationen zur Teilnahme + +Weitere Informationen z.B. darüber, wie man das Projekt unterstützen kann, unser Team aufgebaut ist oder unsere Projektstruktur aussieht, finden Sie hier: [CONTRIBUTING.md](../CONTRIBUTING.md). \ No newline at end of file diff --git a/translations/scoping_document.de.md b/translations/scoping_document.de.md new file mode 100644 index 0000000..c784e98 --- /dev/null +++ b/translations/scoping_document.de.md @@ -0,0 +1,179 @@ +# INHALTSVERZEICHNIS +1. [EINLEITUNG](#einleitung) +2. [USER JOURNEY](#user-journey) + 1. [Beschreibung der Nutzer (Stakeholder)](#beschreibung-der-nutzer-stakeholder) + 2. [User Journey](#user-journey-1) +3. [FUNKTIONSBESCHREIBUNG](#funktionsbeschreibung) + 1. [Übersicht der Epics](#übersicht-der-epics) + 2. [Übersicht der User Stories](#übersicht-der-user-stories) + 1. [Anbahnung und Installation (Onboarding-Prozess)](#anbahnung-und-installation-onboarding-prozess) + 2. [Informationen und Instruktionen zur Nutzung der Applikation](#informationen-und-instruktionen-zur-nutzung-der-applikation) + 3. [Nutzung im Regelprozess](#nutzung-im-regelprozess) + 4. [Kontaktfall (Begegnung mit infizierter Person)](#kontaktfall-begegnung-mit-infizierter-person) + 5. [Covid-19 Testergebnismeldung](#covid-19-testergebnismeldung) + 6. [Auslösen einer Warnung](#auslösen-einer-warnung) + 7. [Parametrisierung](#parametrisierung) + 8. [Technische Unterstützung](#technische-unterstützung) + 9. [Barrierefreiheit](#barrierefreiheit) + 10. [Content Management](#content-management) + +# EINLEITUNG +Ziel der Corona-Warn-App ist es, SARS-CoV-2 Infektionsketten schnellstmöglich zu erkennen und zu durchbrechen. Nutzer sollen zuverlässig und schnell über Begegnungen mit infizierten Nutzern der App und damit mögliche Übertragungen des Virus informiert werden, damit sie sich freiwillig isolieren können, um damit zu einer Eindämmung der SARS-CoV-2 Pandemie beizutragen. + +Dieses Dokument beschreibt die funktionalen Anforderungen an die Gestaltung der App aus einer fachlichen und prozessualen Sicht. Die Beschreibung ist in der aktuellen Version inhaltlich auf das erste Release begrenzt und eine initiale Version. + +In der Gesamtplanung ist die Veröffentlichung weiterer Dokumente aus der Entwicklung vorgesehen, um frühzeitig Rückmeldungen zu erhalten und gegebenenfalls aufzunehmen. Nachfolgend werden zunächst das Release-Architektur-Dokument sowie der Backend Source Code alpha verfügbar gemacht. + +Die Definition und Gliederung der Anforderungen folgen einer nutzerzentrierten Methodik. Dabei erfolgt die Gestaltung des gesamten Prozessablaufs aus Sicht der jeweiligen Benutzers der App bzw. der im Prozess eingebundenen Stakeholder. Das Ziel ist es, die Bedürfnisse der Nutzer so abzubilden, dass eine hohe Akzeptanz erreicht wird, und die jeweiligen Funktionen intuitiv bedienbar sind. + +Anhand einer User Journey (Kundenreise) sind die Interaktionspunkte und das Erlebnis der Nutzer aufgezeigt. Die daraus entstehenden Anforderungen werden sogenannten Epics (Beschreibung einer Anforderung auf einer hohen Abstraktionsebene) zugeordnet. Die Epics beschreiben die einzelnen Kontakt-Ereignisse sowie übergreifende Funktionalitäten im gesamten Prozess, die für die Nutzung und Akzeptanz der App erforderlich sind. Aus den Epic heraus werden die detaillierten Anforderungen in Form sogenannter User Stories (eine in Alltagssprache formulierte Software-Anforderung) abgeleitet. Die einzelnen Anforderungen werden so strukturiert in den Entwicklungsprozess gebracht. + +# USER JOURNEY +_Aus Gründen der einfachen Lesbarkeit wird auf die geschlechtsspezifische Differenzierung verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für alle Geschlechter._ + +## Beschreibung der Nutzer (Stakeholder) +Folgende wesentliche Nutzer bzw. Stakeholder sind in die User Journey bzw. in den Gesamtprozess eingebunden und in ihrer Rolle beschrieben: + +#### App-Nutzer +Jeder potentielle Nutzer, der die App benutzt, um über mögliche Begegnungen mit infizierten Personen informiert zu werden und eigene Testergebnisse zu verifizieren bzw. dann alle Nutzer freiwillig und pseudonym zu warnen. + +#### Hotlines +Unterstützen die Nutzer der App in der Beantwortung von Fragestellungen zur Nutzung der App, zur Technik, zum Datenschutz und geben auf Nachfrage verhaltensbezogene Informationen sowie weitere Informationsmöglichkeiten im Kontakt- bzw. Infektionsfall weiter. +Unterstützen bei Verifikation und Freischaltung von Testergebnissen in der App für infizierte Personen und können diesen die Kontaktaufnahme mit dem zuständigen Gesundheitsamt empfehlen. + +#### RKI +Stellt epidemiologische Informationen und Handlungsempfehlungen für die Nutzer der App zur Verfügung (Content). Bestimmt die Parameter für die Messung der Kontakte (im Rahmen der technischen Möglichkeiten durch die API). +  +## User Journey +Die Nutzung der App wird aufgrund von nacheinander stattfindenden Kontakt-Ereignissen und Interaktionen des Nutzers in verschiedene Phasen eingeteilt. Zu jeder Phase sind dem Nutzer Motivationen oder Anforderungen zugeordnet, die seine Erwartungen an die Funktionsweise erfüllen und intuitiv durch den Prozess leiten. + +![Abbildung 5: User Journey](user_journey.de.png "User Journey") + +#### Phase Idee +In dieser Phase entscheidet ein Nutzer sich über die App zu informieren. Das kann über unterschiedliche Quellen erfolgen. In dieser Phase haben die Nutzer ggfs. verschiedene Fragestellungen zur Nutzung der App (Anwendung, Datenschutz, Barrierefreiheit, etc.). Diese sollen bereits vor dem Download beantwortet werden können (Hotline, Informationen auf Internetseiten RKI, BMG, App Store/Google Play Store). + +#### Phase Installation +Ein Nutzer entscheidet sich zum Download der App (App Store/Google Play Store) und wird nach der technischen Installation beim erstmaligen Öffnen der App durch eine Einführung begleitet. In der Einführungsphase erhält der App-Nutzer eine Übersicht über die Funktionsweise, Nutzungsbedingungen und Datenschutzbestimmungen sowie erforderliche Einwilligungen, Einstellungen und Benachrichtigungen. + +#### Phase Anwendung +Die Phase der Anwendung ist in vier weitere Bereiche unterteilt, in welchen der App-Nutzer unterschiedliche Bedürfnisse hat. + +1. **Hintergrund** + + Im Ruhezustand (Idle Mode) des Mobiltelefons läuft die Anwendung im Hintergrund und speichert für den App-Nutzer automatisiert und verschlüsselt die in der Nähe befindlichen Pseudo-IDs anderer App-Nutzer anhand definierter Parameter über Entfernung und Dauer des Kontaktes. In regelmässigen Abständen holt sich die App vom Server eine Liste der Pseudo-IDs der sich freiwillig infiziert gemeldeten Nutzer und vergleicht diese mit den gespeicherten Pseudo-IDs im Gerät, um einen möglichen Kontakt zu ermitteln. + +2. **Kontaktfall** + + Im festgestellten Kontaktfall zu infizierten Personen erhält der App-Nutzer jeweils eine Benachrichtigung und verhaltensbezogene Empfehlungen. Hier kann zum Beispiel die Kontaktaufnahme mit der Hausärtzin/dem Hausarzt, mit dem zuständigen Gesundheitsamt und/oder die freiwillige häusliche Isolation empfohlen werden. + +3. **Testing** + + Im Fall eines durchgeführten Tests auf eine SARS-CoV-2 Infektion kann der App-Nutzer über die App den digitalen Testinformationsprozess starten und damit über das ermittelte Testergebnis benachrichtigt werden. + +4. **Infektfall** + + Im Fall einer positiv getesteten Infektion kann ein App-Nutzer freiwillig die in seiner App gespeicherten eigenen pseudonymen Warn ID’s veröffentlichen, damit andere Personen, die die App nutzen, auf ihrem eigenen Smartphone abgleichen können, ob sie mit dem infizierten App-Nutzer in Kontakt standen. + +#### Phase Deinstallation +Ein App-Nutzer kann die App jederzeit deinstallieren. Alle in der App gespeicherten Daten werden vollständig gelöscht. + +# FUNKTIONSBESCHREIBUNG +## Übersicht der Epics +Die Funktionen der Applikation sind in Nutzer-Prozessphasen (mit direktem Bezug zur User Journey) und übergreifende Unterstützungsprozesse unterteilt. Eine Übersicht der Epics ist nachfolgend dargestellt: + +#### Nutzer-Prozessphasen +| # | Epic | Beschreibung | +|---:|--------|--------------| +| 1 | Anbahnung und Installation (Onboarding-Prozess) | Sämtliche Prozesse, die insbesondere bei erstmaliger Nutzung der Applikation erfolgen (z.B. Zustimmung Datenschutz, Sprachauswahl) +| 2 | Informationen und Instruktionen zur Nutzung der Applikation | Hilfestellungen zur Nutzung der Applikation (z.B. Benutzerhandbuch, Tutorial) sowie Informationen zum Impressum der Applikation. +| 3 | Nutzung im Regelprozess | Funktionen der Applikation im "idle mode" (z.B. Aktivierung/Deaktivierung, Anpassung von Einstellungen, Überwachung von App-Aktivität) +| 4 | Kontaktfall (Begegnung mit infizierter Person) | Beinhaltet alle Funktionen rund um Kontaktpunkte (z.B. Benachrichtigungen, Handlungsempfehlungen) +| 5 | Covid-19 Testergebnismeldung | Funktionen im Zusammenhang mit der Testergebnismeldung +| 6 | Auslösung einer Warnung | Prozess zur Auslösung einer Warnung im Falle eines positiven Testergebnisses + +#### Supportprozesse +| # | Epic | Beschreibung | +|---:|--------|--------------| +| 7 | Parametrisierung | Parameter der Kontaktpunktdefinition. +| 8 | Technische Unterstützung | Support Prozesse (z.B. Hotlines) +| 9 | Barrierefreiheit | Die Apps von Trägern öffentlicher Gewalt müssen dem Behindertengleichstellungsgesetz (BGG) nach barrierefrei sein (§ 12). Apps sollen von allen Menschen mit Behinderungen bedient werden können. +| 10 | Content Management | Zur Anpassung und Aktualisierung von Inhalten in der Applikation (Texte, Links, Hotlines etc.) + +## Übersicht der User Stories +Die Anforderungen an die Corona Warn-App, die den fachlichen Umfang der Anwendung definieren, sind nachfolgend in der üblichen Form aus Nutzersicht formuliert: + +_„Als \ möchte ich , um .“_ + +Die zugehörigen Akzeptanzkriterien ergänzen die Spezifikation der Anforderungen, indem sie Bedingungen definieren, die die Software erfüllen muss, um die Bedürfnisse der Kunden zu befriedigen. + +### Anbahnung und Installation (Onboarding-Prozess) +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E01.01 | Als App-Nutzer möchte ich beim erstmaligen Start der Applikation eine Einleitung zur Funktionsweise der Applikation erhalten (App Motivation). | 1. Einführung in die Funktionsweise der App wird bei erstmaligem Start der Applikation angezeigt.
2. Einführung in die Funktionsweise der App wird bei weiteren Startvorgängen nicht angezeigt.
3. Die erklärenden Inhalte sind in den jeweiligen Funktionsbereichen für den App-Nutzer vorhanden. +| E01.02 | Als App-Nutzer möchte ich beim erstmaligem Applikationsstart über die Nutzungsbedingungen und Datenschutzbestimmungen (Data Protection Screen) informiert werden und meine Zustimmung geben, um über den Umgang mit meinen Daten innerhalb der Anwendung aufgeklärt zu sein. | 1. Mit Nutzung der App akzeptiert der App-Nutzer die Nutzungsbedingungen und Datenschutzbestimmungen.
2. Die Nutzungsbedingungen sind innerhalb der App einsehbar.
3 Die Abfrage erfolgt nur bei der erstmaligen Nutzung. +| E01.03 | Als App-Nutzer möchte ich bei erstmaliger Nutzung der Applikation gefragt werden, ob ich der Erstellung pseudonymer IDs und deren Aussendung an Geräte in meiner Nähe durch die App zustimme, damit ich über die Funktionsweise der Applikation informiert bin. | 1. Eine Bestätigung der Erstellung pseudonymer IDs und deren Aussendung an Geräte in der Nähe durch die Applikation ist Voraussetzung für die App Nutzung.
2. Nach der erstmaligen Nutzung erfolgt die Abfrage nicht. +| E01.04 | Als App-Nutzer möchte ich bei erstmaliger Nutzung der Applikation gefragt werden, ob die Applikation auf die Bluetooth Funktion des Smartphones zugreifen darf, damit ich die Mobiltelefonseitige Nutzung der Applikation kontrollieren kann. | 1. Eine Bestätigung der Bluetooth Nutzung (BLE) erfolgt durch die Nutzung der Applikation. +| E01.05 | Als App-Nutzer möchte ich bei erstmaliger Nutzung der Applikation gefragt werden, ob die Applikation mir Benachrichtigungen schicken darf, damit in verschiedenen Situationen Push-Notifications ausgespielt werden können. | 1. Eine Abfrage zu den Benachrichtigungseinstellungen der Applikation findet vor erstmaliger Nutzung statt.
2. Nach der erstmaligen Nutzung erfolgt die Abfrage nicht. +| E01.06 | Als App-Nutzer möchte ich bei erstmaliger Nutzung der Applikation in meiner Sprache angezeigt bekommen, damit die Nutzung der App für mich verständlich ist. | 1. Erkennung der eingestellten Systemsprache wird durchgeführt
2. Wenn die erkannte Systemsprache nicht im Content hinterlegt ist, wird im Default Englisch ausgewählt.
3. In der ersten Version der App ist Mehrsprachigkeit vorgesehen. +| E01.07 | Als App-Nutzer möchte ich bereits während des Onboardings Hilfen und Einstellungen zur Barrierefreiheit bekommen, um die App nutzen zu können. | 1. Die Barrierefreiheit wird im Rahmen der Möglichkeiten der Version des jeweils hinterlegten Betriebssystems verfügbar gemacht. + +### Informationen und Instruktionen zur Nutzung der Applikation +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E02.01 | Als App-Nutzer möchte ich Zugriff auf eine FAQ Liste haben, um mir bei Fragen zur Applikation selbst weiterhelfen zu können. | 1. Ein Link auf eine Internetseite mit FAQs ist im Applikationsmenü hinterlegt. +| E02.02 | Als App-Nutzer möchte ich Zugriff auf eine Anleitung zur Applikation haben, um die Anwendung und ihre Funktionen zu verstehen. | 1. Ein Link auf eine Internetseite mit Benutzerhandbuch ist im Applikationsmenü hinterlegt. +| E02.03 | Als App-Nutzer möchte ich Zugriff auf ein Erklärvideo zur Applikation haben, um die Anwendung und ihre Funktionen zu verstehen. | 1. Ein Link auf eine Internetseite mit Erklärvideo ist im Applikationsmenü hinterlegt. +| E02.04 | Als App-Nutzer möchte ich das Impressum der Applikation einsehen können, um zu sehen, wer für Entwicklung und Inhalte der Applikation verantwortlich ist. | 1. Es gibt ein Untermenü "Impressum".
2. Das Impressum beinhaltet die üblichen Angaben zur Impressumspflicht. +| E02.05 | Als App-Nutzer möchte ich Nutzungsbedingungen und Datenschutzinformation jederzeit einsehen können. | 1. App bietet einfachen Zugriff auf Nutzungsbedingungen und Datenschutzinformation +| E02.06 | Als App-Nutzer möchte ich die verschiedenen Hotlines zu technischen, datenschutzbezogenen, gesundheitsbezogenen und psychologischen Fragestellungen sowie zur Verifikation eine Testergebnisses angezeigt bekommen, damit ich weitere Informationen erhalte oder Fragen beantwortet bekomme. | 1. Anzeige der Telefonnummern der Hotlines (für technische, datenschutzbezogene, gesundheitsbezogenen und psychologischen Fragestellungen)
2. Anzeige der zeitlichen Erreichbarkeit der Hotlines (z.B.: 24/7)
3. Telefonnummern können direkt aus der App gewählt werden. + +### Nutzung im Regelprozess +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E03.01 | Als App-Nutzer möchte ich die Applikation aktivieren und deaktivieren können, um die Funktion ein-und auszuschalten. | 1. Ein Toggle Button schaltet die Funktion (Bluetooth im Hintergrund und Hashgenerierung) ein und aus.
2. Die Konsequenzen des Ein-/Ausschaltens werden erklärt. +| E03.02 | Als App-Nutzer möchte ich die App in den "Delivery Default" zurücksetzen können, damit ich sie neu konfigurieren kann. | 1. Die App kann über eine Einstellung in den Auslieferungszustand zurückgesetzt werden, die gespeicherten Traces der letzten Tage bleiben aber erhalten. +| E03.03 | Als App-Nutzer möchte ich die Applikationseinstellungen (Zugriffsrechte, z.B. Bluetooth, Benachrichtigungen) in einem Menü anpassen können, um Funktion und Zugriffe der Applikation verwalten zu können. | 1. Ein Menü zu Applikationseinstellungen kann durch den App-Nutzer aufgerufen werden.
2. Die Benachrichtigungen können ein- und ausgeschaltet werden.
3. Die Zugriffsrechte der Applikation auf Bluetooth können durch den App-Nutzer erteilt und entzogen werden.
4. Vor Deaktivierung der Zugriffsrechte erhalte ich Informationen darüber, welche Funktionen der App dadurch nicht mehr (vollumfänglich) funktionieren + +### Kontaktfall (Begegnung mit infizierter Person) +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E04.01 | Als App-Nutzer möchte ich informiert werden, wenn eine Person, zu der ich Kontakt hatte, sich als infiziert gemeldet hat. Damit kann ich geeignete Maßnahmen treffen, um die Verbreitung des Virus zu stoppen. | 1. Eine Notifikation durch die Applikation wird an den App-Nutzer verschickt.
2. Die Notifikation informiert den App-Nutzer über eine Risikoänderung (in Abhängigkeit der zur Verfügung gestellten API-Funktion) +| E04.02 | Als App-Nutzer möchte ich im Kontaktfall Handlungsanweisungen durch die Applikation bekommen, um mein Verhalten an die Empfehlungen des RKI anzupassen. | 1. Die Notifikation führt zu hinterlegten Handlungsempfehlungen für den Kontaktfall. + +### Covid-19 Testergebnismeldung +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E05.01 | Als RKI möchte ich, dass ausschließlich positiv getestete Nutzer einmalig eine Warnung auslösen können, um Missbrauch zu vermeiden. | 1. Nur positive Tests können eine Warnung auslösen.
2. Für jeden Test kann nur einmal eine Warnung ausgelöst werden. +| E05.02 | Als App-Nutzer möchte ich im Falle eines positiven Testergebnis Informationen über die Erkrankung und nötige nächste Schritte bekommen, um mein Verhalten an die Handlungsempfehlungen des RKI anpassen zu können. | 1. Benachrichtigung über den Eingang des Testergebnisses
2. Anzeige eines Infotextes in der App mit definiertem Inhalt (z.B.: Informationen zum Ausgang des Testergebnisses, Informationen über erforderliche Maßnahmen, eine Hotline Nummer) + +### Auslösen einer Warnung +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E06.01 | Als App-Nutzer möchte ich einen von meinem Arzt oder Test-Center ausgehändigten QR Code scannen können, damit mir später das Testergebnis in der Warn-App zur Verfügung gestellt werden kann. | 1. Ein auf dem Flyer des Arztes oder Testcenters vorhandener QR Code kann mit der Warn-App gescanned werden.
2. Erklärungstext wird angezeigt. +| E06.02 | Als App-Nutzer möchte ich innerhalb der Warn-App informiert werden, sobald ein Testergebnis verfügbar ist. | 1. Der App-Nutzer erhält eine Benachrichtigung, sobald ein verifiziertes Testergebnis vorliegt.
2. Die Benachrichtigung enthält nicht das Ergebnis positiv oder negativ. +| E06.03 | Als App-Nutzer möchte ich, dass bei Vorliegen meines positiven Testergebnisses nach meiner Zustimmung die pseudonymisierten IDs, unter denen ich an den vergangenen Tagen für andere App-Nutzer sichtbar war, an den Warn Server übermittelt werden, damit Kontaktpersonen durch ihre Apps gewarnt werden können. | 1. IDs können pseudonymisiert an den Warn Server übermittelt werden.
2. Übermittlung ist nur möglich, sofern zuvor eine Verifikation erfolgreich durchgeführt wurde.
3. Übermittlung ist nur möglich, sofern der App-Nutzer vorher zugestimmt hat. +| E06.04 | Als App-Nutzer möchte ich neben dem digitalen auch einen manuellen Prozess, z.B. über ein Call-Center nutzen können, damit auch ohne einen vorhandenen QR-Code die pseudonymisierten IDs unter denen ich in den vergangenen Tagen für andere App-Nutzer sichtbar war, an den Warn Server übermittelt werden, damit Kontaktpersonen durch ihre Apps gewarnt werden können. | 1. Die zuständige Stelle kann eine TAN generieren und diese dem App-Nutzer mitteilen. (Generiert wird die TAN von einem Server, nicht durch das Call-Center selbst) +| E06.05 | Als App-Nutzer möchte ich die Möglichkeit zur Eingabe einer TAN innerhalb der App haben, damit ich die mir telefonisch mitgeteilte TAN zur Zuordnung meines Testergebnisses zu der von mir genutzten Instanz der App nutzen kann. | 1. Die Eingabe einer TAN innerhalb der App ist möglich.
2. Überprüfung und Rückmeldung, ob die eingegebene TAN korrekt war (zu prüfen, ob technisch möglich). +| E06.06 | Als App-Nutzer möchte ich, dass ich nach der Verifikation der TAN meine pseudonymen IDs freiwillig teilen und etwaige Kontaktpersonen warnen kann. | 1. IDs können pseudonymisiert an den Warn Server übermittelt werden.
2. Übermittlung ist nur möglich, sofern zuvor eine Verifikation erfolgreich durchgeführt wurde.
3. Übermittlung ist nur möglich, sofern der App-Nutzer vorher zugestimmt hat. + +### Parametrisierung +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E07.01 | Als RKI möchte ich die Parameter zur Risiko Score Bestimmung (im Rahmen der technischen Möglichkeiten durch die API) einstellen können, um stets den aktuellen Forschungsergebnissen zur Virusübertragung zu entsprechen. | 1. In Abhängigkeit von der bereitgestellten API können Schwellenwerte konfiguriert werden.
2. Die Anpassung wird auf den Endgeräten vorgenommen, ohne dass ein Update der App erforderlich ist. + +### Technische Unterstützung +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E08.01 | Als App-Nutzer möchte ich eine Hotline kontaktieren können, um technische Probleme mit der Applikation zu lösen. | 1. Telefonnummer der technischen Hotline ist in der Applikation hinterlegt. + +### Barrierefreiheit +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E09.01 | Als App-Nutzer möchte ich eine Sprachausgabe nutzen können, um die Applikation (z.B. bei fehlendem oder eingeschränktem Sehvermögen) nutzen zu können. | 1. Die Barrierefreiheit bzgl. Sprachausgabe wird im Rahmen der Möglichkeiten der Version des jeweils hinterlegten Betriebssystems verfügbar gemacht. +| E09.02 | Als App-Nutzer möchte ich gute Kontraste, veränderbare Schriftgrößen und eine gut lesbare Schriftart haben, um die Texte der Applikation gut lesen zu können. | 1. Die Barrierefreiheit bzgl. Kontraste und Schrift wird im Rahmen der Möglichkeiten der Version des jeweils hinterlegten Betriebssystems verfügbar gemacht. +| E09.03 | Als App-Nutzer möchte ich, dass mir die Inhalte in einfacher Sprache zur Verfügung gestellt werden, damit ich leicht verstehe, wie ich die App nutzen kann und warum ich es tun sollte. | 1. Die Barrierefreiheit wird im Rahmen des Content Management berücksichtigt. + +### Content Management +| # User Story ID | User Story | Akzeptanzkriterien | +|-----------------|------------|--------------------| +| E10.01 | Als RKI möchte ich die Inhalte der Applikation zentral verwalten, um Aktualisierungen von Texten, Links, Hotlines, etc. einmalig für alle Stellen in der App durchführen zu können. | 1. Das Content Management erfolgt auf Grundlage der Anforderungen des RKI
2. Der Content wird auf statische und dynamische Inhalte entsprechend der technischen Machbarkeit differenziert
3. Aktualisierungen erfolgen in der ersten Version über ein App-Update. diff --git a/translations/user_journey.de.png b/translations/user_journey.de.png new file mode 100644 index 0000000..cf7cb85 Binary files /dev/null and b/translations/user_journey.de.png differ