Skip to content

About

SecureVault is a cross-platform personal security and productivity app for Windows and Android. Built with React, Electron, Capacitor, and Firebase, it securely manages passwords, notes, finances, budgets, goals, reminders, contacts, and personal data with vault protection, cloud sync, Google Sign-In, biometric support, and offline functionality.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

SecureVault

SecureVault is a cross-platform personal security and productivity application designed to help users securely manage important personal information in one place.

The project includes a Windows desktop application powered by Electron and an Android application powered by Capacitor. SecureVault combines password management, secure notes, financial tracking, planning, reminders, personal goals, encrypted local storage, cloud authentication, and cloud synchronization.

Features

Password Management

  • Store and organize website credentials.
  • Save usernames, passwords, websites, and categories.
  • Search saved passwords.
  • Copy usernames and passwords.
  • Reveal or hide stored passwords.
  • View password strength indicators.
  • Organize credentials by category.
  • Select multiple entries for supported bulk actions.
  • Keep sensitive password data inside the protected vault.

Secure Notes

  • Create, edit, and organize personal notes.
  • Search and manage saved notes.
  • Pin important notes.
  • Organize notes using categories and labels.
  • Store sensitive information inside the protected vault.
  • Move supported notes to Trash.
  • Restore deleted notes where supported.

Financial Management

  • Track income and expenses.
  • Create and manage financial transactions.
  • Organize financial records by category.
  • Review transaction details and amounts.
  • Search and manage financial records.
  • Use budget-management features to monitor spending.
  • Track financial information alongside other personal records.

Budgets and Savings Goals

  • Create and manage budgets.
  • Monitor financial categories and spending.
  • Set personal savings goals.
  • Track progress toward savings targets.
  • Organize financial goals alongside other personal planning tools.

Vision Board and Goals

  • Create and manage personal goals and aspirations.
  • Add titles, descriptions, categories, images, and target dates.
  • Track goal progress.
  • Mark goals as completed or achieved.
  • Search and filter goals.
  • Select multiple goals for supported bulk actions.
  • Move supported goals to Trash instead of immediately deleting them.

Planner and Reminders

  • Create scheduled reminders.
  • Set reminder dates and times.
  • Configure recurring reminders where supported.
  • Manage reminder occurrences.
  • Receive notifications where supported by the platform.
  • Use planner features to organize personal tasks and schedules.

Contacts

  • Store and manage personal contact information.
  • Organize contacts inside SecureVault.
  • Keep important contact information available alongside other personal records.

Trash and Recovery

  • Move supported records to Trash before permanent deletion.
  • Restore supported deleted records.
  • Permanently delete items from Trash.
  • Apply the configured retention workflow where supported.

Selection and Bulk Actions

  • Select multiple records in supported sections.
  • Select and deselect supported rows or cards.
  • Use visual highlighting to distinguish selected items.
  • Cancel selection mode and clear the current selection.
  • Perform supported bulk actions on selected records.

Security Features

Protected Vault Access

  • Password-based vault access.
  • Encrypted vault data using the application's configured encryption implementation.
  • Protected access to sensitive personal information.
  • Local data storage for core vault functionality.

Windows Hello Support

The Windows desktop version includes support for Windows Hello biometric authentication where configured.

  • Biometric authentication support.
  • Windows Data Protection API integration where configured.
  • Additional protection for biometric-related local data.
  • Desktop security features designed for supported Windows systems.

Authentication

SecureVault includes cloud authentication improvements for supported versions.

  • Firebase Authentication integration.
  • Google sign-in support.
  • User authentication state handling.
  • Protected application access and cloud-connected features.
  • Improved authentication flow between sign-in and vault access.

Authentication does not replace the vault's own security protections. The vault access and encryption workflow remain important for protecting sensitive user data.

Cloud Synchronization

SecureVault now includes cloud-related functionality for supported application versions.

  • Cloud account integration.
  • Cloud synchronization support.
  • User-based synchronization workflows.
  • Synchronization between supported devices and application versions.
  • Cloud connection handling through the application's configured services.
  • Cloud synchronization logic separated from the core local vault functionality.

The exact availability of cloud synchronization depends on the configured backend services, authentication state, internet connection, and application version.

Cloudflare Worker Integration

The project includes a Cloudflare Worker component for cloud-related services.

The Cloudflare Worker project includes:

  • Worker configuration.
  • Worker source code.
  • Package configuration.
  • Automated worker testing.
  • Wrangler configuration.
  • Cloud service integration support.

The worker is located in:

cloudflare-worker/

Deployment and configuration may require a Cloudflare account and the appropriate environment configuration.

Android Application

SecureVault is available as an Android application through Capacitor.

Android-related features include:

  • Native Android project integration.
  • Capacitor-based mobile application support.
  • Firebase integration for Android.
  • Google Services configuration.
  • Cloud authentication support.
  • Cloud synchronization support.
  • Mobile access to SecureVault features.

The Android project is located in:

android/

Android-specific configuration includes:

android/app/google-services.json

This file contains Firebase configuration required for the configured Android application.

Windows Desktop Application

The Windows desktop version is powered by Electron.

Features include:

  • Windows desktop application packaging.
  • React-based user interface.
  • Electron application integration.
  • Automatic application startup configuration.
  • Local application services.
  • System tray and background operation where configured.
  • Windows Hello support where configured.
  • Windows installer generation through electron-builder.
  • Offline access to core local functionality.

The Windows installer can be built using:

npm run dist

The generated files are typically placed in:

release/

Offline and Local Functionality

SecureVault is designed so that core vault functionality can operate locally.

Supported local functionality includes:

  • Local vault data storage.
  • Local encrypted data handling.
  • Offline access to core features.
  • Desktop application functionality without requiring continuous internet access.

Some features require an internet connection, including:

  • Google sign-in.
  • Firebase Authentication.
  • Cloud synchronization.
  • Cloud-connected services.

Technology Stack

SecureVault uses the following technologies:

Frontend

  • React
  • JavaScript
  • TypeScript
  • Vite
  • HTML
  • CSS

Desktop

  • Electron
  • electron-builder

Mobile

  • Capacitor
  • Android
  • Gradle

Cloud and Authentication

  • Firebase
  • Firebase Authentication
  • Google Authentication
  • Cloud synchronization services
  • Cloudflare Workers

Application Services

  • Node.js
  • npm
  • Express where configured

Requirements

General Development Requirements

To run the project from source, you need:

  • Node.js
  • npm
  • Git
  • Project dependencies installed through npm

Windows Desktop Development

For the Windows desktop version:

  • Windows
  • Node.js
  • npm

Windows is recommended for testing Windows-specific features such as:

  • Electron packaging.
  • Windows Hello.
  • Windows Data Protection API integration.
  • Windows installer generation.

Android Development

For Android development, you may need:

  • Android Studio.
  • Android SDK.
  • Java Development Kit required by the Android toolchain.
  • An Android device or emulator.
  • Capacitor dependencies.

Installation

Clone the repository:

git clone https://github.com/IM-IMPO/Secure-Vault.git

Enter the project directory:

cd Secure-Vault

Install the dependencies:

npm install

Running the Application

Run the Web Development Version

Start the Vite development server:

npm run dev

Open the local URL displayed in the terminal.

Run the Electron Desktop Application

Start the Electron application in development mode:

npm run electron:dev

This uses the configured Electron startup process.

Build the Frontend

Build the production frontend:

npm run build

Preview the Production Build

Preview the built frontend:

npm run preview

Building the Windows Installer

Build the Windows version using:

npm run dist

The build process will:

  1. Build the Vite frontend.
  2. Package the Electron application.
  3. Create the Windows application package.
  4. Generate the NSIS installer.
  5. Generate the installer block map where configured.

The generated installer is typically located in:

release/

For example:

SecureVault Setup 1.0.0.exe

Test the installer before distributing it.

Building and Running the Android Application

After installing the required dependencies and Android development tools, synchronize the web build with Capacitor as required by the project's configured workflow.

The Android project is located in:

android/

Open the Android project using Android Studio to build, test, and generate Android application packages.

Before distributing an Android build, verify:

  • Firebase configuration is correct.
  • Google sign-in is configured correctly.
  • Authentication works on the device.
  • Cloud synchronization works as expected.
  • Vault access works correctly.
  • Sensitive data is not exposed in logs or builds.

Firebase Configuration

SecureVault includes Firebase integration for authentication and cloud-connected features.

The project contains Firebase-related application logic, including cloud authentication and synchronization components.

Important Firebase-related files include:

android/app/google-services.json
src/cloud.js
securevault/src/components/CloudLoginScreen.tsx
securevault/src/lib/cloudSync.js

Firebase configuration must match the configured application package, SHA certificates where required, authorized domains, and authentication providers.

Do not expose private service credentials or administrative keys in public frontend source code.

Cloud Synchronization

Cloud synchronization is intended to provide synchronization support between authenticated SecureVault environments where configured.

Before relying on cloud synchronization for important data:

  1. Test synchronization with non-sensitive test data.
  2. Verify authentication correctly identifies the user.
  3. Confirm synchronization completes successfully.
  4. Check how conflicts are handled.
  5. Maintain local backups of important vault data.

Cloud synchronization availability depends on the configured services and deployment environment.

Data and Privacy

SecureVault is designed around protecting personal information through a combination of local vault security and configured cloud services.

Local Data

  • Core vault data is stored according to the application's configured storage system.
  • Sensitive data should remain protected by the application's encryption and vault access mechanisms.
  • Core functionality is designed to support local operation.

Cloud Data

When cloud functionality is enabled:

  • Authentication information may be processed through Firebase.
  • Cloud synchronization requires the configured online services.
  • Internet connectivity may be required.
  • Users should understand the configured cloud storage and synchronization behavior before storing sensitive information.

Important Security Recommendations

  • Use a strong master password.
  • Do not share your master password.
  • Back up important vault data.
  • Keep Windows and Android devices updated.
  • Protect devices with strong device authentication.
  • Review cloud synchronization before storing highly sensitive information.
  • Never commit real passwords, vault data, private keys, API secrets, or administrative credentials to a public repository.

Project Structure

The project currently includes components similar to the following:

Secure-Vault/
├── android/
├── cloudflare-worker/
├── securevault/
├── src/
├── electron.cjs
├── capacitor.config.json
├── package.json
├── storage.rules
└── vite.config.cjs

Important Directories and Files

  • src/ — Main application source code and cloud integration.
  • securevault/ — Additional SecureVault application source.
  • android/ — Android Capacitor project.
  • cloudflare-worker/ — Cloudflare Worker source and configuration.
  • electron.cjs — Electron main process.
  • capacitor.config.json — Capacitor configuration.
  • storage.rules — Storage-related security rules.
  • vite.config.cjs — Vite configuration.
  • package.json — Dependencies, scripts, and build configuration.
  • dist/ — Generated frontend build files.
  • release/ — Generated Windows installers and packaged application files.

Generated directories may not be tracked by Git.

Development Scripts

Command Purpose
npm install Install project dependencies
npm run dev Start the Vite development server
npm run build Build the production frontend
npm run preview Preview the production frontend build
npm run server Start the configured local server
npm run electron Launch Electron using the configured entry point
npm run electron:dev Run the Electron development workflow
npm run dist Build the Windows installer

Available commands depend on the scripts currently defined in package.json.

Repository

GitHub: Secure-Vault Repository

License

No license has currently been specified for this project.

Unless a license file is added to the repository, all rights remain with the copyright holder and reuse, modification, or redistribution is not automatically granted.

About

SecureVault is a cross-platform personal security and productivity app for Windows and Android. Built with React, Electron, Capacitor, and Firebase, it securely manages passwords, notes, finances, budgets, goals, reminders, contacts, and personal data with vault protection, cloud sync, Google Sign-In, biometric support, and offline functionality.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages