Document X-Ray is licensed under the GNU Affero General Public License, version 3. You are entitled to the complete source of the version you are talking to right now, and here it is.
44 files, 315 KB of source, packaged from the running instance when you click — so it always matches what is deployed.
Two reasons, and the first is simply the law. Document X-Ray is built on PyMuPDF, which is AGPL-licensed. Running AGPL software as a network service obliges the operator to offer its source to the people using it. We would rather do that properly than pretend the obligation is unclear.
The second reason is that it makes the product more trustworthy, not less. This is a security tool whose whole claim is that it sees what other scanners miss. Every sentence on this site describes something you can go and read.
Run it, study it, change it, and share it, including commercially. The one condition that matters: if you distribute a modified version, or run one as a network service of your own, you must offer your users the source of your version under the same licence. The full terms are in the licence text, which is the authoritative document — this paragraph is a summary, not a substitute.
The scanner, the web application, the templates and styling, the sample generators
and the two test suites. Not included: the Python virtual environment, which you
rebuild from requirements.txt; generated sample documents and the
landing-page assets, which the included scripts produce; and the
data directory, which holds the audit log and contact submissions and
is neither source nor anybody else's business.
| Component | Licence | Used for |
|---|---|---|
| PyMuPDF / MuPDF | AGPL-3.0 | Rendering pages and reading the PDF structure |
| Flask | BSD-3-Clause | The web application |
| Werkzeug, Jinja2, MarkupSafe, Click, itsdangerous | BSD-3-Clause | Flask's dependencies |
| Python standard library | PSF | DOCX and XLSX scanning, archiving, everything else |
Nothing here is locked to our servers. Unpack the archive, install the requirements, and run it on your own machine or inside your own network — the scanner opens no network connection at all. That is the supported way to use it on confidential documents.