Legal

Third-party licences

Deduplo stands on a lot of excellent open-source work. Every component we ship, and the licence it carries, is listed here.

Last updated: 14 September 2026


The same list, with the full licence text of each component, is available inside the application under Settings ▸ License ▸ Third-party licenses. Deduplo itself is proprietary software; the components below remain under their own terms, and nothing in our Terms of Service restricts your rights under them.

Core components

ComponentLicenceWhat it does here
Qt for Python (PySide6-Essentials)LGPL-3.0The entire user interface
shiboken6LGPL-3.0The binding layer PySide6 runs on
PillowMIT-CMUReading images, thumbnails, hashing
NumPyBSD-3-ClauseImage fingerprinting and fast matching
Send2TrashBSD-3-ClauseRecoverable deletes to the Recycle Bin / Trash
SQLCipher (via sqlcipher3-wheels)BSD-3-Clause (SQLCipher) / zlib (wrapper)Encrypting the on-disk scan cache
OpenSSL 3 (statically linked inside sqlcipher3's _sqlite3.cp3xx extension)Apache-2.0The cipher SQLCipher encrypts with
SQLite (sqlite3.dll)Public domainThe cache database format
Python (python3.dll / python3xx.dll)PSF-2.0The runtime
typing_extensionsPSF-2.0Type annotations several of the libraries above rely on
setuptoolsMITArrives with cffi, py7zr and the packager's start-up hook; Deduplo never calls it
packagingApache-2.0 / BSD-2-ClauseArrives with setuptools; Deduplo never calls it
tomliMITArrives with setuptools; Deduplo never calls it
PyYAMLMITArrives with NumPy and watchdog; Deduplo never calls it
charset-normalizerMITArrives with NumPy; Deduplo never calls it
defusedxmlPSF-2.0Safer XML parsing, reached through Pillow and openpyxl

Optional components

These enable extra formats and features. Deduplo runs without any of them, with the corresponding capability simply absent.

ComponentLicenceWhat it does here
OpenCVApache-2.0Video frames, AI-similar matching
FFmpeg (bundled inside OpenCV)LGPL-2.1Decoding the video files OpenCV opens
LibRaw (via rawpy)LGPL-2.1 / CDDL-1.0Camera RAW decoding (NEF, CR2, CR3, ARW, DNG, RAF…)
libheif + libde265 (via pi-heif)LGPL-3.0iPhone .heic / .heif photos (decode only)
psutilBSD-3-ClauseThe live CPU / RAM / disk readout during a scan
watchdogApache-2.0Real-time folder watching
tinytagMITReading audio tags
libsndfile (via SoundFile)LGPL-2.1Audio decoding for acoustic fingerprints
cffiMIT-0The bridge SoundFile calls libsndfile through
pycparserBSD-3-ClauseUsed by cffi
PDFium (via pypdfium2)BSD-3-Clause / Apache-2.0Text extraction from PDFs
python-docxMITText extraction from .docx
lxmlBSD-3-ClauseXML parsing for python-docx
openpyxlMITText extraction from .xlsx
et_xmlfileMITXML handling for openpyxl
py7zrLGPL-2.1-or-laterReading inside .7z archives
pybcjLGPL-2.1-or-laterBCJ filters inside .7z archives
pyppmdLGPL-2.1-or-laterPPMd decompression inside .7z archives
inflate64LGPL-2.1-or-laterDeflate64 decompression inside .7z and .zip archives
multivolumefileLGPL-2.1-or-laterMulti-volume .7z archives
pycryptodomexBSD / Public domainPassword-protected .7z archives
brotliMITBrotli-compressed entries inside .7z archives
texttableMITArrives with py7zr; Deduplo never calls it

Runtime libraries

Shipped beside the components above, as the compilers and interpreter they were built with require. They are not Python packages, so each is named here by its file.

LibraryLicenceWhy it is there
GNU libstdc++ (libstdc++-6.dll, MinGW-w64)GPL-3.0-or-later WITH GCC Runtime Library ExceptionThe C++ runtime libheif and libde265 were built against
GCC support library (libgcc_s_seh-1.dll)GPL-3.0-or-later WITH GCC Runtime Library ExceptionSame build, same reason
mingw-w64 winpthreads (libwinpthread-1.dll)MIT / BSD-3-ClauseSame build, same reason
Microsoft Visual C++ Runtime (VCRUNTIME140*.dll, MSVCP140*.dll)Microsoft redistributable licenceThe runtime Python and most of the wheels were built with

Typeface

The Deduplo interface and this website use Inter by Rasmus Andersson, under the SIL Open Font License 1.1.

On copyleft

Deduplo deliberately ships nothing under the plain GPL. Where a convenient library was GPL-licensed we chose the permissive or decode-only alternative instead, so that no part of this list places obligations on you as a user. The two GCC runtime libraries above carry the GCC Runtime Library Exception, which is what permits their use in a program under these terms.

LGPL components

Qt (PySide6-Essentials and shiboken6), LibRaw, libheif, libde265, libsndfile, the FFmpeg build bundled with OpenCV, and the 7z stack — py7zr, pybcj, pyppmd, inflate64 and multivolumefile — are used under the LGPL, unmodified, as separately replaceable files (shared libraries, or Python modules for the pure-Python ones). If you would like the object files needed to relink Deduplo against a modified version of any of them, write to support@deduplo.com and we will provide them.

Corrections

If you believe a component is missing from this page or attributed incorrectly, please tell us at support@deduplo.com and we will fix it.