A Rust-based document redaction desktop application that helps you safely remove sensitive information from PDFs, Word documents, and images. Redactatron provides an intuitive graphical user interface for redacting documents with precision. I built this to explore Rust UI development and learn how redaction works—and how to design software that performs it reliably.
Redactatron uses a visual marking and rasterization approach to ensure complete removal of sensitive content:
- Load & Display: Open a PDF, Word document (.docx), or image. Word documents are automatically converted to PDF for processing using Pandoc
- Mark Redactions: Visually draw rectangles over sensitive content in the editor. You can mark multiple areas across multiple pages
- Search & Navigate: Use the search feature to find specific terms or phrases, then quickly navigate to and redact them
- Review & Edit: Delete individual redactions by right-clicking, or clear all redactions for a file
- Rasterize & Export: Convert redacted PDFs to rasterized images (high-quality PNG embedded in PDF) at your chosen DPI, ensuring content is permanently removed at the pixel level
The rasterization approach guarantees that redacted content cannot be recovered, as the sensitive areas are replaced with solid pixels rather than simply hidden.
- Multi-format Support: Redact PDFs, Word Documents, and Images
- Visual Editor: Interactive GUI to preview and mark areas for redaction
- Export Options: Export redacted documents as PDFs or rasterized PNG images
- Accurate Redaction: Completely removes sensitive content, not just obscuring it.
This is a workspace project with two main components:
-
redactor-core: Core redaction engine with document processors and exporters
- PDF processing
- Words Document processing
- Rasterized export capabilities
-
redactor-ui: Desktop GUI application built with egui
- Home page for document selection
- Visual editor for marking redaction regions
- Real-time preview with PDF and image rendering
- Pandoc: Download and install for Word Document conversion
- MiKTeX: Download and install for PDF engine (pdflatex) - required by Pandoc for converting documents to PDF
- pdfium: Download pdfium binaries and add to your system PATH
For building from source:
- Rust: Built with Version 1.90.0 Install Rust
- Cargo: Comes with Rust
- Development Tools: Review Rust documentation for this.
- Download the latest release from GitHub Releases
- Extract the executable
- Ensure the following are installed and in your system PATH:
- Pandoc
- MiKTeX (for pdflatex PDF engine)
- pdfium binaries
- Run
Redactatron.exe(Windows) or./Redactatron(macOS/Linux)
git clone https://github.com/wcagreen/redactatron.git
cd redactatronBuild the application:
# Build just the UI application
cargo build --release -p redactor-uiLaunch the GUI application:
cargo run --release -p redactor-uiThe Redactatron desktop application will open, allowing you to:
- Load a document from the Home page
- Use the visual editor to mark areas to redact
- Export your redacted document
After launching the application, you can perform the following actions:
- Load Document: Click to open a PDF or document file, or drag and drop your files into the drop zone
- Mark Redactions: Use the editor to select and mark areas to redact
- Delete Redaction: You can delete all redactions for a selected file, or hover over individual redactions and right-click to delete them
- Search Terms: Search for terms and phrases; results appear on the right side of the screen, allowing you to navigate to them quickly
- Export: Save your redacted file as either an Image or PDF, depending on the original file type
This project is licensed under the MIT License - see the LICENSE file for details.
Redactatron can integrate with the following external tools only if they are installed separately by the user:
- PDFium — required to enable PDF rendering and PDF redaction features.
- Pandoc — required to enable DOCX → PDF conversion.
- LaTeX PDF engine (such as MiKTeX) — required by Pandoc to generate PDF output (any compatible LaTeX distribution may be used).
These tools are not distributed with Redactatron. Redactatron merely invokes them if present on the system. Users must install these tools independently and are responsible for complying with their respective licenses.
If none of the above tools are installed, Redactatron will operate in image-only redaction mode, which supports redaction of image files without PDF or document conversion capabilities.
Created by William Green
Contributions are welcome! Please feel free to submit a Pull Request.
Make sure Pandoc is installed on your system:
- Windows/macOS/Linux: Download from pandoc.org/installing.html
If installed but not found, ensure it's in your system PATH or the application can locate it.
Word documents (.docx) are converted to PDF internally using Pandoc. If conversion fails:
- Verify Pandoc is properly installed and accessible from the command line
- Verify MiKTeX is installed (provides pdflatex engine required by Pandoc for PDF conversion): Download MiKTeX
- Try converting the document with Pandoc directly to ensure it's valid:
pandoc input.docx -o output.pdf - Check that the document doesn't have unusual formatting or corruption
PDF rendering depends on pdfium binaries. If PDFs fail to open:
- Verify pdfium binaries are installed and in your system PATH
- Ensure the PDF file is not corrupted by opening it in another PDF viewer
- Try with a different PDF to isolate the issue
Ensure pdfium binaries are installed:
- Download from pdfium-binaries
- Extract the binaries and add them to your system PATH
If you encounter issues, detailed logs are available to help diagnose problems:
Log File Location:
- Windows:
C:\Users\{YourUsername}\AppData\Local\redactatron\data\logs\redactor.log - macOS:
~/Library/Application Support/redactatron/logs/redactor.log - Linux:
~/.local/share/redactatron/logs/redactor.log
Or fallback location: redactor.log in your current working directory
To View Logs:
- Navigate to the log file location above
- Open
redactor.logwith any text editor - Look for error messages with timestamps to identify when issues occurred
- Share relevant log excerpts when reporting issues
The logs contain detailed information about file loading, processing, conversions, and any errors encountered during document redaction.
