Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
Find a file
deeplow 41017745ec
Add greyed out document name right before '-safe.pdf'
The user is supposed to only be able to select the safe PDF extension.
In a multi-file scenario, the extension will be the same for all files.

We follow here the design document [1]. To achieve this, we needed a
QLabel right next to a QLineEdit, to give the user the illusion that
it is the same graphical object.

[1]: https://github.com/firstlookmedia/dangerzone/files/6657536/DangerZone_NA02a.pdf
2022-11-21 12:38:12 +00:00
.circleci ci: Reinstate Ubuntu Focal support 2022-11-10 16:35:48 +02:00
assets Resize screenshots 2021-11-24 16:04:06 -08:00
container Remove redundant f-strings 2022-11-10 09:59:09 +00:00
dangerzone Add greyed out document name right before '-safe.pdf' 2022-11-21 12:38:12 +00:00
dev_scripts sort imports with isort linter 2022-08-22 10:15:26 +01:00
install install: Introduce a script for installing Podman 2022-11-10 16:35:48 +02:00
share Add greyed out document name right before '-safe.pdf' 2022-11-21 12:38:12 +00:00
tests Add output_dir manipulation methods to DocumentHolder 2022-11-21 12:37:47 +00:00
.gitignore migrate to pytest & test_docs -> tests/test_docs 2022-09-13 13:07:58 +01:00
BUILD.md Align Poetry instructions across OSes 2022-11-07 12:03:24 +02:00
CHANGELOG.md Do not create outfile files when checking if writeable 2022-11-14 09:04:54 +00:00
INSTALL.md Add extra installation steps for Ubuntu Focal 2022-11-10 16:35:48 +02:00
LICENSE Remove useless files from dangerzone-converter, and move files out of separate scripts directory 2021-11-24 12:47:39 -08:00
Makefile Fix a minor typo 2022-10-27 13:44:18 +01:00
poetry.lock Update poetry.lock 2022-11-07 11:46:41 +02:00
pyproject.toml Support Python 3.10 2022-10-25 10:23:00 +01:00
README.md Copy installation instructions to source 2022-11-10 16:35:43 +02:00
RELEASE.md Copy installation instructions to source 2022-11-10 16:35:43 +02:00
setup-windows.py sort imports with isort linter 2022-08-22 10:15:26 +01:00
setup.py Add long description to setup.py 2022-10-27 14:49:25 +01:00
stdeb.cfg Remove requests dependency 2022-08-19 15:16:14 +01:00

Dangerzone

Take potentially dangerous PDFs, office documents, or images and convert them to a safe PDF.

Settings Converting

Dangerzone works like this: You give it a document that you don't know if you can trust (for example, an email attachment). Inside of a sandbox, Dangerzone converts the document to a PDF (if it isn't already one), and then converts the PDF into raw pixel data: a huge list of RGB color values for each page. Then, in a separate sandbox, Dangerzone takes this pixel data and converts it back into a PDF.

Read more about Dangerzone in the blog post Dangerzone: Working With Suspicious Documents Without Getting Hacked.

Getting started

You can also install Dangerzone for Mac using Homebrew: brew install --cask dangerzone

Some features

  • Sandboxes don't have network access, so if a malicious document can compromise one, it can't phone home
  • Dangerzone can optionally OCR the safe PDFs it creates, so it will have a text layer again
  • Dangerzone compresses the safe PDF to reduce file size
  • After converting, Dangerzone lets you open the safe PDF in the PDF viewer of your choice, which allows you to open PDFs and office docs in Dangerzone by default so you never accidentally open a dangerous document

Dangerzone can convert these types of document into safe PDFs:

  • PDF (.pdf)
  • Microsoft Word (.docx, .doc)
  • Microsoft Excel (.xlsx, .xls)
  • Microsoft PowerPoint (.pptx, .ppt)
  • ODF Text (.odt)
  • ODF Spreadsheet (.ods)
  • ODF Presentation (.odp)
  • ODF Graphics (.odg)
  • Jpeg (.jpg, .jpeg)
  • GIF (.gif)
  • PNG (.png)

Dangerzone was inspired by Qubes trusted PDF, but it works in non-Qubes operating systems. It uses containers as sandboxes instead of virtual machines (using Docker for macOS, Windows, and Debian/Ubuntu, and podman for Fedora).

Set up a development environment by following these instructions.