👻 PhantomText: Hidden Text Steganography 🔐
Securely hide encrypted messages inside normal-looking text using zero-width Unicode characters.
Encoding Process (Hiding Secret Message)
Decoding Process (Extracting Hidden Message)
PhantomText is a fully client-side web application that combines cryptography + steganography. Unlike traditional encryption tools that produce obvious ciphertext, PhantomText ensures both absolute secrecy and visual invisibility.
- 🔍 Zero-Width Steganography: Invisible text embedding that visually matches standard text.
- 🔐 Strong Encryption: AES-256 encryption using the native Web Crypto API.
- 🧠 Key Derivation: PBKDF2 protects passwords against brute-force attacks.
- 📦 Smart Compression: Utilizes the Deflate API with an automatic LZW fallback for optimal payload size.
- 🛡️ Tamper Detection: SHA-256 integrity verification prevents malicious payload alteration.
- ⏱️ Auto-Wipe Security: Sensitive data and fields are automatically wiped after 3 minutes of inactivity.
- 📊 Real-Time Analytics: Tracks zero-width character bloat and assesses platform compatibility dynamically.
- ⚡ 100% Client-Side: No data leaves the browser.
- Some platforms (e.g., social media, messaging apps) may strip zero-width Unicode characters, causing hidden data loss.
- Copy-paste operations can remove or normalize invisible characters depending on the environment.
- Not designed for high-security or production-grade use; intended as a proof-of-concept.
- Large messages increase zero-width character bloat and may affect usability.
- Requires modern browser support for Web Crypto API and CompressionStream.
- Encrypted data cannot be recovered if the password is lost.
- Secret message is converted into bytes and hashed via SHA-256 for integrity.
- Data is compressed (Deflate or LZW) to minimize bloat.
- Compressed data is encrypted using AES-GCM.
- Ciphertext is converted into zero-width characters (
\u200B,\u200C,\u200D). - Invisible characters are injected seamlessly into the visible cover text.
- Zero-width characters are extracted from the cover text.
- Binary is converted back to bytes and decrypted using the user's password.
- Data is decompressed and integrity is verified against the original SHA-256 hash.
- The original message is securely revealed.
PhantomText requires no Node.js, package managers, or server setup.
- Clone or download the repository.
- Simply open
index.htmlin any modern web browser. - Start encoding and decoding!
- Frontend: HTML5, CSS3, JavaScript, TailwindCSS
- Security: Web Crypto API (AES-GCM, PBKDF2, SHA-256)
- Data Handling: CompressionStream API, Custom LZW implementation
- Steganography: Unicode Zero-Width Characters
.
├── index.html # Main application & logic
├── README.md # Documentation
├── LICENSE # MIT License
Mayank Aggarwal
GitHub: Mayank-01x
This project is licensed under the MIT License.

