SafeTogether Protocols and Architectures

Committee Draft,

This version:
https://safe-together.github.io/specification/protocols/
Issue Tracking:
GitHub
Editor:
(g0v-it core team)

Abstract

This document is a high level description and reference to protocolos and architectures used in SafeTogether Applications. Anyone can take part in the editing process.

Status of This Document

This document is an incomplete draft. The sections that have been incorporated have been reviewed following the SafeTogether [Process]. However, the information in this document is still subject to change.

You are invited to contribute any feedback, comments, or questions you might have.

Contributors

Many people contributed to this specification; here is an incomplete list (please contact editor to add your name in this list):

Many thanks to all contributors in GitHub

1. Tracing System

These documents SHOLUD be taken into consideration for tracing domain :

**Note that DP-3T is not PEEP-PT**

Note: to say that a standard/protocol/specification must be taken into consideration, does not means that you have to adopt it, but it states that you know it and you are able to describe why you adopt it or not.

The Tracing reference application is made by the Covid Community Alert Team, the source code is available with open source license.

The architecture and the protocols for the Covid Community Alert reference application is described in the project documentation

Here are some protocol interactions:

2. Quarantine System

The Quarantine reference implementation is made by Keyless team using its zero knowledge biometric authentication see keyless resources

The source repository with Free Open Source License is available on request contacting covid@keyless.io.

3. Shielding System

The Shielding system adopts following standards and frameworks:

The Shielding reference implementation is made by g0v.it team using the DIZME platform kindly provided by Infocert

The architecture and the protocols for Shielding Reference application is described in the Shielding Project repository documentation

The main components of the Shielding System are summarized in following picture:

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[ARIES]
Hyperledger Aries. URL: https://github.com/hyperledger/aries
[INDY]
Manu Sporny; Dave Longley; David Chadwick. hyperledger/indy-sdk repository. URL: https://github.com/hyperledger/indy-sdk
[Process]
SafeTogether Process Panel. The SafeTogether Process. URL: https://safe-together.github.io/specification/process
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[verifiableCredentials]
Manu Sporny; Dave Longley; David Chadwick. Verifiable Credentials Data Model 1.0. URL: https://www.w3.org/TR/vc-data-model/