Skip to main content
Back to Products
python

DotScramble

Powerful image privacy protection tool

0 stars0 forks0 issuesVersion v1.4.1
DotScramble โ€ข READMEโ€ข13 min read

๐Ÿ” DotScramble

Advanced Image Privacy Studio

Version Codename Python License PySide6 Stars

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

  1. Install System Dependencies (for text detection features):

    BASH
    sudo apt install tesseract-ocr tesseract-ocr-eng
  2. Download your preferred package from the Releases Page:

    PackageUse case
    DotScramble-Linux-x86_64.AppImageUniversal โ€” run on any distro
    DotScramble-Linux-x86_64.debDebian / Ubuntu / Kali โ€” integrates with app menu
    DotScramble-Linux-x86_64.pkg.tar.zstArch Linux / Manjaro โ€” install with pacman
  3. AppImage:

    BASH
    chmod +x DotScramble-Linux-x86_64.AppImage
    ./DotScramble-Linux-x86_64.AppImage

    Or .deb:

    BASH
    sudo dpkg -i DotScramble-Linux-x86_64.deb
    dotscramble

    Or Arch (.pkg.tar.zst):

    BASH
    sudo pacman -U DotScramble-Linux-x86_64.pkg.tar.zst
    dotscramble

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

BASH
# 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 0D9B71AF1791DA36

2. Verify the key fingerprint

CODE
Key ID    : 0D9B71AF1791DA36
Fingerprint: 7D06 4BC6 C9E2 34B8 948D D12D 0D9B 71AF 1791 DA36
UID       : FreeRave <kareem209907@gmail.com>
BASH
gpg --fingerprint 0D9B71AF1791DA36

3. Verify a release binary

BASH
# 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.deb

A Good signature message confirms the file is authentic and unmodified. โœ…

4. Verify SHA-256 checksums

BASH
# Download SHA256SUMS from the release, then:
sha256sum -c SHA256SUMS

โœจ Features

๐Ÿ›ก๏ธ Privacy & AI Evasion (New in v1.4.0)

  • ๐Ÿค– AI Evasion System โ€” SPSA black-box adversarial perturbations defeat AI face recognition models without any visible artifact at low strength settings
  • ๐ŸŽญ Layered Protection โ€” Adversarial noise + visual blur + EXIF strip applied in sequence
  • โš™๏ธ Evasion Strength Slider โ€” Subtle / Balanced / Maximum presets (ฮต 0.03 โ†’ 0.12)
  • ๐Ÿ”Œ Pluggable Proxy Model โ€” Swap in your own face recognition model as the optimization target

๐ŸŽฏ Detection Modes

  • ๐ŸŽญ Face Detection โ€” Detect and obscure faces (MediaPipe + Haar cascade ensemble)
  • ๐Ÿ‘๏ธ Eye Detection โ€” Target specific eye regions
  • ๐Ÿง Full Body Detection โ€” Detect entire person silhouettes
  • ๐Ÿš— License Plate Detection โ€” Auto-identify vehicle plates
  • ๐Ÿ“ Text Detection (OCR) โ€” Find and censor text with Tesseract
  • โœ๏ธ Manual Selection โ€” Draw custom regions
  • ๐ŸŒ Full Image โ€” Apply effects to the entire image

๐ŸŒ Localization & UI

  • Native Arabic RTL interface with dynamic language switching
  • 16 built-in themes: Cyberpunk, One Dark, Dracula, Nord, Catppuccin Mocha, Rosรฉ Pine, and more
  • Responsive layout with Wayland-compatible window management

๐ŸŽจ Privacy Effects

  • ๐ŸŒซ๏ธ Gaussian Blur โ€” Smooth, professional blur
  • ๐Ÿ”ฒ Pixelation โ€” Classic pixel censoring
  • โฌ› Black Bar โ€” Solid rectangular censor
  • ๐ŸŽญ Gradient Fade โ€” Artistic gradient transition
  • ๐Ÿ”ณ Mosaic โ€” Decorative tile pattern
  • โ„๏ธ Frosted Glass โ€” Translucent glass effect
  • ๐ŸŽจ Oil Paint โ€” Artistic painting style

๐Ÿ’Ž Core Capabilities

  • MVC Architecture for maximum stability and extensibility
  • Auto-Save Database via SQLite โ€” settings and state persist across sessions
  • Real-time Preview โ€” see effects live as you adjust sliders
  • Batch Processing โ€” process entire folders in one go
  • Undo/Redo History โ€” full state management
  • EXIF Metadata Spoofing & Stripping โ€” modify or remove GPS, camera model, timestamps
  • Secure Auto-Update โ€” Ed25519-signed binary verification before any hot-swap

๐Ÿ’Ž Advanced Capabilities

FeatureDescription
๐Ÿค– AI EvasionSPSA adversarial perturbations โ€” defeats embedding-based face recognition
โšก Real-time PreviewSee effects instantly as you adjust parameters
๐Ÿ“ฆ Batch ProcessingProcess hundreds of images automatically
โ†ถโ†ท Undo/RedoFull history management with keyboard shortcuts
๐Ÿ’พ Presets SystemSave and load your favorite effect configurations
๐Ÿ” Comparison ViewSide-by-side before/after comparison
โŒจ๏ธ Keyboard ShortcutsLightning-fast workflow with hotkeys
๐ŸŽš๏ธ Opacity ControlBlend effects with original image
๐Ÿ”„ Smart Auto-UpdateCryptographically 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ฮต valueVisual impactEvasion strength
Subtle0.03Nearly invisibleModerate
Balanced (default)0.05Very subtle grainGood
Maximum0.12Visible textureVery strong

Benchmark Results (LFW dataset, 200 images)

ModeAI Match RateProcessing time
No effect98.5%โ€”
Blur only61.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

MERMAID
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
  1. Load your image and select Face Detection mode
  2. Toggle "๐Ÿค– AI Evasion" in the processing panel
  3. Choose your evasion preset (Subtle / Balanced / Maximum)
  4. Click "โœจ Apply Effect" โ€” a progress bar shows optimization progress
  5. Save as PNG (not JPEG) to preserve the adversarial perturbations
๐Ÿ“ท Manual Selection Mode
  1. Select "โœ๏ธ Manual Selection" from detection modes
  2. Click and drag on the image to draw rectangles
  3. Create multiple regions as needed
  4. Click "โœจ Apply Effect" to process all selected areas
  5. 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
  1. Click "๐Ÿ“ฆ Batch Process" or press Ctrl+B
  2. Select multiple images from your folders
  3. Choose output directory for processed images
  4. Configure detection mode and effect settings
  5. Click Start and let it run automatically
๐Ÿ’พ Presets Management
  1. Configure your perfect settings (effect, strength, opacity, etc.)
  2. Go to Menu โ†’ Presets โ†’ Save Current Settings
  3. Name your preset (e.g., "Face Blur Strong", "Plate Pixelate")
  4. Load anytime for consistent, repeatable results

โŒจ๏ธ Keyboard Shortcuts

ShortcutActionShortcutAction
Ctrl+OOpen ImageCtrl+SSave Result
Ctrl+ZUndoCtrl+YRedo
Ctrl+PApply EffectCtrl+DClear Selections
Ctrl+BBatch ProcessCtrl+QQuit Application

๐ŸŽš๏ธ Effect Parameters

๐ŸŒซ๏ธ Blur Strength

  • Range: 15โ€“199
  • Odd numbers only for optimal results
  • Higher = stronger blur
  • Recommended: 31โ€“51 for faces

๐Ÿ”ฒ Pixel Block Size

  • Range: 5โ€“50 pixels
  • Higher = heavier censoring
  • Lower = subtle effect
  • Recommended: 15โ€“25 for balance

๐Ÿค– Evasion Strength

  • Presets: Subtle / Balanced / Maximum
  • Higher = stronger AI evasion
  • Higher = longer processing time
  • Export as PNG for best results

๐Ÿ’ป 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

BASH
# 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.py

Core Dependencies

CODE
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

CODE
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
  1. Open core/image_processor.py
  2. Add your effect method:
PYTHON
@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
  1. Register in config.py EFFECTS dictionary:
PYTHON
EFFECTS = {
    # ... existing effects ...
    'my_custom_effect': '๐ŸŒŸ My Custom Effect'
}
  1. Add to the GUI effect selection dropdown.

Plugging In a Custom AI Evasion Model

Click to see example code
PYTHON
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

  • ๐ŸŽฅ Video processing support
  • โšก GPU acceleration (CUDA / Metal) for AI evasion
  • ๐ŸŒ Web-based interface
  • ๐Ÿ“ฑ Mobile app version
  • ๐Ÿง  Additional detection models (YOLO, MediaPipe Pose)
  • ๐Ÿ”„ Batch undo/redo
  • ๐Ÿ“Š Processing statistics dashboard
  • ๐ŸŒ Additional language localizations

๐Ÿ“ How to Contribute

  1. Fork the repository
  2. Create your feature branch
    BASH
    git checkout -b feature/AmazingFeature
  3. Commit your changes
    BASH
    git commit -m 'feat: add AmazingFeature'
  4. Push to the branch
    BASH
    git push origin feature/AmazingFeature
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the Apache License 2.0 โ€” see the LICENSE file for details.

CODE
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

Need Help?

Issues Discussions

Troubleshooting

Common Issues

Q: I see a Tesseract warning on startup? A: Text detection requires Tesseract OCR. Install it with:

BASH
sudo apt install tesseract-ocr tesseract-ocr-eng

Restart 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:

BASH
python src/main.py

Q: 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

โฌ† Back to Top

Related Products

โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ
โ€Œ