Most "secure" apps still phone home. DecentChat doesn't — your keys, your tunnel, your session. Gone when you close it.
If your identity is tied to a phone number, it's not private.
— built out of frustrationI got tired of "private" messaging apps that still need your phone number, still run on someone else's servers, still log connection metadata. Every account is a liability. Every server is a target.
DecentChat started as a weekend experiment — can two machines talk directly, end-to-end encrypted, with zero persistent infrastructure? It turned into a full P2P layer. The signaling server touches nothing but session descriptions. After handshake, it's completely out of the loop.
This is not a product. It's a stance.
"If your identity is tied to a phone number, it's not private."
"Servers should not exist after the connection is established."
"Privacy shouldn't require trust. It should require math."
The signaling server does one thing: helps two peers find each other. It sees only encrypted session descriptions — no payloads, no identities, no IPs in plaintext.
Once the Cloudflare tunnel is established, the server is completely excluded. It could go offline mid-session and you'd never notice.
Note: NAT traversal has known edge cases on campus/corporate networks with aggressive CGNAT.
No registration. No account. Run it and you have a cryptographic identity. Keys are generated locally and never transmitted.
# Run in PowerShell as Administrator
irm https://chat.teamxebec.xyz/install.ps1 | iex
decentchat to your PATH.curl -LO https://github.com/hiwarkhedeprasad/decentchat-terminal/releases/latest/download/decentchat
chmod +x decentchat
sudo mv decentchat /usr/local/bin/
# Run: decentchat
git clone https://github.com/hiwarkhedeprasad/decentchat-terminal.git
cd decentchat-terminal
go build -o decentchat .
./decentchat