An ephemeral messaging platform designed for secure, single-use information transfer.
Welcome to Vanish, a secure messaging platform built for those times when you need to share sensitive information—like passwords, API keys, or certificates—without leaving a digital trail.
Vanish operates on a zero-knowledge architecture, which means the server never sees your data in plain text. Your messages are encrypted right on your device (client-side) before they even touch the network. They are stored briefly in volatile memory and are permanently destroyed the moment they are read. We designed this specifically for enterprise environments where security and privacy are paramount.
- Zero-Knowledge by Design: We can't see your secrets, and neither can anyone else. The server never handles plaintext data.
- Client-Side Encryption: Your data is locked with AES-256-GCM encryption before it leaves your browser.
- Burn-on-Read: Once a message is viewed, it's gone. Automatically and permanently destroyed.
- Clipboard Protection: To prevent accidental leaks, secrets are copied directly to your clipboard instead of being displayed in the DOM.
- Truly Ephemeral: We use Redis for in-memory storage, ensuring no data is ever written to a persistent disk.
- You're in Control: Set a time-to-live (TTL) for your messages, ranging from 1 hour to 7 days.
Getting started with Vanish is straightforward. You can run it locally for development or deploy the full suite of services using Docker.
Before you begin, make sure you have the following installed:
- Docker and Docker Compose
- (Optional) Go 1.21+ and Node.js 20+ if you plan to do local development without Docker.
We've included handy scripts to help you manage the application lifecycle.
For Development: If you want to run the Go backend and Vite frontend locally with hot-reloading:
./start.sh devFor Production-like Environment: To spin up all services (Frontend, Backend, Postgres, Redis, Vault) in Docker containers:
./start.sh dockerStopping the Application: When you're done, you can shut everything down easily:
./stop.sh dev # Stops the local dev environment
./stop.sh docker # Stops the Docker containers
./stop.sh all # Stops everythingIf you prefer using Docker Compose directly, you can start all services with a single command:
docker-compose up -dOnce everything is running, you can access the application at http://localhost:3000.
To build and push your own Docker images to a registry:
# Build the unified image (Backend + Frontend)
docker build -t zafrem/vanish:tagname .
# Push the image to Docker Hub
docker push zafrem/vanish:tagnameService Endpoints:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- PostgreSQL:
localhost:5432 - Redis:
localhost:6379 - Vault (optional): http://localhost:8200
If you want to contribute or modify the code, here's how to run the backend and frontend services individually.
1. Backend Setup Navigate to the backend directory, set up your environment, and start the server:
cd backend
cp .env.example .env
docker-compose -f ../docker-compose.dev.yml up -d redis # We need Redis running
go run cmd/server/main.go2. Frontend Setup In a new terminal window, get the frontend running:
cd frontend
npm install
npm run devSee Vanish in action:
Your central hub for managing secure communications.

Compose your message, set an expiration time, and choose a recipient.

The recipient receives a secure, one-time-use link.

Monitor the status of your sent messages (Read, Pending, or Expired).

Vanish is built on a modern, robust stack designed for performance and security:
- Backend: Go 1.21, Gin Web Framework, Redis 7, PostgreSQL 15
- Frontend: React 18, Vite, Tailwind CSS, Web Crypto API
We have detailed documentation available to help you get the most out of Vanish:
- API Reference: Explore the complete API documentation.
- Architecture: Deep dive into the system design and security model.
- Deployment Guide: Instructions for deploying Vanish to production.
- Enterprise Setup: Integrations for Okta, Vault, Slack, and Email.
- Configuration: Learn about environment variables and settings.
- Testing: How to run the test suite.
- Recipients could still take a photo or screenshot of the message.
- If a recipient's device is compromised, the data could be at risk.
- Social engineering attacks are always a possibility.
Please use Vanish as part of a broader security strategy.
Vanish is open-source software. See the LICENSE file for more details.

