An automatic end-to-end encryption tool for Discord desktop chat. Encrypts your messages using AES-256-GCM and displays them as Braille characters — readable only by friends with the same key.
⚠️ Disclaimer: This tool is a Proof of Concept. Using modified clients or automated tools may violate Discord's Terms of Service. Use at your own risk. This project is for educational purposes only.
- End-to-End Encryption: Messages are encrypted locally before they ever reach Discord's servers.
- Automatic Decryption: Incoming messages from friends with the same key are instantly decrypted.
- Invisible Integration: Runs as a separate process connecting via Chrome DevTools Protocol (CDP) — no Discord file modifications.
- Stealthy: Encrypted text is encoded as Braille Unicode to blend in visually and bypass some spam filters.
- Secure Defaults: Uses AES-256-GCM and PBKDF2 (600k iterations) for strong security.
- Node.js (v14 or newer)
- Discord Desktop Client (Windows)
-
Clone the repository:
git clone https://github.com/KenzoNight/BrailleCrypt-For-Discord.git cd BrailleCrypt-For-Discord -
Install dependencies:
npm install
-
Configure (Optional): Copy the example config if you want to save your preferences:
cp config.example.json config.json
Tip: You can edit
config.jsonto set a default key, but be careful not to commit it!
Launch everything automatically:
node main.js --key "your-secret-password"This will kill any running Discord processes and relaunch it with the necessary debug flags.
Or connect to an already-running instance:
- Start Discord with:
Discord.exe --remote-debugging-port=9222 - Run the tool:
node main.js --key "your-secret-password" --no-launch --port 9222
You can configure the tool via config.json or CLI arguments.
| setting | description | default |
|---|---|---|
encryptionKey |
The shared secret used for AES-256-GCM. | "" (prompts if empty) |
debugPort |
Local port for CDP connection. 0 = random. |
0 |
pbkdf2Iterations |
Rounds of hashing for key derivation. | 600000 |
messagePrefix |
The characters marking the start of a message. | ⠓⠑ |
CLI Arguments:
--key, -k: Set the encryption key.--port, -p: Set text debug port.--no-launch: Attach to existing Discord process.
- Message Content: The actual text you type is encrypted using AES-256-GCM.
- Integrity: The GCM tag ensures messages cannot be tampered with without detection.
- Sender/Receiver: Discord knows who you are messaging.
- Timestamps: Discord knows when you are messaging.
- Message Length: While Braille encoding obfuscates exact length, the approximate size matches the ciphertext.
- The tool listens on
127.0.0.1(localhost) only. - Default behavior uses a randomized port each time to prevent local port scanning.
Pull requests are welcome! Please ensure any changes do not compromise the security or stability of the encryption.
- Discord:
kenzonight. - GitHub: KenzoNight
MIT License. See LICENSE for details.