Skip to content

Latest commit

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LuminCrypt

Local-first Unicode steganography detection and robust watermark toolkit for text and images.

简体中文

ElectronReactTypeScriptPythonLicense

LuminCrypt logo

LuminCrypt is a desktop security toolkit for Unicode hidden-character detection, encrypted invisible text watermarking, and robust blind image watermarking. It helps researchers, creators, publishers, and security teams inspect suspicious Unicode content, embed recoverable text fingerprints, and test image watermarks against compression, resizing, cropping, and platform re-encoding.

Key Features

  • Unicode hidden character detection: finds zero-width characters, BiDi controls, homoglyphs, Unicode Tags, variation selectors, and non-standard spaces.
  • Encrypted text watermarking: embeds AES-256-GCM protected payloads into normal text with invisible Unicode carriers and robust redundancy.
  • Blind image watermarking: uses a Python image watermark engine based on block-DCT, QIM-style embedding, Reed-Solomon recovery, and multi-scale extraction.
  • Learning-assisted robust watermarking: includes an experimental MLWM v1 alpha engine for short image payloads, ONNX inference, attack simulation, benchmark manifests, and automatic fallback to the legacy image watermark engine.
  • Batch processing and reports: scans files in batches and exports detection results as JSON, CSV, or PDF.
  • Local desktop workflow: built with Electron, React, TypeScript, and a Python helper for image watermark processing.

Project Status

AreaStatus
Unicode hidden-character detectionUsable
Encrypted text watermarkingUsable
Legacy image blind watermarkingUsable
MLWM v1 neural image watermarkingAlpha, short payloads only

mlwm-v1-alpha1 is the first promoted neural watermark candidate. It is suitable for internal alpha testing and controlled validation, not yet for unsupported industrial deployment claims.

Screenshots

LuminCrypt screenshot 1LuminCrypt screenshot 2
LuminCrypt screenshot 3LuminCrypt screenshot 4
LuminCrypt screenshot 5LuminCrypt screenshot 6

Requirements

ToolVersionNotes
Node.js18+Electron and frontend build
npm9+Package manager
Python3.10+ runtime, 3.12 recommended for MLRequired for the image watermark backend and ML training tools

Quick Start

Install Node dependencies:

npm install

Install Python image-watermark dependencies:

pip install -r blind_watermark/requirements.txt

Start the development app:

npm run dev

Run TypeScript checks:

npm run typecheck

Run Python image-watermark tests:

python -m unittest discover -s blind_watermark/tests

Install ML training dependencies only when you need to train or export candidate neural models:

pip install -r blind_watermark/requirements-ml.txt

Build

# Windows
npm run build:win
# macOS
npm run build:mac
# Linux
npm run build:linux

Build the Python image-watermark helper:

npm run build:python

The packaged helper is written to resources/bin/bwm_helper.exe and included by electron-builder.

Windows Helper Scripts

  • start.bat: interactive launcher for development and preview workflows.
  • pack.bat: one-click Windows packaging script that checks the environment, installs dependencies, builds the Python helper, and runs electron-builder.
  • build.bat: compatibility wrapper that delegates to pack.bat when available.

Repository Layout

LuminCrypt/
|-- src/
| |-- main/ # Electron main process, security policy, IPC
| |-- preload/ # Context-isolated preload bridge
| `-- renderer/ # React UI and TypeScript logic
| |-- core/ # Text watermarking and Unicode detection
| `-- components/ # React components
|-- blind_watermark/
| |-- rwm_engine.py # Image blind watermark engine
| |-- bwm_helper.py # CLI bridge used by Electron
| |-- mlwm/ # MLWM neural watermark training, export, and inference modules
| `-- tests/ # Python unit tests
|-- configs/mlwm/ # MLWM training, export, and evaluation configs
|-- docs/mlwm/ # MLWM architecture, training, and traceability docs
`-- resources/ # Static assets, packaged binaries, and promoted ONNX models

MLWM v1 Alpha

MLWM v1 is a learning-assisted robust image watermark path for short text or ID payloads. It combines deterministic payload framing, CRC and Reed-Solomon recovery, classical synchronization ideas, lightweight PyTorch encoder/decoder models, and ONNX Runtime inference for desktop use.

Useful references:

Search Keywords

Unicode steganography, Unicode watermark, invisible watermark, AI watermark detection, zero-width character detector, homoglyph detection, BiDi control detector, text watermarking, blind image watermark, robust image watermarking, digital watermarking, image forensics, content provenance, Electron security tool.

License

LuminCrypt is released under the GPL-3.0 license. See LICENSE.

The image watermark engine includes customization based on the open-source blind_watermark project. See NOTICE for attribution.