1.0 KiB
/* ANCHOR: all */
Git Repository Initialization
This document explains how a git repository should be set up in order to guarantee authenticity and non-repudiation of data.
Git is used because it permits cryptographic singing of commits using PGP, as well as historical changes to a set of data.
Procedure: Setting up Repository
// ANCHOR: procedure
-
Create a git repository using a git system such as Forjego, GitLab, GitHub etc.
-
Set appropriate permissions to limit who can write to the repository.
-
main
branch should be write protected so that merges to that branch can only be done if at least 2 approvals are present- The organization may choose to require more approvals based on risk tolerance and operational capacity
-
The merges should be done via CLI signed commits
-
Require that all commits are signed using well known PGP keys
-
-
Optionally set up a chron job that periodically pulls the data from the repository as a backup. // ANCHOR_END: procedure /* ANCHOR_END: all */