A decentralized, censorship-resistant messenger and overlay-network client, built on veil (the network) and hidden-volume (deniable storage).
Cross-platform Flutter: Android · iOS · Windows · Linux · macOS.
Getting the app: builds for Android, Windows and Linux are on the
Releases page;
INSTALL.md says which file to take and what each platform will
complain about. Nothing is published for macOS or iOS — both need an Apple
Developer account before there is anything worth handing out — so there you
build it yourself, from BUILDING.md, which now starts from a
clean machine.
Built for people in censored and authoritarian environments. Two rules drive the design: the fewest possible actions for the user, and no central source of data. See
doc/SECURITY-NOTES.md.
Real P2P chat works end to end. Verified between two app instances over the live veil overlay, including:
- Onboarding, lock screen +
AppPhase-gated navigation, "start over" recovery - Deniable storage on a real
hidden-volumecontainer (desktop) - A real veil node — spawned (
veil-cli) or run in-process via FFI (node-embedded, the iOS/sandbox path; RocksDB stripped for a slim mobile build) - Real overlay transport; contact exchange via bootstrap invites (QR + paste)
- Consent gate — request → accept before anyone can message you
- Master vault (one password → several spaces); RU/EN; veil-branded icons
The app still builds/runs/tests on in-memory fakes behind clean ports (no native
stack needed); the real stack activates via env (XVEIL_VEIL_CLI/XVEIL_VEIL_CONFIG,
XVEIL_NODE_MODE=embedded). See doc/REAL-MODE.md and
doc/ARCHITECTURE.md. The automated suite covers the
application, protocol, storage, media, and recovery layers; hardware-dependent
live checks remain explicitly env-gated under test/native/.
For complete native build instructions in English and Russian, including
macOS, Android, iOS, Linux, Windows, release signing, and production network
material, see BUILDING.md.
git clone --recurse-submodules git@github.com:veilnetwork/xVeil.git
cd xVeil
flutter pub get
flutter run -d macos # or windows / linux / a deviceIf you cloned without --recurse-submodules:
git submodule update --init --depth 1Checks:
flutter analyze
flutter testlib/
core/ value types (NodeId)
domain/ Identity, Contact, Conversation, Message
data/ ports + fakes: storage/ node/ transport/
state/ Riverpod: providers, AppController, MessagingService
features/ splash · onboarding · lock · home · chat · network · settings
routing/ go_router + AppPhase gating
l10n/ app_en.arb · app_ru.arb
third_party/ veil + hidden-volume (git submodules)
doc/ ARCHITECTURE.md · SECURITY-NOTES.md
- News: @xVeilNet — releases and project updates.
- Discussion: @chat_veilnet — bug reports, questions, suggestions.
Donations in crypto:
- Ethereum:
0x5238294aFb8F4e36D7ea091827909E0311879B1A - Bitcoin:
bc1qam33yx29et9krqc8jnnu80qvds8jz32wrwr3ph