This repository contains the specs for vac, a modular peer-to-peer messaging stack, with a focus on secure messaging. A detailed explanation of the vac and its design goals can be found here.
See rfc.vac.dev.
Please see 1/COSS for general guidelines and spec lifecycle.
Ensure you have the Hugo extended edition
(https://gohugo.io/getting-started/installing/), then run hugo server
.
These protocols define various components of the vac stack.
Sequence diagrams are generated using Mscgen like this: mscgen -T png -i input.msc -o output.png
. Both the source and generated image should be in source control. For ease of readability, the generated image is embedded inside the main spec document.
Alternatively, mscgenjs can be used to generate sequence diagrams (mscgenjs produces better quality figures especially concerning lines' spaces and figures' margins). Once installed, the following command can be used to generate the sequence diagrams mscgenjs -T png -i input.msc -o output.png
. More details on the installation and compilation are given in mscgenjs repository. You may try the online playground https://mscgen.js.org/ as well to get a sense of the output figures.
The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.
Site layout and process inspired by https://rfc.zeromq.org/