Monark is a secure, local-first, cross-platform password manager engineered with a zero-knowledge architecture. By combining the safety and performance of Rust with a fast, modern React user interface, Monark delivers desktop-grade encryption and a seamless user experience across platforms.
Monark operates on a strict zero-knowledge security model. All cryptographic processes are performed locally within the secure Rust backend before any sensitive information is persisted or transmitted.
- Key Derivation Function (KDF): Argon2id with memory-hard parameters (64MB memory, 3 iterations, 4-thread parallelism) to mitigate brute-force and GPU-accelerated side-channel attacks.
- Symmetric Encryption: XChaCha20-Poly1305 (IETF variant) authenticated encryption using 256-bit keys and 192-bit random nonces.
- Entropy Generation: Cryptographically Secure Pseudo-Random Number Generation (CSPRNG) utilizing the operating system's native entropy sources (
OsRng). - Memory Protection: Automated zeroization of sensitive credentials (
ZeroizeOnDrop) to protect against cold-boot attacks and memory forensic extraction.
- Offline-First & Local-First: Complete data ownership. Your vault is stored locally and encrypted at rest.
- Cross-Platform Architecture: Built on Tauri v2 to support Windows, macOS, Linux, Android, and iOS natively from a single codebase.
- Modern Frontend Stack: Powered by React, TypeScript, TanStack Router for type-safe routing, and Tailwind CSS v4 / DaisyUI for highly responsive styling.
- Rigorous Verification: Robust type safety across the Rust-TypeScript boundary, combined with comprehensive test coverage.
Detailed specifications and architectural guides are available in the docs directory:
- Cryptographic Architecture — Mathematical parameters, key derivation, and cipher implementations.
- Vault Storage Format — Disk serialization formats, HMAC verification, and Rust-to-TypeScript type mappings.
- Cloud Storage & Sync — Design documents for remote backup and synchronization.
- Testing & Quality Assurance — Integration testing strategies for the storage layer.
- Security Audit Results — Vulnerability checklist and verification of crypto implementations.
- State Management & Store — Redux Toolkit slice structure and application state flow.
- Internationalization (i18n) — Localization framework and translation setup.
- Accessibility Guide — WCAG compliance guidelines and focus management patterns.
Ensure you have the following installed on your system:
- Rust (Stable)
- Bun (JavaScript Runtime)
- Platform-specific Tauri dependencies (see the Tauri Prerequisites Guide)
-
Clone the Repository:
git clone https://github.com/xilistudios/monark.git cd monark -
Install Workspace Dependencies:
bun install
-
Run Development Environment:
# Run frontend dev server along with Tauri window bun tauri devNote for Linux users: If you experience rendering/driver issues, you may need to disable DMA-Buf:
WEBKIT_DISABLE_DMABUF_RENDERER=1 bun tauri dev
Run the test suites and check formatting consistency:
# Run Vitest suite for frontend
bun test
# Run Rust unit/integration tests
bun run test:rust
# Lint codebase with Biome
bun run biome lint .To compile a production-ready installer for your native platform:
bun tauri buildWe welcome contributions to Monark. Please adhere to the following development guidelines:
- Ensure complete TypeScript type safety across all frontend models.
- Maintain strict cargo safety rules in the native wrapper.
- Add comprehensive test coverage in Vitest and Cargo test suites for all new features.
- Run
bun run biome check --writeto align with the workspace formatting standard.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.
Copyright © 2025-2026 Xili Studios. All rights reserved.