Scroll to navigation

PARCIMONIE(1p) User Contributed Perl Documentation PARCIMONIE(1p)


parcimonie - privacy-friendly helper to refresh a GnuPG keyring


Version 0.12.0


parcimonie [options]


parcimonie is a daemon that slowly refreshes a GnuPG public keyring from a keyserver.

Its refreshes one key at a time; between every key update, parcimonie sleeps a random amount of time, long enough for the previously used Tor circuit to expire.

This process is meant to make it hard for an attacker to correlate the multiple performed key update operations.

See the document to learn more about the threat and risk models parcimonie attempts to help coping with.


1. Configure GnuPG to be able to use a keyserver with Tor.

If you already have configured a keyserver and you run Tor or newer from Debian, then parcimonie will probably work fine and you can skip this step. Otherwise, you will probably need to replace your keyserver with the one documented below, or to enable IPv6 traffic in your Tor client (by enabling the IPv6Traffic flag for your SocksPort).

Add to ~/.gnupg/dirmngr.conf something like:

        keyserver hkp://jirk5u4osbsr34t5.onion

2. Run "parcimonie --verbose".

3. Check the output for misconfiguration or bugs.

4. Once happy, start the daemon without the --verbose option.
Note: the Debian package automatically starts the daemon with your X session.


The following command lists available options:

    parcimonie --help

Tor configuration vs. --minimum-lapse-time

In case you set the Tor MaxCircuitDirtiness setting yourself, you probably want to pass parcimonie a matching --minimum-lapse-time option so that subsequent key fetches use different Tor circuits.

Just make sure this remains true:

        minimum-lapse-time >= Tor MaxCircuitDirtiness


We recommend using hkpms; see for details. When a hkpms:// keyserver is being used, one needs to do two additional steps since gpgkeys_hkpms does not work in the torsocks wrapped environment parcimonie uses by default to run gpg.

Torify gpgkeys_hkpms

Just add the following line to gpg.conf:

    keyserver-options http-proxy=socks://

Hey, parcimonie, gpg is already torified

Pass the --gnupg-already-torified switch to the parcimonie daemon command-line. parcimonie will then rely on the keyserver-options previously added to gpg.conf, and won't attempt to torify gpg connections itself.


intrigeri <>


Copyright (C) 2010-2020 intrigeri <>


Licensed under the same terms as Perl itself.


Please report any bugs or feature requests to <>.


You can find documentation for parcimonie with the man command.

    man parcimonie

You can also look for information at:

parcimonie's homepage


2020-04-25 perl v5.30.0