Skip to content

h9zdev/LowkeyDM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
LowkeyDM

Your conversations. Your keys. No one else's business.


Version Platform License Firefox Add-on Chrome Extension



πŸ” What is LowkeyDM?

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.

No servers. No accounts. No data collection. Just math.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         MESSAGE FLOW            β”‚
β”‚                                 β”‚
β”‚  You type:  "meet at 9pm"       β”‚
β”‚                 ↓               β”‚
β”‚  πŸ”’ Encrypt with shared key     β”‚
β”‚                 ↓               β”‚
β”‚  Sent:  "πŸ”’ENC:x9Kp2mL..."     β”‚
β”‚                 ↓               β”‚
β”‚  Partner decrypts with key      β”‚
β”‚                 ↓               β”‚
β”‚  They read:  "meet at 9pm"      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


✦ Features

πŸ›‘οΈ P2P Encryption

Messages are encrypted locally in your browser before being sent. Instagram never sees the plaintext.

πŸ—οΈ Shared Secrets

Only people with the exact same password can decrypt and read your messages. Zero trust required.

🧩 Seamless Integration

Lock and unlock icons are injected directly into Instagram's web UI β€” no tab switching, no friction.



πŸ› οΈ How to Use

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
  1. Open a conversation on instagram.com
  2. A πŸ”’ lock icon will appear next to the message input box
  3. Type your message and click the lock icon
  4. Your message transforms into an encrypted string β†’ πŸ”’ENC:abc123...
  5. Hit Enter to send as usual
Step 3 β€” Decrypt Received Messages
  1. When you receive a message starting with πŸ”’ENC: β€” it's encrypted
  2. A decrypt icon appears inside the message bubble
  3. Click it to reveal the decrypted message in a secure overlay
  4. Only visible to you, only for that session


πŸ“₯ Installation


πŸ–₯️ Desktop Browsers

Chrome Β· Brave Β· Edge Mozilla Firefox
  1. Download this repo as a ZIP and extract it
  2. Navigate to chrome://extensions/
  3. Toggle on Developer Mode (top right)
  4. Click Load unpacked
  5. Select the extracted folder
  1. Download this repo and extract it
  2. Navigate to about:debugging#/runtime/this-firefox
  3. Click Load Temporary Add-on...
  4. Select the manifest.json from the project folder

πŸ“± Android β€” 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 βœ“


πŸͺ Get It from the Store


Get the Firefox Add-on


Chrome Web Store listing β€” coming soon



πŸ”¬ Security Model

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.



🀝 Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create your feature branch: git checkout -b feat/your-feature
  3. Commit your changes: git commit -m 'Add your feature'
  4. Push to the branch: git push origin feat/your-feature
  5. Open a Pull Request


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.



LowkeyDM β€” because some conversations should stay between you and them.


GitHub stars

About

End-to-end encrypt your Instagram Direct Messages.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors