About • Development • Documentation • Support • Contribute • Contributors • Licensing Assumptions Testing & Status
This repository contains the source code of the EU Digital COVID Certificate Certlogic for iOS.
The Digital COVID Certificate (DCC) allows to determine whether a person is deemed fit-for-travel into a country-of-arrival (CoA) based on their vaccination, test, and recovery status. To make such determinations, business (or validation, or verification) rules have to be implemented in verifier and wallet apps.
This module allows integrating the certlogic in iOS apps.
This repository contains a framework to implement in verifier apps (and backends) using a CertLogicEngine. It explains how to do that in a way that makes these rules interchangeable across implementors. The advantage of this approach is that it ultimately allows citizens to check their fit-for-travel status into an intended CoA ahead of travel, against the actual rules.
This can be achieved by adhering to a common, and testable and verifiable way of defining, and executing rules. The interchangeable rules are uploaded to, and can be downloaded from the EU Digital COVID Certificate Gateway (DGCG) - more info can be found here.
An example of a rule can be found here.
This work is a result of work done by the EU Taskforce Business Rules, and described in this document. The (JSON Schema) technical specification for the EU DCC can be found here.
This library automaticaly added in dependencies and downloading by XCode Swift Package Manager
if you use Swift Package Manager add the following in dependencies:
dependencies: [
.package(
url: "https://github.com/eu-digital-green-certificates/dgc-certlogic-ios", from: "1.0.0"
)
]
if you want to use CertLogic as XCode project please use script for generate certlogic.xcodeproj and add this project directly
generate-xcodeproj.sh
Various code in this repo assumes that you've cloned the following two repos right next to where this repo's cloned:
- If you found any problems, please create an Issue.
- Current status: Work-In-Progress.
- Documentation.
- JsonLogic: documentation and code relating to JsonLogic.
- SwiftyJSON: documentation and code relating to SwiftyJSON library.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
Issues | |
Other requests |
Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.
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.
Copyright (C) 2021 T-Systems International GmbH and all other contributors
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 for the specific language governing permissions and limitations under the License.