|
LowkeyDM is a browser extension that wraps your Instagram Direct Messages in end-to-end encryption β right in your browser, before anything touches Instagram's servers. Set a shared secret password with your chat partner. Anyone else who intercepts your message? They see gibberish. Only you two hold the key.
|
|
|
Messages are encrypted locally in your browser before being sent. Instagram never sees the plaintext. |
Only people with the exact same password can decrypt and read your messages. Zero trust required. |
Lock and unlock icons are injected directly into Instagram's web UI β no tab switching, no friction. |
Step 1 β Set Your Password
Click the LowkeyDM icon in your browser toolbar and enter a Secret Password.
β οΈ Your chat partner must use the exact same password. Share it out-of-band (in person, via a phone call, etc.) for best security.
Step 2 β Encrypt & Send
- Open a conversation on instagram.com
- A π lock icon will appear next to the message input box
- Type your message and click the lock icon
- Your message transforms into an encrypted string β
πENC:abc123... - Hit Enter to send as usual
Step 3 β Decrypt Received Messages
- When you receive a message starting with
πENC:β it's encrypted - A decrypt icon appears inside the message bubble
- Click it to reveal the decrypted message in a secure overlay
- Only visible to you, only for that session
| Chrome Β· Brave Β· Edge | Mozilla Firefox |
|---|---|
|
|
Firefox for Android supports extensions. Here's how to sideload LowkeyDM:
1. Download the extension files to your Android device
2. Open Firefox β Settings β About Firefox
3. Tap the Firefox logo 5Γ rapidly β unlocks hidden dev menu
4. Return to Settings β "Install Extension from File"
5. Select the extension file β Done β
Encryption Algorithm: AES-GCM (256-bit)
Key Derivation: PBKDF2 with SHA-256
Salt: Randomly generated per session
Ciphertext Format: πENC:<base64-encoded-payload>
Data Sent to Servers: None (all crypto happens client-side)
Your password never leaves your device. LowkeyDM uses the browser's native Web Crypto API β no third-party crypto libraries, no hidden dependencies.
Contributions, issues, and feature requests are welcome!
- Fork the repository
- Create your feature branch:
git checkout -b feat/your-feature - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feat/your-feature - Open a Pull Request
This project is licensed under the MIT License β see the LICENSE file for details.
LowkeyDM β because some conversations should stay between you and them.