Keyper
π A self-hosted credential manager with zero-knowledge encryption, multi-user support, and emergency recovery. Store API keys, passwords, and secrets securely with your own database. Features AES-256-GCM encryption, Argon2 key derivation, PWA support, and professional-grade security architecture.
Install / Use
/learn @pinkpixel-dev/KeyperREADME
π Keyper - Self-Hosted Credential Management
<div align="center"> <img src="./public/logo.png" alt="Keyper Logo" width="300" />β¨ Your Credentials. Your Security. Your Rules. β¨
A modern, secure, self-hosted credential management application for storing and organizing your digital credentials with complete privacy and control.

π Quick Start β’ πΌοΈ Screenshots β’ π¦ Installation β’ ποΈ Setup β’ π± PWA β’ π§ Troubleshooting
</div>π₯ Download
Desktop installers are available on the Keyper website.
| Platform | Package | Download |
| ---------- | --------------- | ---------------------------------------------------------------------------------------------------- |
| πͺ Windows | NSIS installer | KeyperSetup.v1.1.1.exe |
| π§ Linux | AppImage | Keyper-1.1.1.AppImage |
| π§ Linux | .deb (x86_64) | keyper_1.1.1_amd64.deb |
| π§ Linux | .deb (ARM64) | keyper_1.1.1_arm64.deb |
πΌοΈ Screenshots





π Features
π Secure Credential Storage
- π API Keys - Store and organize your API credentials
- π Login Credentials - Username/password combinations
- π€« Secrets - Sensitive configuration values
- π« Tokens - Authentication and access tokens
- π Certificates - SSL certificates and keys
- π Documents - Secure file uploads for
.pdf,.doc,.docx,.odt,.txt,.md - π§© Miscellaneous - Large multiline secure notes/commands/scripts that donβt fit fixed types
π·οΈ Smart Organization
- π Categories - Group credentials by service or type
- π Tags - Flexible labeling system
- β‘ Priority Levels - Low, Medium, High, Critical
- π Expiration Tracking - Never miss renewal dates
- π Real-time Search - Find credentials instantly
- ποΈ Quick Reveal & Copy - Reveal and copy sensitive values directly from the credential detail view
- ποΈ Inline Text Document Preview - Text-like document credentials (
.txt,.md,text/*) can be previewed inline in credential detail view - β¬οΈ Secure Document Download - All document credentials can be downloaded from detail view
π‘οΈ Enterprise-Grade Security
- π Row Level Security (RLS) - Database-level isolation
- π End-to-End Encryption - Client-side encryption, zero-knowledge architecture
- π€ Multi-User Support - Self-service registration, account switching, and per-user vault isolation
- π Secure Connections - HTTPS/TLS encryption
- π Self-Hosted - Complete control over your data
π Advanced Encryption Features
- Zero-Knowledge Architecture - All encryption happens client-side
- AES-256-GCM Encryption - Industry-standard authenticated encryption
- Argon2id Key Derivation - Memory-hard, ASIC-resistant (with PBKDF2 fallback)
- Auto-Lock Protection - 15-minute inactivity timeout with activity detection
- Simplified Bcrypt Master Passphrase - Secure bcrypt-only authentication for new users
- Backwards Compatibility - Legacy wrapped DEK system maintained for existing users
- User-Controlled Reset - Secure emergency passphrase reset without admin backdoors
- Database-Only Storage - No localStorage usage except for database config
- Professional Security Audit - EXCELLENT security rating
π± Modern Experience
- π Dark Theme - Easy on the eyes
- π± Responsive Design - Works on all devices
- β‘ Progressive Web App - Install like a native app
- π Fast Performance - Built with Vite and React 19
- π¨ Beautiful UI - Modern glassmorphism design
π Quick Start
Get Keyper running on your own infrastructure in under 5 minutes!
Prerequisites
- Node.js 18+ installed on your system
- Database (choose one):
- ποΈ SQLite (local mode) β no account or server required, zero configuration, works in browser and Electron desktop
- βοΈ Supabase β free tier works perfectly for hosted/remote/multi-device usage
- Modern web browser (Chrome, Firefox, Safari, Edge)
β‘ 1-Minute Installation
# Install Keyper globally
npm install -g @pinkpixel/keyper
# Start the server (default port 4173)
keyper
# Or start with custom port
keyper --port 3000
# Open in your browser
# π http://localhost:4173 (or your custom port)
That's it! π Follow the in-app setup wizard to configure your database (choose SQLite for zero-config local storage, or Supabase for hosted cloud storage).
π Try the Demo
Want to try Keyper before installing? Visit our hosted demo:
π app.keyper.icu
Just enter your own Supabase credentials and start managing your encrypted credentials instantly! Your data stays completely private since all encryption happens in your browser.
Demo Usage:
- β Completely Secure - Zero-knowledge architecture means your data never leaves your browser
- β Real Functionality - Full Keyper experience with your own Supabase instance
- β No External Signup Required - Just bring your Supabase URL and anon/publishable key
- β In-App User Registration Available - Create multiple isolated user vaults directly inside Keyper
- β οΈ Demo Limitations - Recommended for testing and light usage only
- π Self-Host for Production - Install locally for best performance and full control
Note: The demo uses the same secure architecture as self-hosted Keyper. Your Supabase credentials are stored only in your browser's localStorage and never transmitted to our servers.
π¦ Installation
Method 1: Global NPM Installation (Recommended)
npm install -g @pinkpixel/keyper
Available Commands:
keyper- Start Keyper serverkeyper --port 3000- Start on custom portkeyper --help- Show help and usagecredential-manager- Alternative commandkeyper-dashboard- Another alternative
Method 2: NPX (No Installation Required)
npx @pinkpixel/keyper
Method 3: Local Development
git clone https://github.com/pinkpixel-dev/keyper.git
cd keyper
npm install
npm run build
npm start
Method 4: π³ Docker
Run Keyper as a containerised web app β no Node.js required on the host!
# Clone the repo
git clone https://github.com/pinkpixel-dev/keyper.git
cd keyper
# Build & start (serves on http://localhost:8080)
docker compose up -d
# Or on a custom port
HOST_PORT=3030 docker compose up -d
# Force rebuild after source changes
docker compose up -d --build
# Stop
docker compose down
# Follow logs
docker compose logs -f
To build and run the image directly (without Compose):
docker build -t keyper .
docker run -d -p 8080:80 --name keyper --restart unless-stopped keyper
Note: Keyper stores all configuration (Supabase credentials or SQLite provider selection) in browser
localStorageβ no environment variables or volumes are required.
Method 5: β‘ Electron Desktop App
Run Keyper as a native desktop app on Windows or Linux!
Published desktop downloads
- Windows installer: KeyperSetup.v1.1.1.exe
- Linux AppImage: Keyper-1.1.1.AppImage
- Linux
.deb(x86_64): keyper_1.1.1_amd64.deb - Linux
.deb(ARM64): keyper_1.1.1_arm64.deb
Preview (no packaging)
git clone https://github.com/pinkpixel-dev/keyper.git
cd keyper
npm install
npm run electron:preview
Build a distributable installer
# desktop packaging from source
npm run electron:build:linux # AppImage + deb
npm run electron:build:win # NSIS installer
Installers are output to dist-electron/.
ποΈ Database Setup
Keyper supports two database bac