Hide files inside images. Create files that double as archives. Smuggle messages through QR codes.
Steganography toolkit built with Python and React.
Steganography β Hide a file or text inside an image by embedding data into the least-significant bits of each pixel. The output looks identical to the original. Supports PNG, JPEG, and BMP carriers with a capacity indicator so you know what fits.
Polyglot Files β Create a single file that works as two formats. Open it normally and it's an image. Rename to .zip and your hidden files appear. Works with any carrier type β images, PDFs, videos, audio. No manual zipping needed.
QR Code Steganography β Generate QR codes with a hidden payload baked into the URL fragment. Standard scanners see a normal link. InvisioVault recovers the secret. Survives screenshots, prints, and camera recapture.
All three modes support optional password-protected encryption.
Windows β just run run.bat.
Everything else:
# Backend
cd backend && pip install -r requirements.txt && python app.py
# Frontend (new terminal)
cd frontend && npm install && npm run devOpen localhost:5173.
| Encryption | Fernet (AES-128-CBC + HMAC-SHA256), PBKDF2 at 480k iterations, AES-256 for polyglot ZIPs |
| Validation | Magic-byte verification, Pillow structural parsing, 100 MP pixel cap |
| Protection | Rate limiting, path traversal prevention, CSP/HSTS headers, auto temp-file cleanup |
Backend β Flask, Gunicorn, Pillow, cryptography, segno, zxing-cpp
Frontend β React 19, Vite, Axios
This was my first-ever repo. The original code was ambitious. I came back, learned cryptography properly, and rebuilt it from scratch. If you're a beginner: keep shipping. The rough early code is proof you're growing.
Built by Rolan
rolanlobo901@gmail.com Β· GitHub
MIT License β use it, fork it, build something weird with it.