Aaron D. Lee 6c3bc995f1 Mobile polish, release validation script, bump to v4.1.2
Mobile-responsive CSS improvements:
- Larger touch targets for drop zones and buttons (56px min)
- Touch feedback with active states for touch devices
- Camera hint text on mobile ("Tap to take photo or choose file")
- Mode buttons stack vertically on small screens
- Full-width download buttons on mobile
- Navbar doesn't stick on mobile to save screen space

Release validation script (scripts/validate-release.sh):
- Automated pre-release checks: ruff, imports, encode/decode sanity
- Optional Docker build/test (--docker flag)
- Optional Pi smoke test via SSH (--pi flag)
- Pass/fail summary with exit codes

Other:
- Version bump to 4.1.2 (pyproject.toml, constants.py, __init__.py)
- Fixed ruff import sorting in cli.py
- Updated PLAN-4.1.2.md (all 9 features complete)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 20:34:23 -05:00
2026-01-03 21:36:04 -05:00
2026-01-04 19:36:06 -05:00
2026-01-01 22:18:13 -05:00
2026-01-05 14:50:37 -05:00
2026-01-01 22:18:13 -05:00
2026-01-01 22:18:13 -05:00

Stegasoo

A secure steganography system for hiding encrypted messages in images using hybrid authentication.

Tests Lint Python License: MIT Security

Features

  • AES-256-GCM authenticated encryption
  • Argon2id memory-hard key derivation (256MB RAM requirement)
  • Pseudo-random pixel selection defeats steganalysis
  • Multi-factor authentication: Reference photo + passphrase + PIN/RSA key
  • Multiple interfaces: CLI, Web UI, REST API
  • File embedding: Hide any file type (PDF, ZIP, documents)
  • DCT steganography: JPEG-resilient embedding for social media
  • Channel keys: Private group communication channels

Embedding Modes

Mode Capacity (1080p) JPEG Resilient Best For
DCT (default) ~150 KB Yes Social media, messaging apps
LSB ~750 KB No Email, direct file transfer

Web UI

Home Encode Decode Generate
Home Encode Decode Generate

Quick Start

# Install (Python 3.10-3.12)
pip install -e ".[all]"

# Generate credentials
stegasoo generate --pin --words 4

# Encode a message
stegasoo encode \
  --ref my_photo.jpg \
  --carrier meme.jpg \
  --passphrase "apple forest thunder mountain" \
  --pin 123456 \
  --message "Secret message"

# Decode
stegasoo decode \
  --ref my_photo.jpg \
  --stego stego_image.png \
  --passphrase "apple forest thunder mountain" \
  --pin 123456

Interfaces

Interface Start Command Documentation
CLI stegasoo --help CLI.md
Web UI cd frontends/web && python app.py WEB_UI.md
REST API cd frontends/api && uvicorn main:app API.md

Security Model

Reference Photo ──┐
(~80-256 bits)    │
                  ├──► Argon2id KDF ──► AES-256-GCM Key
Passphrase ───────┤    (256MB RAM)
(~43-132 bits)    │
                  │
PIN ──────────────┤
(~20-30 bits)     │
                  │
RSA Key ──────────┘
(optional)
Configuration Entropy Use Case
4-word passphrase + 6-digit PIN ~153 bits Standard security
4-word passphrase + PIN + RSA ~280+ bits Maximum security

Requirements

Requirement Version
Python 3.10-3.12
RAM 512 MB+

Development

pip install -e ".[dev]"
pytest
black src/ tests/ frontends/
ruff check src/ tests/ frontends/

Documentation

License

MIT License - see LICENSE. Use responsibly.


This tool is for educational and legitimate privacy purposes. Users are responsible for complying with applicable laws.

Description
Stegasoo DCT/LSB steganography toolkit.
Readme 48 MiB
Languages
Python 61.8%
HTML 19%
Shell 10.1%
JavaScript 5.1%
CSS 3.5%
Other 0.5%