Introducing the PaperAge Project
PaperAge is an innovative tool designed to create easy and secure paper backups of important, small-sized secrets using the Age encryption format. The project is a go-to solution for anyone seeking to safely store sensitive information in a physical form without compromising on security.
Key Features
PaperAge is packed with user-friendly features designed to ensure ease of use and robust security:
- Versatile Input Options: Users can encrypt data by providing input either via a file or through the standard input.
- Strong Passphrase Encryption: The input data is encrypted using a passphrase, enhancing security.
- Digital-to-Physical Transition: After encryption, a PDF is generated containing a QR code of the encrypted data, which can be printed.
- Multiple Paper Sizes Supported: The application supports A4 as well as letter paper sizes.
- Optimized QR Error Correction: The QR code is designed to allow more error correction, thereby enhancing reliability.
- Secure Printing: The passphrase is not printed on the PDF, making it safe to use on less secure printers, such as public or workplace printers.
- Simple Recovery: To access the backed-up information, any QR code scanner and an Age implementation can be used, meaning PaperAge itself is not necessary for data recovery.
Limitations
There are a couple of constraints associated with using PaperAge:
- Size Restriction: The tool accommodates input sizes up to approximately 1.9 KiB since QR codes have their payload size limitations.
- Encryption Method: Currently, only passphrase-based encryption is supported, which might not suit all use cases.
Potential Uses
PaperAge is ideal for several scenarios where information security is paramount:
- Securing Backup Codes: For example, keeping two-factor authentication (TFA) recovery codes in a secure location.
- Secure Public Printing: Users can safely print backups using public or shared printers by manually adding the passphrase later.
- Ease of Use against Basic Threats: Even if the passphrase is accessible, the need for scanning and decrypting adds a layer of security against casual intruders.
However, for those requiring protection against highly sophisticated threats or state-level adversaries, additional security measures are recommended.
Example and Functionality
Using PaperAge is straightforward, with instructions readily available for those interested in test-driving its capabilities. An example output PDF displays how the encrypted data and QR code appear when printed.
The tool is versatile, with installation options for macOS, Linux, and Windows platforms. Whether using Homebrew, downloading binaries, or through Cargo with Rust pre-installed, PaperAge offers a straightforward setup.
Customization and Advanced Features
Through various command-line arguments, users can customize PDF output, from editing the label under the QR code to choosing between page sizes. Additional options allow users to compress input data, thus maximizing the amount of information that can be encrypted and printed.
Scanning and Decoding
For users wishing to decode their QR codes, built-in features on smartphones facilitate the process, allowing quick access to stored secrets.
Active Development and Community
PaperAge is actively developed, with releases managed directly through GitHub, supported by a robust testing and release process. Contributions from the open-source community enrich the project, and the software is distributed under the MIT License, ensuring widespread accessibility and continued innovation.
In summary, PaperAge bridges the gap between digital data security and physical backups, offering a practical tool for protecting critical information without compromising on user-friendliness or security.