From d7614a7b45e5840f1faac8bdc499cc6372d63cbf Mon Sep 17 00:00:00 2001 From: test-user Date: Wed, 25 Mar 2026 11:23:28 -0700 Subject: [PATCH] Add legal disclaimer, fix attribution, expand credits - Add disclaimer section to README (research/education purposes) - Remove incorrect Apache-2.0 license claim from ctrlregen docstrings - Expand Credits with CtrlRegen and NeuralBleach attribution - Add license info (MIT) for GeminiWatermarkTool and NeuralBleach --- README.md | 18 ++++++++++++++++-- .../noai/ctrlregen/__init__.py | 2 +- .../noai/ctrlregen/color.py | 2 +- .../noai/ctrlregen/engine.py | 2 +- .../noai/ctrlregen/ip_adapter.py | 2 +- .../noai/ctrlregen/pipeline.py | 2 +- 6 files changed, 21 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b35128e..9aca63c 100644 --- a/README.md +++ b/README.md @@ -139,8 +139,22 @@ if has_ai_metadata(Path("image.png")): ## Credits -- [noai-watermark](https://github.com/mertizci/noai-watermark) by mertizci — invisible watermark removal -- [GeminiWatermarkTool](https://github.com/allenk/GeminiWatermarkTool) by Allen Kuo — visible watermark removal algorithm +- [noai-watermark](https://github.com/mertizci/noai-watermark) by mertizci — invisible watermark removal engine +- [GeminiWatermarkTool](https://github.com/allenk/GeminiWatermarkTool) by Allen Kuo (MIT) — visible watermark removal algorithm +- [CtrlRegen](https://github.com/yepengliu/CtrlRegen) by Liu et al. (ICLR 2025) — controllable regeneration pipeline +- [NeuralBleach](https://github.com/...) (MIT) — analog humanizer technique + +## ⚠️ Disclaimer + +This tool is provided for **educational and research purposes only**. + +Removing AI watermarks to misrepresent AI-generated content as human-created +may violate applicable laws, including the U.S. Digital Millennium Copyright Act +(DMCA) and the COPIED Act. Users are solely responsible for ensuring their use +complies with all applicable laws and platform terms of service. + +The authors do not condone the use of this tool for deception, fraud, +or any activity that violates applicable laws or regulations. ## License diff --git a/src/remove_ai_watermarks/noai/ctrlregen/__init__.py b/src/remove_ai_watermarks/noai/ctrlregen/__init__.py index a71c942..cee7e69 100644 --- a/src/remove_ai_watermarks/noai/ctrlregen/__init__.py +++ b/src/remove_ai_watermarks/noai/ctrlregen/__init__.py @@ -8,7 +8,7 @@ and a DINOv2-based IP Adapter for semantic guidance to regenerate watermarked images from partially noised latents. Attribution: - Based on https://github.com/yepengliu/CtrlRegen (Apache-2.0). + Based on https://github.com/yepengliu/CtrlRegen . """ from __future__ import annotations diff --git a/src/remove_ai_watermarks/noai/ctrlregen/color.py b/src/remove_ai_watermarks/noai/ctrlregen/color.py index 25f9199..53a5630 100644 --- a/src/remove_ai_watermarks/noai/ctrlregen/color.py +++ b/src/remove_ai_watermarks/noai/ctrlregen/color.py @@ -5,7 +5,7 @@ color shifts. This module uses histogram-based color transfer to align the regenerated image's color distribution back to the original. Attribution: - Adapted from https://github.com/yepengliu/CtrlRegen (Apache-2.0). + Adapted from https://github.com/yepengliu/CtrlRegen . """ from __future__ import annotations diff --git a/src/remove_ai_watermarks/noai/ctrlregen/engine.py b/src/remove_ai_watermarks/noai/ctrlregen/engine.py index 3e4f8d0..538a7d6 100644 --- a/src/remove_ai_watermarks/noai/ctrlregen/engine.py +++ b/src/remove_ai_watermarks/noai/ctrlregen/engine.py @@ -5,7 +5,7 @@ canny edges) and a DINOv2-based IP Adapter (semantic control), then runs controllable regeneration with optional color matching. Attribution: - Based on https://github.com/yepengliu/CtrlRegen (Apache-2.0). + Based on https://github.com/yepengliu/CtrlRegen . """ from __future__ import annotations diff --git a/src/remove_ai_watermarks/noai/ctrlregen/ip_adapter.py b/src/remove_ai_watermarks/noai/ctrlregen/ip_adapter.py index 6f787b9..48ecf39 100644 --- a/src/remove_ai_watermarks/noai/ctrlregen/ip_adapter.py +++ b/src/remove_ai_watermarks/noai/ctrlregen/ip_adapter.py @@ -6,7 +6,7 @@ semantic features. This mixin provides ``load_ctrlregen_ip_adapter`` which handles the custom weight format and encoder swap. Attribution: - Adapted from https://github.com/yepengliu/CtrlRegen (Apache-2.0). + Adapted from https://github.com/yepengliu/CtrlRegen . """ from __future__ import annotations diff --git a/src/remove_ai_watermarks/noai/ctrlregen/pipeline.py b/src/remove_ai_watermarks/noai/ctrlregen/pipeline.py index 203e0ca..48ba676 100644 --- a/src/remove_ai_watermarks/noai/ctrlregen/pipeline.py +++ b/src/remove_ai_watermarks/noai/ctrlregen/pipeline.py @@ -12,7 +12,7 @@ default implementation then uses ``hidden_states[-2]`` from DINOv2, which is exactly what the projection was trained on. Attribution: - Adapted from https://github.com/yepengliu/CtrlRegen (Apache-2.0). + Adapted from https://github.com/yepengliu/CtrlRegen . """ from __future__ import annotations