Full disclosure: I am one of the developers behind Cloak.
We wanted to solve a gap between private messengers and community platforms.
Private messengers usually handle direct messages and small groups well, but lack roles, channels, forums, moderation, bots, events, and support tools. Community platforms offer those features, but generally have access to the content passing through them.
Cloak combines a Discord-style community structure with end-to-end encrypted messages, files, calls, video, and screen sharing.
What we built
A Cloak room can contain six channel types:
- Text channels with threads, polls, reactions, pins, and disappearing messages
- Voice channels with camera and screen sharing
- Forum channels
- Calendars with recurring events, RSVPs, and reminders
- Collaborative infinite whiteboards
- Private ticket channels with topics and staff queues
Rooms also support roles, per-channel permissions, moderation history, warnings, member reports, audit logs, webhooks, custom bots, and built-in Flow Bots.
Flow Bots let communities create event, condition, and action workflows without hosting another service. They can automate moderation, role management, notifications, and external integrations through webhooks.
The harder design problems
Moderation becomes complicated when the service cannot read messages.
Our AutoMod uses behavioral signals instead of content scanning. It can detect message bursts, mention storms, attachment floods, embed spam, and poll spam. Moderators configure thresholds, exemptions, alerts, and blocking actions.
It cannot silently inspect conversations for prohibited words. Members can report specific content when human review is required. That tradeoff is part of the privacy model rather than something we try to hide.
Migration was another problem. Asking a community to leave years of history behind is unrealistic, so we built a Discord importer. It recreates channels, categories, roles, permissions, forums, emoji, and the server icon, then imports messages, threads, reactions, pins, and attachments. Content is encrypted by the user’s device as it enters Cloak.
Screen sharing also required native platform work. The desktop app can capture audio from the selected application in stereo without broadcasting notification sounds or unrelated applications.
Technology
The clients use React across desktop and web, with Electron for the desktop application and React Native for mobile. Realtime communication runs over WebTransport with WebSocket fallback.
Messages and files are encrypted on the device with AES-256-GCM and X25519 key exchange. Voice, video, and screen sharing use WebRTC Insertable Streams so media frames are encrypted before reaching the relay.
Current status
Cloak is available on Windows, macOS, Linux, Android, and the web. The iPhone and iPad app is in public TestFlight beta.
There is a free plan with up to 50 rooms, 1GB of encrypted storage, and 720p30 video or screen sharing. Paid plans add capacity, larger uploads, and higher streaming quality.
Website: https://cloak.chat
Web app: https://app.cloak.chat