Technology Stack
Core Library (Shared)
| Component |
Technology |
Notes |
| Language |
Rust |
Memory safety, cross-platform |
| Crypto |
ring, chacha20poly1305, argon2 |
Audited libraries |
| Storage |
SQLite |
Encrypted with AES-256-GCM |
| Serialization |
serde + JSON |
Protocol messages |
| FFI |
UniFFI |
Swift/Kotlin bindings |
Mobile Apps
iOS
| Component |
Technology |
| UI Framework |
SwiftUI |
| Language |
Swift |
| Bindings |
UniFFI (SPM package) |
| Min iOS |
15.0 |
Android
| Component |
Technology |
| UI Framework |
Jetpack Compose |
| Language |
Kotlin |
| Bindings |
UniFFI (Gradle dependency) |
| Min SDK |
26 (Android 8.0) |
Desktop App
| Component |
Technology |
Notes |
| Framework |
Tauri 2.0 |
Rust backend + web frontend |
| Frontend |
SolidJS |
Lightweight, reactive |
| Styling |
Tailwind CSS |
Utility-first |
| Platforms |
macOS, Windows, Linux |
|
CLI & TUI
| Component |
Technology |
| CLI |
Rust (clap) |
| TUI |
Rust (ratatui) |
Relay Server
| Component |
Technology |
Notes |
| Language |
Rust |
Standalone binary |
| WebSocket |
tokio-tungstenite |
Async runtime |
| TLS |
rustls |
Certificate handling |
| Storage |
In-memory + disk |
Encrypted blobs only |
| Tool |
Purpose |
| Just |
Task runner |
| Cargo |
Rust package manager |
| npm/pnpm |
JavaScript dependencies |
| Docker |
Containerization |
| GitLab CI |
Continuous integration |
| Operation |
Target |
| Contact exchange |
< 3 seconds |
| Update propagation |
< 30 seconds (when online) |
| Local operations |
< 100ms |
| App startup |
< 2 seconds |
Data Limits
| Limit |
Value |
| Max contact card size |
64KB (encrypted) |
| Max contacts per user |
10,000 |
| Max fields per card |
100 |
| Max linked devices |
5 |
Repository Dependencies
vauchi-core (standalone, no workspace deps)
↑ (git dependency)
cli/, tui/, desktop/, e2e/
relay/ (standalone, no vauchi-core dependency)
Downstream repos use git dependencies with branch-based pinning (branch = "main").
Local development uses .cargo/config.toml path overrides.