
Verify your email once. Pick a room name, duration, and max participants. Takes about 10 seconds.
Send the link to participants. They click and join. No app, no sign-up, no account.
When the timer runs out, the room and all data is permanently deleted. No backups, no recovery.
Rooms exist only in Redis (RAM). There is no disk-based database, no SQL, no file storage. Encrypted room data lives only in memory: nothing is written to disk, and when the room TTL expires or the process stops, it is gone.
When the TTL expires, Redis evicts the key automatically. No human intervention, no backups, no recovery. Even someone with full server access after expiry would find nothing.
Room durations: 15 min, 30 min, 1 hour, 2 hours, 3 hours, or 4 hours. Chosen by the room creator at creation time.
When you create a room, a 32-byte random key is generated in your browser. This key is placed in the URL fragment, the part after the # symbol:
https://hushroom.io/r/my-room#key=a1b2c3d4e5f6...64 hex charsPer the HTTP specification, URL fragments are never sent to the server. The browser strips the fragment before making any request. This means our server never sees the encryption key: not in logs, not in request headers, nowhere. This is zero-knowledge by design.
Each message is encrypted client-side using NaCl secretbox (xsalsa20-poly1305) before being sent over WebSocket. Each message gets a unique random nonce. The server only sees ciphertext and nonce blobs, and stores [encrypted] as a placeholder.
Voice and video streams are encrypted using LiveKit E2EE with PBKDF2 key derivation. All audio and video frames are encrypted before leaving your device. The same room key from the URL fragment is used to derive the media encryption key.
#key= fragmentWHY IT'S SECURE
During an active room session, the server holds:
| Data | Stored as | Retention |
|---|---|---|
| Room name | Plaintext | Until room TTL expires |
| Participant count | Number | Until room TTL expires |
| Display names | In-memory (WebSocket state) | Until disconnect |
| Messages | [encrypted] placeholder | Until room TTL expires |
| Creator email | SHA-256 hash (one-way) | 30 days |
| Encryption keys | Never reaches server | - |
Not on this list, because it is never collected: IP addresses, browser fingerprints, user accounts, message plaintext, recordings.
If Hushroom receives a valid legal request (court order, subpoena), we can confirm that a room existed, roughly when it was created and how many people joined, and nothing more. Message content, recordings, encryption keys, participant identities and IP addresses are never in our possession, so they cannot be handed over. These are technical limitations, not policy promises.
See exactly what we can and cannot discloseAs with any internet service, your Internet Service Provider (ISP) may retain connection metadata as required by local data retention laws. This can include:
hushroom.io was madeThis reveals that you visited hushroom.io, not what you communicated. The content of your messages, voice calls, and video remains encrypted end-to-end. The encryption key never leaves your browser.
If ISP-level metadata is a concern, consider using a VPN or Tor Browser. Hushroom works normally over both.
Create an encrypted room in about 10 seconds. No sign-up for participants.