voidly

Veil · the private channel

The conversation
stays between you.

End-to-end encrypted messages, calls and group channels. Keys generated on your device. Read what the relay can still see.

No phone number. No App Store. Veil is a messenger, not a VPN — for a tunnel, see Voidly VPN.

A message, sealed between devicesIllustration: a sender encrypts a message, a relay carries ciphertext, and a recipient opens it. Not a live connection or an anonymity guarantee.Encrypted message contentSenderRecipientContent protection ≠ metadata anonymity
Encrypted-message path · illustration

A full conversation.
Not just a text box.

Start with a cryptographic identity. Exchange a DID or QR code, verify your contact, then message, call and share.

Say it your way

Messages, voice notes, encrypted images and WebRTC voice or video calls. Reply, react and search your conversations.

Bring your people

Invite contacts by DID. New encrypted groups are private by default; standard channels register the group name and member DIDs with the relay.

Set the boundaries

Verify contact keys and choose disappearing-message timers. Timers cannot stop a recipient from making a copy.

Private content.
Explicit limits.

Content encryption and metadata privacy are different promises. Read both before relying on either.

What the relay carries

Encrypted content, not your private keys. Double Ratchet message encryption and a hybrid X25519 + ML-KEM-768 key exchange protect supported sessions.

Automatic drop-box routing removes the stored sender/recipient edge for steady-state 1:1 messages between updated peers. There is no drop-box setting to enable.

What remains visible

IP addresses, timing and size classes remain relevant. Legacy-build peers have different routing exposure. First contact is linkable by anyone from the recipient's published keys: both ends can be recovered.

Cover traffic has its own opt-in Settings switch, independent of the privacy level. It blurs timing; it is not a mixnet or an anonymity guarantee.

Encryption and feature reference

Double Ratchet E2E

Per-message keys and ratcheting limit the impact of a compromised message key. Device compromise and contact verification remain separate risks.

Post-Quantum Protection

ML-KEM-768 + X25519 hybrid key exchange. Resistant to harvest-now-decrypt-later quantum attacks (NIST FIPS 203).

Drop-Box Routing

There is no setting for this. Steady-state 1:1 messages route through opaque per-pair mailboxes — no sender or recipient stored at rest, so a seized relay DB holds no who-talks-to-whom edge for updated peers. Residuals (IP/timing, legacy-build peers, and first contact, which is linkable by anyone from the recipient's published keys) are disclosed in full.

Deniable Authentication

HMAC-SHA256 shared-secret auth. Neither party can prove the other sent a message — plausible deniability under duress.

Cover Traffic (opt-in)

Its own switch in Settings, off until you turn it on. Decoy packets and a constant send cadence blur when you are actually communicating. This makes timing correlation costly, not impossible — it is not a mixnet.

TOFU Key Pinning

Trust-on-first-use key verification. Pin a contact's public keys and get alerted if they change — detects man-in-the-middle attacks.

Encrypted Channels

Sender-key E2E group encryption — only members can read messages. Standard channels register the channel name and each member's DID with the relay; private groups — the default when you create one — leave no server-side group record at all.

No App Store Required

Install from Safari — add to Home Screen. Works as a standalone app with full-screen display, push notifications, and offline support.

QR Identity Exchange

Share your cryptographic identity via QR code. No phone number, no email — just scan and connect.

Voice & Video Calls

Peer-to-peer WebRTC calls with STUN/TURN traversal. Mute, toggle video, see call duration. Incoming call notifications.

Voice Messages

Record and send voice notes up to 30 seconds. Playback with speed control (1x, 1.25x, 1.5x, 2x) and waveform visualization.

Image Sharing

Send photos with inline preview. Full-screen viewer with zoom. Images are encrypted end-to-end like all other messages.

Emoji Reactions

React to any message with quick emoji (👍 ❤️ 😂 😮 😢 🔥). Reactions sync in real-time and show counts.

Reply & Quote

Reply to specific messages with quoted preview. Keeps conversation threads clear even in fast-moving chats.

Disappearing Messages

Set messages to auto-delete after 5 minutes, 1 hour, 24 hours, or 7 days. Per-conversation timer.

Read Receipts

See when messages are sent (✓), delivered (✓✓), and read (✓✓ blue). Know your message got through.

Typing Indicators

See when the other person is typing. Real-time animated dots so conversations flow naturally.

Message Search

Full-text search across all conversations. Results show contact name, date, and highlighted match with context.

Message Forwarding

Forward any message to another contact. Search and select from your contact list — the message is re-encrypted for the new recipient.

Link Previews

URLs in messages show rich previews with title, description, and image. Previews are fetched client-side, so the relay never sees which links you share (the linked site still sees the fetch).

Presence Indicators

See when contacts are online, idle, or offline. Last-seen timestamps update automatically via shared polling.

Groups use sender-key encryption and admin-signed, fork-rejecting membership rosters. The app also supports contact blocking, key rotation, preferences, notifications where supported, and encrypted offline queues. Built on Voidly Relay.

Another path in

When the route
is the problem.

Alongside the web address, Veil provides a Tor onion service for the app and its message rail. Tor Browser can offer that route from the normal address when available.

A publish gate requires a byte-identical client build, or an honest holding page, rather than a silently different client.

The limit: this is not anonymity and does not survive an API outage. The onion host still reaches the API over the clearnet. It addresses blocking of your path, not every failure behind it.

Your next device
starts with a backup.

There is no password-reset shortcut for a lost cryptographic identity. Back up before you need to recover.

Identity backup

A passphrase-encrypted export restores keys and identity. It does not restore message history.

History backup

A separate passphrase-encrypted .veilhist export carries chat history across devices. The relay cannot re-serve old history.

Settings sync

Display name, theme and preferences only. Not messages. A forgotten backup passphrase cannot be reset.

A place on
your Home Screen.

Install Veil as a web app. On iPhone, use Safari; iOS 16.4+ supports installed-web-app push notifications. This is not a native App Store app.

  1. Open in Safari

    Visit msg.voidly.ai on your iPhone

  2. Tap Share

    Tap the share button (square with arrow)

  3. Add to Home Screen

    Scroll down and tap "Add to Home Screen"

  4. Launch

    Open from your Home Screen — full app experience

Also available in modern desktop and Android browsers. Installation prompts and notification support depend on the browser.

Open Veil

Before you
start a conversation.

Installation, recovery and the details worth understanding.

Start with your identity.
Keep the conversation yours.

Open Veil