How privonfoundation/privonvault works
Privon Vault is a client-side encrypted file vault combining file management with gallery, music, document, backup, and privacy controls. The principal flow is user authentication and key setup, followed by access to the dashboard and its file-focused views; crypto operations are exposed through a TypeScript wrapper over the Rust crypto core, while vault data is handled through the database layer. The sampled sources confirm authentication/key operations and crypto implementations, but not the database internals or most dashboard wiring; those relationships are therefore kept high-level.
Main entry points: Dashboard.tsx Dashboard · lib.rs Rust crypto core · App.tsx App coordinator · index.ts Crypto API
Components 22
App experience
- App coordinator
App.tsx - Authentication
components/AuthScreen.tsx - Dashboard
components/Dashboard.tsx - Landing
components/LandingPage.tsx
Vault features
- Vault files
components/views/VaultView.tsx - Gallery
components/views/GalleryView.tsx - Music player
components/views/MusicView.tsx - Search
components/views/SearchView.tsx - Trash
components/views/TrashView.tsx - Storage view
components/views/StorageView.tsx - Settings
components/views/SettingsView.tsx - Backup
components/views/BackupView.tsx - File actions
components/FileActionMenu.tsx
Security and crypto
- Crypto API
crypto-core/index.ts - Rust crypto core
crypto-core/src/lib.rs - Key wrapping
crypto-core/src/key_wrapping.rs - Metadata encryption
crypto-core/src/metadata_crypto.rs - Streaming crypto
crypto-core/src/stream.rs - Backup crypto
crypto-core/src/backup_crypto.rs
Local runtime
- Vault database
crypto-core/db.ts - Tauri bridge
src-tauri/src/lib.rs
Other components
- User
Connections 23
- User → App coordinator: opens
- App coordinator → Authentication: shows
- App coordinator → Dashboard: shows after unlock
- Authentication → Crypto API: derives and unwraps keys
- Authentication → Vault database: sets vault key
- App coordinator → Vault database: clears on wipe
- Dashboard → Vault files: presents
- Dashboard → Gallery: presents
- Dashboard → Music player: presents
- Dashboard → Search: presents
- Dashboard → Trash: presents
- Dashboard → Storage view: presents
- Dashboard → Settings: presents
- Dashboard → Backup: presents
- Vault files → File actions: offers actions
- Crypto API → Rust crypto core: calls crypto bindings
- Rust crypto core → Key wrapping: uses
- Rust crypto core → Metadata encryption: uses
- Rust crypto core → Streaming crypto: uses
- Rust crypto core → Backup crypto: uses
- Backup → Crypto API: requests backup crypto
- File actions → Crypto API: requests file crypto
- Tauri bridge → Rust crypto core: exposes native commands