Skip to content

Latest commit

 

History

History
335 lines (260 loc) · 14.7 KB

File metadata and controls

335 lines (260 loc) · 14.7 KB

🔐 X-PASS — Secure Password Manager

License: GPL-3.0 Tauri Rust React

Enterprise-grade password manager with military-level security, offline-first architecture, and duress mode protection.

X-PASS Login UI

X-PASS Main Interface X-PASS Settings X-PASS Fail Password


✨ Features

🔒 Military-Grade Security

  • AES-256-GCM Encryption — Bank-level encryption for all stored data
  • Argon2id Password Hashing — Quantum-resistant key derivation
  • Zero-Knowledge Architecture — Your master password never leaves your device
  • Offline-First Design — No cloud, no tracking, no data leaks

🚨 Advanced Security Features

  • 🔑 Two-Factor Authentication (TOTP) — Compatible with Google Authenticator, Authy
  • 📸 Failed Login Photo Capture — Captures photos of unauthorized access attempts
  • 🥷 Duress/Pseudo Mode — Show fake vault under coercion (configurable panic password)
  • 📊 Activity Logging — Track all vault access with detailed analytics
  • 🔄 Encrypted Backups — Export/import with password-protected encryption

Activity Logs Security Report Duress Mode

🎨 User Experience

  • 10 Premium Themes — Dark, Light, Cyberpunk, Dracula, Ocean, and more
  • 13 Languages — English, Russian, Spanish, German, French, Arabic, Hindi, etc.
  • Custom Window Controls — Frameless design with smooth animations
  • Smooth Scrolling — Polished UI with Framer Motion animations

Demo GIF


🚀 Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/ar3love/x-pass.git
cd x-pass

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Build for production
npm run tauri build

First Launch

  1. Create your master password (min. 8 characters)
  2. Enable 2FA (recommended) — Scan QR code with authenticator app
  3. Start adding passwords to your vault!

📦 Downloads

Latest version: v0.3.1 (January 08, 2026)

Platform File Size Download Link
🪟 Windows (MSI EN) X-PASS_0.3.1_x64_en-US.msi ~191 MB Download
🪟 Windows (MSI RU) X-PASS_0.3.1_x64_ru-RU.msi ~191 MB Download
🪟 Windows (NSIS) X-PASS_0.3.1_x64-setup.exe ~191 MB Download
🍎 macOS Coming soon (build from source available)
🐧 Linux Coming soon (build from source available)

Notes:

  • All Windows installers are for x64 (Windows 10 1809+ / Windows 11 recommended).
  • After installation, the app size is approximately 7 MB.
  • macOS and Linux builds will be added in upcoming releases.
  • You can always build from source if needed: Build Instructions

For older versions or source code, check the full Releases page.

🔐 Security Architecture

┌──────────────────────────────────────────────────────────────────────┐
│                        USER AUTHENTICATION                            │
└────────┬─────────────────────────────────────────────────┬────────────┘
         │                                                 │
    ┌────▼─────┐              ┌──────────┐          ┌─────▼──────┐
    │ Master   │              │   OTP    │          │  Pseudo    │
    │ Password │              │   Code   │          │  Password  │
    └────┬─────┘              └─────┬────┘          └─────┬──────┘
         │                          │                     │
    ┌────▼─────────┐          ┌─────▼──────────┐    ┌────▼─────────┐
    │  Argon2id    │          │ TOTP Verify +  │    │  Argon2id    │
    │  (salt+hash) │          │ Decrypt Recov  │    │  (check vs   │
    └────┬─────────┘          └─────┬──────────┘    │  pseudo hash)│
         │                          │               └────┬─────────┘
         │                          │                    │
    ┌────▼──────────────────────────▼────────────────────▼─────────┐
    │           Derive 256-bit AES-256-GCM Encryption Key           │
    └────┬──────────────────────────────────────────────────────────┘
         │
    ┌────▼──────────────────────────────────────────────┐
    │  Is Key Valid? (Test decrypt first entry)         │
    └────┬─────────────────────────────────┬─────────────┘
         │ ✅ Valid (Real)                 │ ❌ Invalid (Pseudo)
         │                                 │
    ┌────▼───────────────┐          ┌──────▼──────────────┐
    │ AES-256-GCM        │          │ Check Pseudo        │
    │ Decrypt Real Data  │          │ Settings            │
    └────┬───────────────┘          └──────┬──────────────┘
         │                                 │
    ┌────▼───────────────┐          ┌──────▼──────────────┐
    │ 💾 SQLite Database │          │ Show Fake Entries   │
    │ Real Passwords     │          │ OR Empty Vault      │
    └────────────────────┘          └─────────────────────┘

┌──────────────────────────────────────────────────────────────────────┐
│                      FAILED LOGIN HANDLING                            │
├──────────────────────────────────────────────────────────────────────┤
│  Wrong Password → 📸 Capture Photo → Encrypt → Store in DB           │
│                 → 📊 Log Activity with Timestamp                      │
└──────────────────────────────────────────────────────────────────────┘

Key Security Features

  • No Master Password Storage — Only Argon2id hash stored with unique salt
  • Per-Entry Encryption — Each password encrypted with AES-256-GCM + unique nonce
  • OTP Recovery System — Master key encrypted with OTP-derived key (no password storage)
  • Pseudo Mode Protection — Wrong password triggers fake vault or data wipe
  • Memory Wiping — Sensitive data cleared from RAM after use
  • Photo Evidence — Failed login attempts captured and encrypted
  • Offline-First — All operations happen locally, no network calls

🛡️ Duress/Pseudo Mode

Scenario: Someone forces you to unlock your vault under threat.

Solution: Set up a panic password that shows a fake vault with decoy data.

How It Works

  1. Go to Settings → Security → Pseudo Mode
  2. Create a secondary password
  3. Choose action: Show Fake Vault or Wipe Real Data
  4. Generate fake entries automatically
// Real password → Real vault
login("my-real-password") // ✅ Accesses actual passwords

// Panic password → Decoy vault
login("panic-123") // ⚠️ Shows fake LinkedIn/Gmail entries

Pseudo Mode Demo


🌍 Supported Languages

Language Code Status
🇬🇧 English en ✅ Complete
🇷🇺 Russian ru ✅ Complete
🇪🇸 Spanish es ✅ Complete
🇩🇪 German de ✅ Complete
🇫🇷 French fr ✅ Complete
🇸🇦 Arabic ar ✅ Complete
🇮🇳 Hindi hi ✅ Complete
🇮🇩 Indonesian id ✅ Complete
🇮🇹 Italian it ✅ Complete
🇯🇵 Japanese ja ✅ Complete
🇰🇷 Korean ko ✅ Complete
🇧🇷 Portuguese pt ✅ Complete
🇨🇳 Chinese zh ✅ Complete

Want to add your language? Contribute here!


🎨 Themes

Theme Preview
🌙 Dark Default dark mode with blue accents
☀️ Light Clean minimalist light theme
💜 Cyberpunk Neon purple with glitch effects
🧛 Dracula Popular purple/pink dark theme
🌊 Ocean Calming blue gradient
🏜️ Sand Warm beige desert theme
🌅 Sunset Orange/purple gradient
☢️ Toxic Radioactive green
🎆 Neon Bright cyan/magenta
🌈 Fallout Post-apocalyptic amber

Theme Showcase


📊 Project Structure

x-pass/
├── src/                    # React frontend
│   ├── components/         # UI components
│   ├── context/           # React contexts (Auth, Theme, Pseudo)
│   ├── pages/             # Main pages (Login, Vault, Settings)
│   └── assets/            # Translations, images
│
├── src-tauri/             # Rust backend
│   ├── src/
│   │   ├── password_manager.rs   # Core vault logic
│   │   ├── otp.rs                # TOTP 2FA
│   │   ├── pseudo_mode.rs        # Duress mode
│   │   ├── activity_logger.rs    # Security logging
│   │   ├── backup.rs             # Encrypted export/import
│   │   └── lib.rs                # Main entry point
│   └── Cargo.toml         # Rust dependencies
│
├── docs/                  # Documentation
│   ├── images/           # Screenshots & diagrams
│   └── architecture.md   # Technical deep dive
│
└── README.md             # You are here!

🧪 Development

Build for Specific Platform

# Windows
npm run tauri build -- --target x86_64-pc-windows-msvc

# macOS (Intel)
npm run tauri build -- --target x86_64-apple-darwin

# macOS (Apple Silicon)
npm run tauri build -- --target aarch64-apple-darwin

# Linux
npm run tauri build -- --target x86_64-unknown-linux-gnu

Debug Mode

# Enable verbose logging
RUST_LOG=debug npm run tauri dev

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Ways to Contribute

  • 🐛 Report bugsOpen an issue
  • 🌍 Translate — Add new language files
  • 🎨 Design — Create new themes
  • 💻 Code — Fix bugs or add features
  • 📝 Documentation — Improve guides

📜 License

This project is licensed under GPL-3.0 with additional commercial restrictions.

  • Free for personal use, education, and open-source projects
  • Commercial entities (revenue > $1M/year) require a separate license
  • 📧 Contact: [ar3love@outlook.com] for commercial licensing

See LICENSE for full terms.


🙏 Acknowledgments

Built with these amazing technologies:


📞 Support


Made with ❤️ by arelove

Star this repo if you find it useful!