billylo1 / covidpass

Web app for adding Ontario vaccination records to Apple Wallet (forked from covidpass in EU)
https://grassroots.vaccine-ontario.ca
MIT License
79 stars 12 forks source link

Grassroots

This web-based tool allows you to add your Ontario Vaccination Receipt as a pass into your Apple Wallet on iOS in a privacy-respecting way. It achieves this without sending your data to a server and instead uses a hashed representation for the signing step.

Here is a demo

Quick start

Debug the web app

yarn install
yarn dev

Run the Docker container

docker build . -t covidpass -t gcr.io/broadcast2patients/covidpass
docker run --rm -t -i -p 3000:3000 covidpass

Integration with other repos required

setup.md has the details on how to bring the components together.

FAQ

I do not want to trust a third party with my vaccination data, does this tool respect my privacy?

Processing of your data happens entirely in your browser and only a hashed representation is sent to the server for the signing step. For more details of this, please see https://toronto.ctvnews.ca/video?clipId=2294461

How do I make sure that nobody can access my vaccination pass from the lock screen (iOS)?

Navigate to the "TouchID & Code" or "FaceID & Code" or just "Code" section in the Settings and switch the toggle to off for Wallet in the section "Allow access from the lock screen". Also see this official guide from Apple.

Using your own Apple Developer Certificate (if you would like to fork this project and run it yourself)

Get your certificate

Run the API locally

A description of how you can use your certificate locally with the API will be provided in the readme of the CovidPass API. To connect the web app to your local server, you have to set the API_BASE_URL environment variable accordingly.

Explanation of the process

The whole process of generating the pass file happens locally in your browser. For the signing step, a hashed representation of your data is sent to the server.

First, the following steps happen locally in your browser:

Second, the following steps happen on the server:

Finally, the following steps happen locally in your browser:

Logging

Credits

The idea for this web app originated from the solution of an Austrian web developer, which only works for Austrian certificates at the moment.

The main codebase is forked from covidpass and added Ontario specifcs.

Contribute

Contributions to this project is welcome. Feel free to leave your suggestions, issues or pull requests.