Post-quantum cryptography workspace for messaging, files, WebAssembly, desktop, and database security.
Cross-platform, quantum-resistant cryptography workspace for Node.js, WebAssembly, and Rust
Vollcrypt is an open-source cryptography workspace for post-quantum messaging, encrypted files, WebAssembly applications, desktop users, and database security integrations. Its security-sensitive cores are written in Rust and exposed through native Node.js and WebAssembly bindings.
| I want to… | Start with |
|---|---|
| Encrypt files from Node.js | @vollcrypt/files-node |
| Encrypt files in a browser or WASM runtime | @vollcrypt/files-wasm |
| Build encrypted messaging | @vollcrypt/messages-node or @vollcrypt/messages-wasm |
| Add field-level database encryption | @vollcrypt/db-guard |
| Run a database security proxy | @vollcrypt/db-proxy |
| Encrypt local files without writing code | Download Vollcrypt Desktop |
# File encryption for Node.js
npm install @vollcrypt/files-node
# End-to-end encrypted messaging for Node.js
npm install @vollcrypt/messages-node
All six npm packages are dual-licensed under GPLv3 or a commercial license and published through npm trusted publishing with provenance attestations. Package-specific examples and API notes are linked in the module documentation below.
Vollcrypt is looking for early users and contributors. You do not need a cryptography background to help with documentation, examples, cross-platform testing, TypeScript types, or developer tooling.
Explore the specific modules of Vollcrypt:
#![no_std] zero-allocation tactical radio COMSEC & TRANSEC protocol with deterministic chaos FHSS, dynamic aliasing, and Doppler sync.This repository is organized as a monorepo containing the following modules:
vollcrypt-messages/: The Rust implementation and bindings for E2EE messaging (Node.js and WebAssembly).vollcrypt-files/: The Rust implementation and core logic for E2EE file/stream chunking and verification.vollcrypt-wave/: Standalone, #![no_std] zero-allocation tactical radio COMSEC & TRANSEC protocol implementation in Rust.vollcrypt-desktop/: Cross-platform desktop application built with Tauri (Rust) and React + Vanilla CSS.db-guard/: Database field-level encryption adapters for Node.js and Rust ORMs; not FIPS 140-3 validated.db-proxy/: A database wire-protocol proxy for transparent field decryption and masking in-transit.graph TD
classDef rust fill:#df5c3f,stroke:#333,stroke-width:1px,color:#fff;
classDef bindings fill:#f0db4f,stroke:#333,stroke-width:1px,color:#333;
classDef runtime fill:#43853d,stroke:#333,stroke-width:1px,color:#fff;
classDef hardware fill:#00a3a6,stroke:#333,stroke-width:1px,color:#fff;
subgraph Core ["Vollcrypt Core Workspace"]
vollcrypt_core["vollcrypt-files-core (Rust)"]:::rust
vollcrypt_messages_core["vollcrypt-core (Rust)"]:::rust
vollcrypt_wave["vollcrypt-wave (Rust - no_std)"]:::rust
end
subgraph Bindings ["Binding Adapters"]
napi["vollcrypt-messages/node (napi-rs)"]:::bindings
wasm["vollcrypt-messages/wasm (wasm-bindgen)"]:::bindings
files_node["vollcrypt-files/node (Node streams)"]:::bindings
files_wasm["vollcrypt-files/wasm (Browser streams)"]:::bindings
end
subgraph Clients ["Application Runtimes"]
node_app["Node.js Backend / Server (e.g. NestJS)"]:::runtime
web_app["Web Browser / Front-end (e.g. Next.js)"]:::runtime
native_app["Native Rust Applications / Daemons"]:::rust
desktop_app["Vollcrypt Desktop App (Tauri v2 + React)"]:::runtime
embedded_app["Tactical SDR / Bare-metal Hardware"]:::hardware
end
vollcrypt_messages_core --> napi
vollcrypt_messages_core --> wasm
vollcrypt_core --> files_node
vollcrypt_core --> files_wasm
vollcrypt_core --> desktop_app
napi --> node_app
wasm --> web_app
files_node --> node_app
files_wasm --> web_app
vollcrypt_messages_core --> native_app
vollcrypt_wave --> embedded_app
vollcrypt_wave --> native_app
Vollcrypt workspace exposes a unified suite of quantum-resistant cryptographic engines, application-level clients, and transparent database security proxies:
#![no_std] bare-metal compatible library designed to secure digital and software-defined radios (SDR) under extreme noise and jamming environments.
You must have Rust, Node.js, and compiler tools set up on your machine. Depending on your Operating System, additional libraries are required:
| Tool | Version | OS Requirements / Configuration | Purpose |
|---|---|---|---|
| Rust | Stable (≥ 1.76) | Standard target setup. Run rustup target add wasm32-unknown-unknown for WASM. |
Core compilation and library code |
| wasm-pack | Latest | Available globally via binary or npm package. | Compiles Rust core to Browser WASM package |
| Node.js | ≥ 18 | LTS release recommended. | Native addon execution environment |
| npm | ≥ 9 | Packaged with Node.js. | Node package dependencies |
| C/C++ Build Tools | Current | Windows: Visual Studio C++ Build Tools. macOS: Xcode Command Line Tools ( xcode-select --install).Linux: GCC/G++ ( build-essential). |
Compiling native node bindings |
| LLVM / Clang | Latest | Required by binding generators. Add LIBCLANG_PATH environment variable pointing to LLVM bin folder if missing. |
Header parsing for napi-rs |
# Clone the repository
git clone https://github.com/BeratVural/vollcrypt.git
cd vollcrypt
# 1. Run all workspace Rust tests
cargo test --workspace
# 2. Format and Lint checks
cargo fmt --all -- --check
cargo clippy --workspace -- -D warnings
# 3. Build Node.js Native Addon for Messages
cd vollcrypt-messages/node
npm install
npm run build
cd ../..
# 4. Build WebAssembly target for Messages
cd vollcrypt-messages/wasm
wasm-pack build --target web --out-dir pkg
cd ../..
# 5. Build and Run Vollcrypt Desktop Application
cd vollcrypt-desktop
npm install
npm run tauri dev # Launches developer dev server
npm run tauri build # Packages optimized production installer (.msi/.exe)
cd ..
ClangNotFound or could not find libclang
winget install LLVM.LLVM or chocolatey: choco install llvm. Then add a system environment variable LIBCLANG_PATH pointing to the directory containing libclang.dll (typically C:\Program Files\LLVM\bin).sudo apt-get install clang libclang-dev (Ubuntu/Debian) or sudo dnf install clang clang-devel (Fedora).wasm-pack target directory locked
cargo clean in the root workspace folder to clear target lock files, then rerun the wasm-pack command.MSB4019: The imported project ... was not found
npm install --global --production windows-build-tools or install manually via Visual Studio Installer.Vollcrypt is dual-licensed under:
For commercial license purchases, pricing, or custom enterprise terms, please contact berat.vural.tr@gmail.com.