Skip to content

Gatewatcher/hoddor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hoddor Browser Vault

A cutting-edge Identity-based security browser-based vault built with WebAssembly (Rust) that ensures your data remains private and secure by encrypting it directly on the client side. The backend has no access to the decryption keys, offering a truly zero-knowledge implementation for modern web applications.

This solution provides encrypted storage capabilities with robust support for multiple data types, including JSON and binary data, while ensuring that all sensitive operations occur exclusively on the user’s device.

Table of Contents

Key Features

  • 🔒 End-to-End Encryption: Data is encrypted using age encryption, a modern file encryption tool designed to be simple, secure, and portable.

  • 🔑 Password-Based Key Derivation: Utilizes Argon2id to generate cryptographically secure keys from user-provided passwords.

  • 📦 Multi-Vault and Namespace Support: Allows segregation of data into multiple vaults for organized and secure data storage.

  • 📄 Flexible Data Formats: Handles structured data like JSON and arbitrary binary data to meet diverse storage needs.

  • Encrypted Browser Cache: Serves as a high-performance encrypted cache, securely storing temporary data on the client side to optimize application performance without compromising privacy.

  • 🔗 Bridge Between Segmented Appliances: Enables secure and private data exchange between isolated systems by acting as a zero-knowledge intermediary, keeping data encrypted in transit and at rest.

  • 🎥 Chunked Video Storage & Streaming: Efficiently stores and streams large video files without sacrificing security.

  • 🖼️ Secure Image Storage: Uses Base64 encoding for convenient storage of image assets within the encrypted vault.

  • 🔄 Import/Export Functionality: Allows users to securely transfer encrypted data between devices or applications.

  • 👷 Web Worker Integration: Offloads heavy encryption and decryption tasks to web workers for smooth, non-blocking performance.

  • 🔒 Concurrency Protection: Ensures safe and consistent data access using the Web Locks API.

  • Data Expiration: Configurable automatic data deletion ensures efficient storage management and enhanced privacy.

  • 🗂️ Origin-Scoped Storage: Leverages the Origin Private File System (OPFS) to store encrypted data locally on the user’s device, isolating data by web origin to prevent cross-site leakage.

Built for Privacy-First Applications

This solution is ideal for building zero-knowledge systems where user privacy is paramount. The backend serves solely as a storage and synchronization medium, with all sensitive encryption and decryption logic confined to the client side. This ensures that sensitive information never leaves the user's control, empowering developers to build compliant, privacy-focused, and performant web applications.

Prerequisites

  • Rust and Cargo
  • wasm-pack
  • watchexec
  • Node.js and npm
  • A modern web browser with File System Access API support

Installation

  1. Clone the repository:
git clone [email protected]:Gatewatcher/hoddor.git
cd hoddor
  1. Install JavaScript dependencies:
cd playground
npm install
  1. Start the playground server:
cd playground
npm run dev

Usage

  1. Open your web browser and navigate to http://localhost:5173.

Testing

To run the tests, use the following command:

With chrome:

cd hoddor
wasm-pack test --headless --chrome

With Firefox:

cd hoddor
wasm-pack test --headless --firefox

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Built With

  • Rust
  • WebAssembly
  • Node.js
  • npm
  • wasm-pack

Getting Help

If you need help, you can refer to the following resources:

Maintainers

Code of Conduct

Please refer to our Code of Conduct.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages