Release 0.1.266 · source code is public (AGPL-3.0)

The messenger
that needs no server

Vault encrypts messages on your device and delivers them as ordinary email — through any mail account. No storage servers, no logs, no metadata. Just you and the recipient.

0storage servers
2platforms — Android & desktop
3interface languages
E2Eencryption on every message

How Vault works

There is simply no server side. Your email is the transport, your device does the encryption.

step 1

Connect any mailbox

Gmail, Outlook, Zoho, your own domain — any account with IMAP/SMTP. Vault runs on top of your existing email and creates nothing new.

step 2

Exchange keys

Cryptographic keys are generated on your device. Verify contacts via QR code or key fingerprint. The private key never leaves the device.

step 3

Chat like in any messenger

A message gets encrypted and sent as an email. The recipient's app decrypts it automatically. To the mail provider it's just opaque data.

Features

Everything you need for daily conversations — and nothing you don't.

🔐

Groups up to 50

Encrypted group chats with a shared group key.

📞

Voice & video calls (beta)

Voice and video calls over the same mail account: Opus codec, VP8 video, XChaCha20-encrypted media stream.

⏱️

Disappearing messages

Messages that self-destruct after a set time.

🖼️

Media & attachments

Photos, documents, files — encrypted, never uploaded to a cloud.

📊

Polls

Polls in chats and groups: up to 10 options, votes are encrypted, results visible to everyone.

🔋

Eco mode

Instant delivery via relay without a permanent background connection: battery stays full, notifications stay on. Pushes via UnifiedPush — no Google services involved.

↪️

Forwarding & drafts

Forward messages to other chats; an unfinished message is saved and waits for you.

📍

Location & folders

Share a map point (OpenStreetMap); chat folders, archive and per-chat mute.

🎨

6 themes

Dark, light and accent themes — from strict to cozy.

🌍

3 languages

English, Russian, Chinese — switch right in the app, no restart.

Guide: installation and setup

From install to your first call in five steps. Everything is configured inside the app — no sign-ups anywhere.

1. Install the app

Android. Download the APK from the "Download" section (or inside the app: Settings → Help → "Check for updates"). When the system asks to allow installs from this source, allow it and confirm. Updates: the same button shows the new version and a link to the APK.

Windows / Linux. Unpack the archive and run the executable. No installation required; data lives in your user profile.

What lives where. Encryption keys, chat history and settings are stored only on your device (a local SQLite database). There are no Vault servers and no cloud copies — right after the first launch, enable key backup in "Settings → Keys".

2. Sign in: your email is the transport

Your account is a regular email address. Pick a provider (Gmail, Yandex, Mail.ru, Zoho, Outlook, iCloud, GMX, WEB.DE, Fastmail, Rambler and more — servers are filled in automatically; for "Other" enter IMAP/SMTP manually) and enter your address and password.

Gmail and iCloud may require an "app password" instead of the regular one — create it in your provider's security settings. The password is stored encrypted on your device only; "Remember on this device" enables automatic sign-in.

No registration with Vault or anyone else: messages travel between your mailboxes, Vault servers do not exist.

Tip: use a separate, clean mailbox. Email is only a transport for Vault, so it works best with a mailbox you don't use for regular correspondence: provider notifications, filters and mail lists stay separate from your personal mail, and all Vault messages live in one place.

You can change your email at any time. Settings → "Change email": contacts and groups are kept — encryption keys are not tied to the address. After switching, send a message or your profile and your contacts learn the new address automatically.

3. Keys and adding a contact

Encryption keys are generated automatically at first launch. To start a chat, add the other person in one of two ways:

QR code (in person). Both of you open "Keys" (🔗) and show/scan each other's QR. The most secure option: keys never cross any network.

By member id (remotely). Exchange codes over any channel — optionally verify the key fingerprint (40 hex characters) by voice or in person.

After adding, the contact's fingerprint is pinned: the app warns you if the key unexpectedly changes.

4. Chats: messages, files, groups

Chatting works like any messenger: IMAP IDLE delivers messages in seconds, sent/delivered status shows under each message. You can reply with a quote, edit and delete your own messages for everyone.

"Delete for me". Long-press (phone) or right-click (desktop) any message — including call records — to open the menu with "Delete for me": the message disappears only on your side, the other person keeps it. Clean up your chat without touching theirs.

Attachments and voice. Photos, documents and voice messages are encrypted exactly like text and never uploaded to any cloud.

Groups. "+" in the chat list → "Create group": members are invited with the same keys, the group key is encrypted for each member separately. Up to 50 members, with roles and message pinning.

Disappearing messages. Set a timer in the chat — messages get deleted for all participants after the chosen time.

Auto-clean. Settings → Chats: automatically remove messages older than 1/7/30/365 days from this device — history stays out of the mailbox.

Channels: broadcast to your subscribers

What it is. A channel is a broadcast chat: the author publishes posts, subscribers only read. Subscribers can't see each other and don't know the author's address; the author doesn't know the addresses of "anonymous" subscribers — privacy both ways, like everything else in Vault.

Create. The 📣 button in the chat-list header → name and description. After creation press "Share" — the subscribe link (vault://join-channel…) is copied: send it in a chat, a group, or post it anywhere.

Subscribe. The 🔗 button next to 📣 → paste the channel link. Subscribing is instant: the channel key comes inside the link, no approval from the author is needed.

Delivery. Posts travel through the Vault relay (one envelope for all subscribers — instant) and, if you sent the author a "hello" or were added manually, are duplicated by email. If the relay is down, known subscribers still get the post by mail — delivery is never lost. New-post notifications work like group messages.

Preview limitations. The feature is marked experimental: text posts only, no file attachments in posts yet; the author edits the avatar and description (the subscribe link stays valid after a rename). Deleting a channel removes it only on your device (local subscription).

Bots (experimental)

What a Vault bot is. A regular Vault account — same email, same keys, same encrypted format. No special bot APIs, no server privileges: a chat with a bot runs over the very same E2E channels as a chat with a person. The difference lives on the bot's side: a listener program decrypts incoming messages, forwards them to your AI assistant and sends the reply back.

How to use. Add the bot as a normal contact (QR or invite link from the bot's owner) and write to it — replies arrive just like from a human, with the same delivery latency (relay: seconds, email: minutes). Notifications, forwarding and search all work as in a regular chat.

Experimental status. There is no public assistant yet; you can connect your own bot (developer instructions in the repository, vault --listen mode). Privacy: the bot's owner sees exactly what any other contact sees — the message text after key exchange; the Vault server sees nothing.

5. Calls (beta)

Voice calls run over the same email account, with no separate servers. Enable the calls switch in "Settings → Experimental features" — a phone button appears in the chat.

Calling: if the person is online you get ringing tones and a live call; if offline they will see a "Missed call". Missed and completed calls appear in the chat as records, which can also be removed with "Delete for me".

The conversation does not start immediately after accepting. When you tap "Accept", the app establishes a direct encrypted connection between the two devices (session setup is exchanged via email): this usually takes a few seconds, with "Connecting…" shown on screen. Wait until the status changes to the active call — audio starts as soon as the connection is established. This is normal and does not mean the call is broken.

The media stream is encrypted with XChaCha20, the codec is Opus (same as WhatsApp). Sound quality and ringtones are configurable. Calls are beta: some networks/devices may have limitations.

Video. During an active call, tap the camera button in the control row — the other person sees you and you see them. Frames travel over the same protected path as voice (VP8, E2E-encrypted), with no separate servers. The camera is enabled per call as you choose; if the camera is unavailable or you deny access, the call stays voice-only and you can still see the other person's video. Video can be turned off with the same button mid-call.

Delivery modes and notifications

Vault runs in two modes — the "Eco mode" toggle in settings.

Classic. The app keeps a permanent connection to your mailbox (IMAP IDLE): messages arrive within seconds, a background service with a status-bar icon runs. Delivery is accelerated by the Vault relay — an encrypted copy of every message travels directly, whichever route delivers first wins.

Eco. The background service and the permanent connection are switched off — battery drain is minimal. Delivery: relay plus a once-a-minute mailbox check; while the app is open it is just as instant as in classic mode. When the app is closed, notifications arrive as a system push: install any UnifiedPush app (e.g. ntfy) — Vault will offer to set it up when you enable eco mode. Since 0.1.164 the push is smart: if the app is alive and polling the relay itself, the system push is not duplicated — exactly one notification per message.

Relay. The delivery accelerator (vault-msg.ru/relay) — the only optional server component. It only ever sees encrypted envelopes and keeps them for up to 24 hours, then deletes them; content and addresses stay hidden. The free tier is 100 envelopes per day per account (plenty for a human); when exhausted, delivery silently continues over email — no message is ever lost. The relay can be disabled in settings — the app keeps working over pure email.

Backups and moving to a new device

"Settings → Keys" offers key-store export/import plus a recovery key (mnemonic phrase). It restores your keys and account access on a new device — chat history stays in the mailbox and local copies.

Polls, forwarding, drafts, location and folders

Polls. In an open chat tap the bar-chart button in the row under the input field. Enter a question and two or more options (up to 10) — the "Send" button activates once the question and at least two options are filled in. Participants see the poll as a card in the chat and vote with one tap; one vote per person. Each vote is delivered as a separate encrypted email, and the running totals are aggregated in the poll card for everyone.

Forwarding. Long-press (on the phone) or right-click (on the desktop) a message → "Forward" → pick a chat from the list (contacts and groups, except the current one). The recipient sees the text with a "Forwarded from …" mark. Polls and call records cannot be forwarded.

Drafts. An unfinished message never disappears: when you switch to another chat the text is saved for that chat and restored in the input field when you come back. Drafts live only on your device.

Location message (Android). The map-pin button under the input field sends your current point as an "I'm here: …" message with an OpenStreetMap link — the link is clickable for every recipient, including other platforms. If the location cannot be determined, a notice appears.

Chat folders, archive, mute. Long-press (right-click) a chat in the list → menu: "Mute" (notifications off), archive, "Folder" — pick an existing folder or create a new one (name up to 24 characters). Folders show as a chip strip above the chat list: tapping a chip filters the list to that folder, tapping again clears the filter.

Blocking a contact. Hide an unwanted correspondent without losing your history: long-press (right-click) a chat in the list → "Block" — or right-click someone else's message (including in a group) → "Block". A red banner appears in the blocked chat, sending is disabled; new messages and calls from that contact are neither shown nor notified about. In group settings each participant has a ⊘ button — the same, scoped to that group's messages. The block works on your device (end-to-end encryption leaves the server unable to filter mail) and follows all of the contact's addresses, including after they change their email. Unblock from the same menu or via the button on the banner in the open chat. Messages sent while the block was active are not restored — they were never saved. Your old history stays visible.

Green “online” dot. A contact may show a green dot — they are using the app right now. It is off by default: enable “Settings → Privacy → Show that I'm online” and your contacts will see your activity (passively the dot only appears if you have just sent a message yourself). The signal travels over the same encrypted channel as messages; nothing about individual recipients is revealed to outsiders.

Security

Not a single third-party server between you and your recipient.

LayerTechnologyStatus
Key exchangeX25519 — ephemeral exchange, session keys per conversationin release
Message encryptionXChaCha20-Poly1305 — authenticated AEADin release
Conversation key derivationX25519 + SHA-256 (HKDF-like) — ephemeral exchange, session keysin release
Call mediaXChaCha20 — stream encryption, Opus voice, VP8 videoin release
Quantum-resistant exchangeML-KEM-768 + X25519 — hybrid scheme (FIPS 203)in release
Server-side metadataNone: the only servers are your own IMAP/SMTP, holding nothing but encrypted blobs

Roadmap

Transparent about what's done and what comes next.

Messaging core done

Encryption, contacts, QR key exchange, groups, attachments, calls (beta) — Android and desktop.

Public release Sept 3

Repository is public (github.com/kmakan/vault, AGPL-3.0), APK and installers published, this website, announcements in privacy communities.

Quantum-resistant encryption done

Hybrid ML-KEM-768 + X25519 key exchange (FIPS 203) — quantum computer attack protection shipped in the release.

Channels & mini-apps planned

Paid channels, mini-app marketplace, premium features — per the 2026 roadmap.

Download

Current version — 0.1.266 (24 October 2026). Updates in-app: Settings → Help → "Check for updates".

🤖

Android

APK, Android 7+ (minSdk 24)

Download APK v0.1.266
Signed with release key · more builds
💻

Linux

tar.gz · deb/rpm in GitHub releases

Download v0.1.266
Windows — in development
🍎

macOS

In development — follow the roadmap

Roadmap

FAQ

Short answers to the most common questions.

Email? Isn't that slow?

Vault keeps a persistent IMAP connection (IDLE), so messages arrive as fast as in any regular messenger. Email is only the transport: it stores and processes nothing.

What does my mail provider see?

Only the fact of an email between two addresses and the size of an encrypted blob. Subject and body carry no meaningful data.

What does it cost?

The app is free. Monetization will come from premium features (channels, mini-apps) — core messaging stays free forever.

What if my mail provider blocks the account?

The account is yours. Connect another mailbox at any time: chat history lives locally on your device and is not tied to a provider.

How is this different from PGP?

Vault works like a messenger: automatic key exchange, groups, calls, attachments — no manual key management. The cryptography is modern (XChaCha20-Poly1305), not from the 90s.