Skip to content

Repository files navigation


███████╗████████╗███████╗ █████╗ ██╗  ████████╗██╗  ██╗    ██╗   ██╗ █████╗ ██╗   ██╗██╗  ████████╗
██╔════╝╚══██╔══╝██╔════╝██╔══██╗██║  ╚══██╔══╝██║  ██║    ██║   ██║██╔══██╗██║   ██║██║  ╚══██╔══╝
███████╗   ██║   █████╗  ███████║██║     ██║   ███████║    ██║   ██║███████║██║   ██║██║     ██║   
╚════██║   ██║   ██╔══╝  ██╔══██║██║     ██║   ██╔══██║    ╚██╗ ██╔╝██╔══██║██║   ██║██║     ██║   
███████║   ██║   ███████╗██║  ██║███████╗██║   ██║  ██║     ╚████╔╝ ██║  ██║╚██████╔╝███████╗██║   
╚══════╝   ╚═╝   ╚══════╝╚═╝  ╚═╝╚══════╝╚═╝   ╚═╝  ╚═╝      ╚═══╝  ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚═╝   

🔐 Your secrets, disguised as math.


Kotlin React AES-256 Hilt License


Stealth Vault is disguised as a fully functional scientific calculator.
Enter the secret PIN and press = — and a hardware-encrypted private vault opens.
Nobody will ever know what's hiding behind the numbers.



📌 Table of Contents


✨ Overview

Stealth Vault is a multi-platform privacy ecosystem. On the surface, it's an elegant calculator app. Underneath, it's a hardened encrypted sandbox for your most sensitive files, photos, videos, and app data.

This monorepo contains two applications:

Platform Directory Description
📱 Android /app Native Kotlin app with hardware-backed AES-256 encryption, intruder detection, app locking, and a decoy PIN system
💻 Web /web React + TypeScript companion — same decoy calculator UI, auto-lock, glassmorphism design, and Framer Motion animations

🌟 Features


🧮   Decoy Calculator — The Perfect Cover

Looks and behaves exactly like a real scientific calculator.

What it does How
Full math expressions exp4j (Android) / Function() eval (Web)
Scientific functions sin, cos, log, , , π, e
Memory operations MC, MR, M+, M−
Calculation history Tap the clock icon to reveal past results
Swipe to delete Swipe left/right on the display to backspace
Haptic feedback Tactile response on every button press
Secret unlock trigger Enter PIN → press = → vault opens silently

🔐   Hardware-Grade Encryption

Your files are invisible to the OS and encrypted at rest.

User PIN  ──►  Android KeyStore (HSM)  ──►  AES-256-GCM Key Derivation
                                                      │
                                                      ▼
                               Encrypted Blob  ◄──  File / Photo / Video
                               (stored in app private dir — invisible to file explorers)
  • 🔑 Keys are sealed in Android KeyStore — never exposed to memory unless actively decrypting
  • 🗄️ Vault metadata stored in Room DB + SQLCipher (database-level encryption)
  • 🚫 Vault files are stripped from Android Gallery and all OS scanners immediately on import

📱   App Locker with Fake Crash Screen

Lock any installed app. Confuse anyone who tries to open it.

  • Runs as a background accessibility service, monitoring foreground app changes
  • When a locked app is opened by an intruder, the screen is replaced with a convincing "Application has stopped" crash dialog
  • You bypass the overlay with a secret gesture known only to you

🕵️   Anti-Intruder Protocols

Feature Description
📸 Intruder Selfie CameraX silently snaps a front photo on every wrong PIN
🪤 Decoy PIN A second PIN that opens a clean, empty decoy vault
💥 Emergency Wipe After 5 failed attempts, all vault data is permanently erased
⏱️ Auto-Lock (Web) Web app locks after 3 minutes of inactivity

🛠️ Tech Stack


📱 Android App

Layer Technology
Language Kotlin
Architecture MVVM + Clean Architecture
UI Material Design 3, Jetpack Nav
Encryption AES-256-GCM, Android KeyStore
Database Room DB + SQLCipher
Dependency Injection Hilt
Camera CameraX
CI/CD GitHub Actions

💻 Web Companion

Layer Technology
Language TypeScript
Framework React 18
Build Tool Vite
Animations Framer Motion
Icons Lucide React
Styling Vanilla CSS (HSL variables)
Design Glassmorphism, Dark Mode
Lock Custom useAutoLock hook

📁 Project Structure

Security-Vault/
│
├── 📱 app/                              ← Android application
│   └── src/main/
│       ├── java/com/stealthvault/app/
│       │   ├── data/
│       │   │   ├── local/              ← Room DB entities, DAOs, preferences
│       │   │   ├── repository/         ← VaultRepository (file ops + encryption)
│       │   │   └── security/           ← AES-256-GCM crypto engine
│       │   ├── di/                     ← Hilt dependency injection modules
│       │   ├── service/                ← App lock service, emergency wipe
│       │   ├── ui/
│       │   │   ├── fake/               ← Decoy Calculator Activity
│       │   │   ├── lock/               ← PIN lock screen
│       │   │   ├── vault/              ← Main vault fragments + ViewModel
│       │   │   └── settings/           ← Decoy PIN, wipe config, preferences
│       │   └── utils/                  ← Sensor security, helpers
│       └── res/                        ← Layouts, drawables, themes
│
├── 💻 web/                              ← React + TS web companion
│   └── src/
│       ├── components/
│       │   ├── DecoyCalculator.tsx     ← Full calculator UI + stealth trigger
│       │   └── Sidebar.tsx             ← Vault navigation sidebar
│       ├── hooks/
│       │   └── useAutoLock.ts          ← Inactivity auto-lock hook
│       ├── App.tsx                     ← Root app (lock/unlock state)
│       └── index.css                   ← HSL design tokens + glassmorphism
│
└── ⚙️  build.gradle.kts                 ← Root Gradle configuration

🚀 Getting Started

📱 Android

Requirements: Android Studio Jellyfish+, JDK 17, Android SDK 34+

# 1. Clone the repo
git clone https://github.com/Subhan-Haider/Security-Vault.git

# 2. Open in Android Studio → File > Open → select the repo root
# 3. Wait for Gradle sync to complete

# 4. Build the debug APK
./gradlew assembleDebug

# Output → app/build/outputs/apk/debug/app-debug.apk

💻 Web Companion

Requirements: Node.js 18+, npm

# 1. Enter the web directory
cd web

# 2. Install dependencies
npm install

# 3. Launch the dev server
npm run dev

# 4. Open in browser
#    http://localhost:5173
#
#    Enter PIN: 1337  →  press =  →  vault unlocks

🛡️ Security Architecture

Stealth Vault uses defense-in-depth — multiple independent security layers:

┌─────────────────────────────────────────────────┐
│                 LAYER 1 — OBSCURITY              │
│   Calculator disguise, no visible vault UI       │
├─────────────────────────────────────────────────┤
│                 LAYER 2 — ACCESS CONTROL         │
│   PIN verification, Decoy PIN, Auto-lock         │
├─────────────────────────────────────────────────┤
│                 LAYER 3 — ENCRYPTION             │
│   AES-256-GCM keys inside Android KeyStore HSM   │
│   SQLCipher encrypted database                   │
├─────────────────────────────────────────────────┤
│                 LAYER 4 — ANTI-FORENSICS         │
│   Files hidden from OS, metadata stripped        │
│   Intruder selfie, Emergency wipe on 5 failures  │
└─────────────────────────────────────────────────┘

⚖️ License

© 2026 Subhan Haider — All Rights Reserved

This project is released under a Custom Proprietary License.

Restriction
🚫 No publishing to any app store (Google Play, Apple App Store, etc.)
🚫 No redistribution or sharing with third parties
🚫 No modification or creation of derivative works
🚫 No commercial use of any kind
Personal viewing and private study is permitted

See the full LICENSE for details.



Built with 🔐 by Subhan Haider

About

Security Vault - The ultimate secure gallery and photo vault to hide and protect your private photos, videos, and files with advanced encryption.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages