DotScramble
Leistungsstarkes Tool zum Schutz der Bildprivatsphäre
🔐 DotScramble
Advanced Image Privacy Studio
A powerful, modular image privacy tool with AI evasion, face detection, multiple effects, batch processing, and real-time preview — built on PySide6.
Quick Start • Features • AI Evasion • Usage • Installation • Contributing
🚀 Quick Start
No Python installation required! Download and run the standalone executable.
🐧 Linux
Note: Text detection requires Tesseract OCR. Without it, you'll see a warning but all other features work normally. |
🔏 Security & Integrity Verification
All release binaries are signed with GPG. You can verify authenticity before running anything.
🔑 Step-by-step verification guide
1. Import the signing public key
# Option A — from the release assets (download public_key.asc first)
gpg --import public_key.asc
# Option B — from Ubuntu Keyserver
gpg --keyserver keyserver.ubuntu.com --recv-keys 0D9B71AF1791DA362. Verify the key fingerprint
Key ID : 0D9B71AF1791DA36
Fingerprint: 7D06 4BC6 C9E2 34B8 948D D12D 0D9B 71AF 1791 DA36
UID : FreeRave <kareem209907@gmail.com>gpg --fingerprint 0D9B71AF1791DA363. Verify a release binary
# Verify AppImage
gpg --verify DotScramble-Linux-x86_64.AppImage.asc DotScramble-Linux-x86_64.AppImage
# Verify .deb
gpg --verify DotScramble-Linux-x86_64.deb.asc DotScramble-Linux-x86_64.debA Good signature message confirms the file is authentic and unmodified. ✅
4. Verify SHA-256 checksums
# Download SHA256SUMS from the release, then:
sha256sum -c SHA256SUMS✨ Features
🛡️ Privacy & AI Evasion (New in v1.4.0)
🎯 Detection Modes
🌍 Localization & UI
|
🎨 Privacy Effects
💎 Core Capabilities
|
💎 Advanced Capabilities
| Feature | Description |
|---|---|
| 🤖 AI Evasion | SPSA adversarial perturbations — defeats embedding-based face recognition |
| ⚡ Real-time Preview | See effects instantly as you adjust parameters |
| 📦 Batch Processing | Process hundreds of images automatically |
| ↶↷ Undo/Redo | Full history management with keyboard shortcuts |
| 💾 Presets System | Save and load your favorite effect configurations |
| 🔍 Comparison View | Side-by-side before/after comparison |
| ⌨️ Keyboard Shortcuts | Lightning-fast workflow with hotkeys |
| 🎚️ Opacity Control | Blend effects with original image |
| 🔄 Smart Auto-Update | Cryptographically verified background updates |
🤖 AI Evasion System
New in v1.4.0 — blurring a face is no longer enough.
Modern AI face recognition systems work on mathematical feature vectors, not visual legibility. A face blurred enough to fool a human eye can still produce a recognizable embedding inside a convolutional neural network.
DotScramble's AI Evasion System applies adversarial perturbations — mathematically-optimized noise patterns that corrupt these feature vectors — using SPSA (Simultaneous Perturbation Stochastic Approximation), a black-box optimization algorithm that requires no access to the target model's weights or gradients.
Original → Adversarial perturbation (SPSA) → Visual blur → EXIF strip → Protected image
Evasion Strength Presets
| Preset | ε value | Visual impact | Evasion strength |
|---|---|---|---|
| Subtle | 0.03 | Nearly invisible | Moderate |
| Balanced (default) | 0.05 | Very subtle grain | Good |
| Maximum | 0.12 | Visible texture | Very strong |
Benchmark Results (LFW dataset, 200 images)
| Mode | AI Match Rate | Processing time |
|---|---|---|
| No effect | 98.5% | — |
| Blur only | 61.3% | 12ms |
| Blur + AI Evasion (Balanced) | 8.9% | ~92s |
⚠️ Note: Export as PNG to preserve adversarial perturbations. JPEG compression partially degrades them. The app warns you if you attempt JPEG export with evasion enabled.
📖 Usage
Basic Workflow
graph LR
A[📁 Load Image] --> B[🎯 Select Mode]
B --> C[🎨 Choose Effect]
C --> D[🤖 Enable AI Evasion?]
D --> E[⚙️ Adjust Settings]
E --> F[✨ Apply Effect]
F --> G[💾 Save as PNG]🤖 AI Evasion Mode
- Load your image and select Face Detection mode
- Toggle "🤖 AI Evasion" in the processing panel
- Choose your evasion preset (Subtle / Balanced / Maximum)
- Click "✨ Apply Effect" — a progress bar shows optimization progress
- Save as PNG (not JPEG) to preserve the adversarial perturbations
📷 Manual Selection Mode
- Select "✏️ Manual Selection" from detection modes
- Click and drag on the image to draw rectangles
- Create multiple regions as needed
- Click "✨ Apply Effect" to process all selected areas
- Use "🗑️ Clear Selections" to reset and start over
⚡ Smart Settings
Auto-Save: Changing a slider automatically saves that value for next time.
Themes: Go to View → Themes to change the app look (16 themes available).
Language: Go to View → Language to switch between English and Arabic (full RTL support).
📦 Batch Processing
- Click "📦 Batch Process" or press
Ctrl+B - Select multiple images from your folders
- Choose output directory for processed images
- Configure detection mode and effect settings
- Click Start and let it run automatically
💾 Presets Management
- Configure your perfect settings (effect, strength, opacity, etc.)
- Go to Menu → Presets → Save Current Settings
- Name your preset (e.g., "Face Blur Strong", "Plate Pixelate")
- Load anytime for consistent, repeatable results
⌨️ Keyboard Shortcuts
| Shortcut | Action | Shortcut | Action |
|---|---|---|---|
Ctrl+O | Open Image | Ctrl+S | Save Result |
Ctrl+Z | Undo | Ctrl+Y | Redo |
Ctrl+P | Apply Effect | Ctrl+D | Clear Selections |
Ctrl+B | Batch Process | Ctrl+Q | Quit Application |
🎚️ Effect Parameters
🌫️ Blur Strength
|
🔲 Pixel Block Size
|
🤖 Evasion Strength
|
💻 Installation
Option 1: Standalone Executable (Recommended)
No dependencies required! Download from the Releases Page.
Option 2: From Source
Click to expand installation steps
Prerequisites
- Python 3.10 or higher
- pip package manager
Steps
# Clone the repository
git clone https://github.com/kareem2099/DotScramble.git
cd DotScramble
# Create a virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# Install dependencies
pip install -r requirements.txt
# Run the application
python src/main.pyCore Dependencies
PySide6 — Qt6 GUI framework (LGPL v3)
opencv-python — Computer vision
numpy — Numerical computation
Pillow — Image I/O
pytesseract — OCR text detection
mediapipe — Face landmark detection
requests — Auto-update HTTP client
cryptography — Ed25519 signature verification📁 Project Structure
DotScramble/
│
├── 📋 requirements.txt # Python dependencies
├── ⚙️ setup_license.py # Cython compilation for license module
├── ⚙️ build.py # Secure staging build pipeline
│
├── 🧠 core/ # System integrations & engines
│ ├── adversarial_engine.py # SPSA black-box AI evasion engine ← NEW
│ ├── auto_updater.py # Ed25519-signed auto-updater
│ ├── image_picker.py # Unicode/Arabic-safe file browser
│ ├── batch_processor.py # Multi-threaded batch processor
│ ├── text_detector.py # Tesseract OCR wrapper
│ └── metadata_spoofer.py # EXIF metadata modifier & stripper
│
├── 🖼️ gui/ # Additional GUI components
│ ├── metadata_dialog.py # EXIF editor dialog
│ ├── metadata_presets.py # EXIF device presets
│ └── metadata_report.py # EXIF diagnostic report dialog
│
├── 📦 src/ # Core MVC Application
│ ├── 📄 main.py # Entry point
│ ├── ⚙️ config.py # App config, theme definitions & URLs
│ ├── 🧠 controllers/ # MVC controllers
│ ├── 🧠 models/ # Processing engines & detectors
│ ├── 🧠 views/ # RTL/LTR UI views & dialogs
│ └── 🧠 managers/ # Auth, DB, Theme, Locale managers
│
├── 🎨 assets/
│ ├── themes/themes.json # 16 built-in color themes
│ └── icons/ # Application icons
│
├── 💾 presets.json # Saved effect presets (auto-generated)
└── 🗂️ backups/ # Automatic image backups (auto-created)🛠️ Customization
Adding Custom Effects
Click to see example code
- Open
core/image_processor.py - Add your effect method:
@staticmethod
def my_custom_effect(image, x, y, w, h):
"""
Apply custom effect to image region.
Args:
image: Source image (numpy array, BGR)
x, y: Top-left corner coordinates
w, h: Width and height of region
Returns:
Processed region (numpy array)
"""
region = image[y:y+h, x:x+w]
processed = 255 - region # Example: invert colors
return processed- Register in
config.pyEFFECTS dictionary:
EFFECTS = {
# ... existing effects ...
'my_custom_effect': '🌟 My Custom Effect'
}- Add to the GUI effect selection dropdown.
Plugging In a Custom AI Evasion Model
Click to see example code
from core.adversarial_engine import SPSAAdversarialEngine
import numpy as np
# Implement the EvasionProxy protocol with your model
def my_loss_fn(perturbed_img: np.ndarray) -> float:
"""Higher return value = more adversarial."""
embedding = my_model.get_embedding(perturbed_img)
if embedding is None:
return 1.0
return float(1.0 - np.dot(original_embedding, embedding))
engine = SPSAAdversarialEngine(epsilon=0.05, num_iters=150)
result = engine.generate(face_crop, loss_fn=my_loss_fn)🤝 Contributing
We welcome contributions! Here are some ideas to get started:
🎯 Ideas for Contributors
|
📝 How to Contribute
|
📄 License
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
Apache License 2.0 — Free for personal and commercial use
PySide6 (Qt bindings) — LGPL v3 — compatible with Apache 2.0🙏 Acknowledgments
- OpenCV — Computer vision library
- MediaPipe — Face landmark detection
- PySide6 / Qt — Cross-platform GUI framework
- Tesseract OCR — Open-source text recognition
- Goodfellow et al. (2014) — Adversarial examples research that inspired the AI evasion system
📞 Support & Contact
Troubleshooting
Common Issues
Q: I see a Tesseract warning on startup? A: Text detection requires Tesseract OCR. Install it with:
sudo apt install tesseract-ocr tesseract-ocr-engRestart the application after installation.
Q: AI Evasion is taking very long? A: Adversarial optimization is CPU-intensive. Use the Subtle preset for faster processing (~45s per face vs ~90s for Balanced). GPU acceleration is planned for a future release.
Q: Face detection not working? A: Ensure good lighting and front-facing angles. Try Manual Selection as a fallback for difficult angles.
Q: Application won't start? A: Check that all dependencies are installed. Try running from source:
python src/main.pyQ: Batch processing is slow? A: Processing time depends on image size and effect complexity. Use Pixelation for faster processing, or disable AI Evasion for batch jobs.
Q: Check for Updates shows nothing? A: Ensure you're running the official release build (not from source). The update check requires an internet connection and will show "You are using the latest version" if already up to date.
⭐ Star this repository if you find it helpful!
Made with ❤️ by FreeRave for privacy protection
Ähnliche Produkte