Malte Meiboom 94c94d1fce Upgrade dependencies
- Upgrade Sequoia PGP to 2.4.0
- Remove deprecated `sequoia_wot::CertSynopsis::userids()` and replace
  with `self_signed_userids()`.
- Add `lettre` as dependency for its SMTP functionality.
2026-07-03 21:52:26 +02:00
2026-06-27 13:11:13 +02:00
2026-07-03 21:52:26 +02:00
2025-11-06 11:38:20 +01:00
2026-06-10 15:25:59 +02:00
2026-06-03 14:38:35 +02:00
2026-07-03 21:52:26 +02:00
2026-07-03 21:52:26 +02:00
2025-12-03 20:15:32 +01:00
2026-07-01 11:58:21 +02:00

Husk

Husk is a pass-through solution for automatic OpenPGP encryption.

Husk is an email filter (milter) for MTAs which encrypts emails while they pass through it. It facilitates Web-of-Trust technologies to use decentralized and federated certificate authorities as sources for authenticated OpenPGP certificates. It aims to reduce the amount of administrative effort of obtaining and keeping them up to date by establishing narrow, focused trust delegations. Husk can be used to encrypt emails for services which cannot encrypt on their own like notification systems or issue trackers, or being used at the end of transport to implement zero-access encryption (for email at rest).

Husk is written in Rust and uses Sequoia PGP for encryption and certificate handling.

Status

Milestone 4 is reached and Husk gains some new features:

  • Husk will wrap an email it encrypts into a fitting mime structure so that MTUs (Mail user agent, like Thunderbird) can display the message properly.
  • Husk now can deal which attachments.
  • Header protection will be used with encrypted emails.
  • Husk can sign messages if you provide it with an appropriate key.
  • Hush can now send itself into the background. It now understands start, stop and status.
  • When building Husk from source, files for shell completion are generated.
  • When listing introducers their associated domains are also displayed.

Please refer to the documentation for a full list of all features and their usage.

Husk can now be used safely for pass-through mail encryption, but:

As Husk only encrypts if an authenticated certificate is available, emails with more than one recipient are only encrypted if there are certificates for all recipients - otherwise the mail will not be changed. That means that even if a certificate is available for a certain recipient, it might not be used.

This behavior will be improved in milestone 5.

Documentation

The documentation (with install instructions) can be found here.

Website

This project has a website with more background information.

Funding

This project is funded through the NGI0 Commons Fund, a fund established by NLnet.

NLnet NLnet

License

Husk is licensed under AGPL 3.0 - for details read the included license.txt file or find it online.

Languages
Rust 90.5%
Shell 9.5%