# acevflow/arca architecture

> Architecture diagram of the GitHub repository acevflow/arca, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/acevflow/arca
- Repository: https://github.com/acevflow/arca

## Overview

Arca is a planned local-only desktop password vault. Its intended workflow is to create or unlock a vault with a master password, manage passwords, secure notes and attached files, then export an encrypted backup or import passwords from CSV; password generation is another user capability. The README describes a thin TypeScript UI over Rust/Tauri, with cryptography and data access in Rust. This checkout contains no application source, so the graph reflects documented plans and layers, not inspected implementations; uncertain internal calls are omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["User interface"]
  node_ui["Desktop interface"]
  node_vault_ui["Vault workflow"]
  node_item_ui["Item management"]
  node_generator_ui["Password generator UI"]
  node_backup_ui["Backup and import UI"]
end

subgraph group_backend["Rust core"]
  node_commands["Tauri commands"]
  node_vault["Vault lifecycle"]
  node_items["Vault items and search"]
  node_generator["Password generation"]
  node_csv_import["CSV password import"]
  node_backup["Encrypted backup"]
end

subgraph group_security_storage["Security and storage"]
  node_crypto["Key derivation and encryption"]
  node_database[("Encrypted vault database")]
  node_attachments["Encrypted attachments"]
  node_clipboard_lock["Auto-lock and clipboard"]
end

node_user(("Vault user"))

node_user -->|"uses"| node_ui
node_ui -->|"invokes"| node_commands
node_vault_ui -.->|"renders in"| node_ui
node_item_ui -.->|"renders in"| node_ui
node_generator_ui -.->|"renders in"| node_ui
node_backup_ui -.->|"renders in"| node_ui
node_commands -.->|"handles vault actions"| node_vault
node_commands -.->|"handles item actions"| node_items
node_commands -.->|"handles generation"| node_generator
node_commands -.->|"handles import"| node_csv_import
node_commands -.->|"handles export"| node_backup
node_vault -->|"derives vault key"| node_crypto
node_vault -->|"opens vault"| node_database
node_items -.->|"stores item data"| node_database
node_items -->|"links attachments"| node_attachments
node_backup -.->|"exports vault data"| node_database
node_csv_import -->|"imports passwords"| node_items
node_vault -->|"locks on inactivity"| node_clipboard_lock

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ui,node_vault_ui,node_item_ui,node_generator_ui,node_backup_ui,node_user toneBlue
class node_commands,node_vault,node_items,node_generator,node_csv_import,node_backup toneAmber
class node_crypto,node_database,node_attachments,node_clipboard_lock toneMint
```

## Components

### User interface

- **Desktop interface**
- **Vault workflow**
- **Item management**
- **Password generator UI**
- **Backup and import UI**

### Rust core

- **Tauri commands**
- **Vault lifecycle**
- **Vault items and search**
- **Password generation**
- **CSV password import**
- **Encrypted backup**

### Security and storage

- **Key derivation and encryption**
- **Encrypted vault database**
- **Encrypted attachments**
- **Auto-lock and clipboard**

### Other components

- **Vault user**

## Connections

- Vault user → Desktop interface: uses (evidence: `README.md`)
- Desktop interface → Tauri commands: invokes (evidence: `README.md`)
- Vault workflow → Desktop interface: renders in
- Item management → Desktop interface: renders in
- Password generator UI → Desktop interface: renders in
- Backup and import UI → Desktop interface: renders in
- Tauri commands → Vault lifecycle: handles vault actions
- Tauri commands → Vault items and search: handles item actions
- Tauri commands → Password generation: handles generation
- Tauri commands → CSV password import: handles import
- Tauri commands → Encrypted backup: handles export
- Vault lifecycle → Key derivation and encryption: derives vault key (evidence: `README.md`)
- Vault lifecycle → Encrypted vault database: opens vault (evidence: `README.md`)
- Vault items and search → Encrypted vault database: stores item data
- Vault items and search → Encrypted attachments: links attachments (evidence: `README.md`)
- Encrypted backup → Encrypted vault database: exports vault data
- CSV password import → Vault items and search: imports passwords (evidence: `README.md`)
- Vault lifecycle → Auto-lock and clipboard: locks on inactivity (evidence: `README.md`)
