[](https://phantomchat.space

**Most modern messaging apps claim to care about privacy while still demanding a phone number, an email address, a persistent account ID, and cloud-synced metadata logs.

I wanted the exact opposite: a zero-account, identity-less messaging terminal where rooms exist temporarily, keys never touch a backend server, and conversations leave no permanent footprint behind.

That idea became Phantom Chat—an ephemeral web and terminal messaging platform built under Phantom Labs.

What Makes Phantom Chat Different?

  • Zero Accounts & Zero Identity: No sign-ups, no phone numbers, no usernames stored in a database, and no persistent user profiles. You spin up a room, share the invite link, and start talking.
  • The NullState Protocol & URL Hash Keys: Encryption keys live exclusively inside the URL fragment (#hash), which browsers never transmit to servers over HTTP. Every message uses a fresh 12-byte IV so peers joining late or receiving packets out of order can decrypt reliably without fragile stateful ratchet desyncs.
  • Room Locking & Ephemeral Lifecycles: Room creators can lock a session once participants join, keeping the room sealed against outside intrusion.
  • Client-Side WebP Compression & Real-Time Media: Images are compressed directly inside the browser into lightweight WebP payloads before transmission—keeping media transfers fast without bloated server storage.
  • 3D WebGL Terminal Interface + Native Node.js CLI: Beyond the browser client (built with React, TypeScript, Three.js / React Three Fiber, and Zustand), Phantom Chat also supports a native terminal CLI client in Node.js using PBKDF2 key derivation and Server-Sent Events.

Architecture at a Glance

  1. Client-Side Cryptography: All key derivation and message encryption/decryption happen locally on the client before any payload leaves the browser or terminal.
  2. Split Real-Time Transport: Ephemeral text messaging runs over Firebase Realtime Database while real-time media sharing rides over Ably Pub/Sub—keeping payloads fast, stateless, and decoupled.
  3. Open Client & Transparent Trust Model: You can inspect the client-side repository on GitHub under Phantom Labs or read the full protocol breakdown on the /trust page at phantomchat.space.

Try It Out & Share Feedback

You can test a live ephemeral room right now at phantomchat.space—no account required.

If you're into client-side cryptography, WebGL interfaces, or ephemeral real-time systems, I'd love to hear your thoughts on the architecture or any edge cases you'd test!

 **