Skip to main content


How to Contribute

Get in touch with us by joining our Discord, opening a thread in our forum, or opening issues / PRs on GitHub.

Also, see our Current Job Openings, and the Waku contribute page.

What to Contribute

We are interested in both research and code contributions.

For research contributions, see our open research problems page, or browse our research areas.

For code contributions, see our "good first issue" lists for various Vac related code bases:

Contribute Pseudonymously

We welcome everyone to contribute to our projects by submitting an issue or a pull request to any of the repository hosted in our Vac GitHub page.

We consider and encourage anonymous contributions!

For this reason, we collect some advice on how to contribute pseudonymously to Vac.

Setting-up a new Github account

Having a GitHub account will enormously simplify your contribution process, since you will be able to open issues and PRs directly in the repository of your interest and interact with other contributors.

We acknowledge that this implies that GitHub, in order to provide you its services, needs to process some (potentially sensitive) information about you, like your IP address, e-mail address, browser configuration, cookies, and so on (for a complete list see here).

To mitigate leakage of such potentially sensitive information, you might:

  • use a VPN or TOR;
  • register a new dedicated e-mail address with a privacy-focused provider (e.g., Proton)
  • register a new GitHub account with such dedicated e-mail address;
  • eventually setup 2FA using hardware keys or an open source authenticator app that does not collect personal information (e.g., andOTP for Android and Tofu for iOS);
  • generate a new and dedicated public key to sign commits with the newly created account;

Be aware of device fingerprinting! To mitigate this, you could:

Contribute by e-mail

If you are not interested in setting up a dedicated GitHub account or you plan to contribute occasionally, you can send us your commits in the form of mail patches.

After cloning the repository of your interest, remember to run

git config "Anonymous"
git config

to override the username and mail address used in local commits to the repository.

If you plan to contribute to a specific branch <branch>, we suggest you to create and locally work on a new branch <new_branch> based on it, i.e.

git checkout <branch>
git branch <new_branch>
git checkout <new_branch>

Once your local contribution is ready to be published, run

git format-patch <branch> -o <folder>

to store in <folder> all patch files corresponding to your commits that will update <branch> to the latest state of <new_branch>.

Once done, send us an email to providing as

  • object: the repository name you have worked on and the commit hash at the time of your local branch creation;
  • body message: a short description of your contribution;
  • attachments: all .patch files in <folder>.

Note that we automatically discard e-mails containing one or more attachments which do not have a .patch extension.

Once received, we will review your contribution and eventually create a pull request on your behalf.

E-Mail Encryption

Our e-mail address is based on Proton services.

When you write us from a (dedicated) Proton e-mail address, your messages and attachments will be automatically end-to-end encrypted using PGP.

If you don't have a Proton e-mail address, you can directly encrypt the contents of your message using our PGP public key:

Version: ProtonMail


This public key can be also downloaded here, by using Proton's public APIs.

Since a bad encryption will result in our impossibility to access your contribution, we invite you to check the official documentation of your e-mail client or provider in order to correctly setup the appropriate PGP keys and automate message encryption and decryption.