Your Digital Sanctuary

A beautifully crafted, offline-first secure vault and WebRTC communication app. Built with uncompromising privacy, featuring End-to-End Encryption and 100% self-hosted infrastructure.

Get Started

The Motivation

In an era of data mining and server-side tracking, true privacy is hard to find. We built Enclave to be an impenetrable digital space—a sanctuary for intimate communications.

By utilizing the Signal Protocol for messaging, WebRTC for peer-to-peer video, and Ntfy for private push notifications, Enclave guarantees that no third party—not even us—can access your data. Your keys stay on your device, protected by Biometric Keystores.

Core Features

🔒

End-to-End Encryption

Every message, photo, and video call is encrypted locally using the Signal Protocol before it ever leaves your device.

📹

Peer-to-Peer WebRTC

High-quality, low-latency video and audio calls routed directly between devices via self-hosted TURN servers.

🔔

Private Push (Ntfy)

Zero reliance on Google FCM or Apple APNs. Background sync runs through your own secure WebSockets.

📜

Secure Vault

Hide your photos and videos behind an AES-GCM encrypted local vault, accessible only via Biometrics.

🎨

Glassmorphic UI

A stunning, dynamic interface built in Jetpack Compose, featuring smooth blurs and micro-animations.

🌐

100% Self-Hosted

Deploy the Node.js signaling server and PostgreSQL database on your own VPS. You own the entire stack.

Setup & Deployment

1. Clone the Repository

git clone https://github.com/saifmukhtar/enclave.git
cd enclave

2. Server Infrastructure

Deploy the backend services on your VPS. We recommend Ubuntu 24.04.

cd enclave-server
chmod +x setup_coturn.sh
sudo ./setup_coturn.sh
npm install
npm run start

3. Android Build Configuration

Create a local.properties file in the enclave-ui directory and configure your server IP and credentials.

SUPABASE_URL=https://your-supabase-url.supabase.co
SUPABASE_KEY=your-anon-key
SIGNALING_SERVER_URL=ws://your-vps-ip:3000
NTFY_SERVER_URL=https://ntfy.sh

4. Compile the App

Build the signed release APK.

cd enclave-ui
./gradlew assembleRelease