I’m writing a user guide for the Sequoia-PGP command line tool sq, and would like feedback. Sequoia-PGP is an implementation of the OpenPGP specification in the Rust programming language. It’s highly interoperable with other implementations, including GnuPG.

The guide is still very much incomplete and probably wrong in all sorts of ways. However, I’d welcome feedback. CI renders and publishes the guide as HTML and PDF.

The source is on gitlab.com and I’d welcome issues and merge requests for anything you find that needs improving.

The current table of contents:

  • Document status
  • Prelude: quick start
  • Introduction
    • What are Sequoia-PGP and sq?
    • Why use OpenPGP?
    • Who this guide is aimed for?
    • Scope of this guide
    • Structure of the guide
  • Installing sq
    • On various platforms
    • From source code on all platforms
  • On public key cryptography
    • Symmetric cryptography
    • Limitations of cryptography
  • General principles of the sq interface
  • Managing one’s own key
    • Why use keys and certificates?
    • Types of keys and algorithms
    • Why use subkeys?
    • Why would keys expire automatically?
    • Generating a key
    • Extracting a certificate from a key
    • Sharing one’s certificate with others
  • Using digital signatures
    • Why use signatures?
    • Making a signature
    • Verifying a signature
    • Trusting a certificate
  • Using encryption
    • Encrypting a file
    • Decrypting a file
  • Managing digital keys and certificates on a community level
  • Appendix: How to…?
    • How to verify that a downloaded file is the one its author made
    • How to sign a file to share with others
    • How to decrypt a message from someone else
    • How to encrypt a message for someone else
    • How to generate a key, with subkeys, and a certificate
    • How to distribute certificate to others
    • How to certify someone else’s user id
  • Appendix: Switching from GnuPG to Sequoia-PGP
    • Generate a key and certificate
    • Export certificate into a file
    • Import a certificate into your keyring
    • List all certificates in your keyring
    • List all private keys in your keyring
    • Sign a file
    • Check a file’s signature
    • Sign a file—detached signature
    • Check a file’s detached signature
    • Encrypt a file
    • Decrypt a file
  • Appendix: Glossary
  • Appendix: References
  • Appendix: Copyright license