invisible-watermark
ShieldMntinvisible-watermark is a Python library and command-line tool that embeds and decodes invisible watermarks in images using frequency-domain methods (DWT-DCT and DWT-DCT-SVD) or the RivaGAN neural encoder. The fast default method suits embedding on the fly, while the other two are several times slower on a CPU. The maintainers describe it as experimental and warn that decoding is not guaranteed.
Tagged self-attested: decoding needs no key, but nothing ties the mark to whoever embedded it. Last pushed in 2023.
Openness
5 medium confidence- license
- MIT(OSI)
- source
- public
- core features withheld
- no
The whole library is MIT-licensed in a small public repository, and nothing in its tree sits under other terms.
- https://raw.githubusercontent.com/ShieldMnt/invisible-watermark/main/LICENSE recorded 2026-09-26
"MIT License Copyright (c) 2021 ShieldMnt"
- https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShieldMnt%2Finvisible-watermark recorded 2026-09-26
ShieldMnt/invisible-watermark: license mit, archived false, fork false, pushed 2023-09-23
- https://ungh.cc/repos/ShieldMnt/invisible-watermark/files/main recorded 2026-09-26
Full file listing, 16 paths: the library, tests and README; no ee/, enterprise/, commercial/ or proprietary/ directory
Adoption
3 medium confidencePyPI downloads of invisible-watermark measure the package. They count installs, including those pulled in by other software, not checks for a watermark.
- https://pypistats.org/api/packages/invisible-watermark/recent recorded 2026-09-26
last_month downloads = 120,631 for invisible-watermark
Capability
3 low confidenceAnyone can decode the mark with the same open library, without a key, so the check does not depend on the embedder. The maintainers say decoding can fail even on untouched images, and the mark proves nothing about who placed it, two steps below NVIDIA's hardware attestation.
- https://raw.githubusercontent.com/ShieldMnt/invisible-watermark/main/README.md recorded 2026-09-26
default dwtDct "is fast and suitable for on-the-fly embedding"; "The algorithm cannot guarantee to decode the original watermarks 100% accurately even though we don't apply any attack"
Verified 2026-09-26