# 9090856788/vaultguard-password-manager architecture

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

- Interactive diagram: https://gitdiagram.com/9090856788/vaultguard-password-manager
- Repository: https://github.com/9090856788/vaultguard-password-manager

## Overview

ShieldVault is a password-vault application: users register or unlock a vault, manage and organize credentials, review security and activity, and configure account settings. The visible React app delegates session and vault state to a context and communicates with an Express API; API controllers handle authentication, categories, audit, activity, and vault import/export, with shared state accessed through a store. The README describes only running the AI Studio app, so product capabilities are inferred from sampled source and the tree; several UI and API implementations were not sampled, and their internal wiring is omitted.

Main entry points: [`src/App.tsx`](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/App.tsx) (App shell), [`src/api/routes/index.ts`](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/routes/index.ts) (API routes), [`src/api/config/store.ts`](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/config/store.ts) (Data store), [`src/api/app.ts`](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/app.ts) (API app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Vault interface"]
  node_app["App shell<br/>[App.tsx]"]
  node_vaultctx["Vault context<br/>[VaultContext.tsx]"]
  node_authui["Authentication UI<br/>[AuthModal.tsx]"]
  node_dashboard["Dashboard"]
  node_activityui["Activity timeline"]
  node_settings["Settings UI<br/>[SettingsView.tsx]"]
  node_importui["Vault import UI<br/>[ImportModal.tsx]"]
  node_searchui["Search UI<br/>[SearchModal.tsx]"]
  node_api_client["API client<br/>[api.ts]"]
end

subgraph group_backend["API runtime"]
  node_server["HTTP server<br/>[server.ts]"]
  node_apiapp["API app<br/>[app.ts]"]
  node_routes["API routes<br/>[index.ts]"]
  node_authmw["Token middleware<br/>[authMiddleware.ts]"]
end

subgraph group_domains["Vault domains"]
  node_auth["Account access<br/>[authController.ts]"]
  node_vault["Credential vault<br/>[vaultController.ts]"]
  node_categories["Categories"]
  node_audit["Security audit<br/>[auditController.ts]"]
  node_activity["Activity records"]
end

subgraph group_state["State and security"]
  node_store[("Data store<br/>[store.ts]")]
  node_crypto["Client cryptography<br/>[crypto.ts]"]
end

node_user(("Vault user"))

node_user -->|"uses"| node_app
node_app -->|"provides state"| node_vaultctx
node_app -->|"renders"| node_dashboard
node_app -->|"renders"| node_activityui
node_app -->|"renders"| node_settings
node_app -->|"renders"| node_authui
node_app -->|"renders"| node_importui
node_app -->|"renders"| node_searchui
node_server -->|"mounts"| node_apiapp
node_apiapp -->|"dispatches"| node_routes
node_routes -->|"dispatches"| node_auth
node_routes -->|"dispatches"| node_vault
node_routes -->|"dispatches"| node_categories
node_routes -->|"dispatches"| node_audit
node_routes -->|"dispatches"| node_activity
node_routes -->|"guards routes"| node_authmw
node_auth -->|"reads and writes"| node_store
node_vault -->|"reads and writes"| node_store
node_categories -->|"reads and writes"| node_store
node_audit -->|"reads"| node_store
node_activity -->|"reads and writes"| node_store
node_vaultctx -->|"uses API"| node_api_client
node_api_client -->|"sends requests"| node_apiapp

click node_app "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/App.tsx"
click node_vaultctx "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/context/VaultContext.tsx"
click node_authui "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/auth/AuthModal.tsx"
click node_dashboard "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/dashboard/DashboardOverview.tsx"
click node_activityui "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/activity/ActivityTimelineView.tsx"
click node_settings "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/settings/SettingsView.tsx"
click node_importui "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/common/ImportModal.tsx"
click node_searchui "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/common/SearchModal.tsx"
click node_api_client "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/services/api.ts"
click node_server "https://github.com/9090856788/vaultguard-password-manager/blob/master/server.ts"
click node_apiapp "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/app.ts"
click node_routes "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/routes/index.ts"
click node_auth "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/authController.ts"
click node_vault "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/vaultController.ts"
click node_categories "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/categoryController.ts"
click node_audit "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/auditController.ts"
click node_activity "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/activityController.ts"
click node_store "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/config/store.ts"
click node_crypto "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/utils/crypto.ts"
click node_authmw "https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/middlewares/authMiddleware.ts"

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_app,node_vaultctx,node_authui,node_dashboard,node_activityui,node_settings,node_importui,node_searchui,node_api_client,node_user toneBlue
class node_server,node_apiapp,node_routes,node_authmw toneAmber
class node_auth,node_vault,node_categories,node_audit,node_activity toneMint
class node_store,node_crypto toneRose
```

## Components

### Vault interface

- [App shell](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/App.tsx): `src/App.tsx`
- [Vault context](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/context/VaultContext.tsx): `src/context/VaultContext.tsx`
- [Authentication UI](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/auth/AuthModal.tsx): `src/components/auth/AuthModal.tsx`
- [Dashboard](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/dashboard/DashboardOverview.tsx): `src/components/dashboard/DashboardOverview.tsx`
- [Activity timeline](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/activity/ActivityTimelineView.tsx): `src/components/activity/ActivityTimelineView.tsx`
- [Settings UI](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/settings/SettingsView.tsx): `src/components/settings/SettingsView.tsx`
- [Vault import UI](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/common/ImportModal.tsx): `src/components/common/ImportModal.tsx`
- [Search UI](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/components/common/SearchModal.tsx): `src/components/common/SearchModal.tsx`
- [API client](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/services/api.ts): `src/services/api.ts`

### API runtime

- [HTTP server](https://github.com/9090856788/vaultguard-password-manager/blob/master/server.ts): `server.ts`
- [API app](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/app.ts): `src/api/app.ts`
- [API routes](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/routes/index.ts): `src/api/routes/index.ts`
- [Token middleware](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/middlewares/authMiddleware.ts): `src/api/middlewares/authMiddleware.ts`

### Vault domains

- [Account access](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/authController.ts): `src/api/controllers/authController.ts`
- [Credential vault](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/vaultController.ts): `src/api/controllers/vaultController.ts`
- [Categories](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/categoryController.ts): `src/api/controllers/categoryController.ts`
- [Security audit](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/auditController.ts): `src/api/controllers/auditController.ts`
- [Activity records](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/controllers/activityController.ts): `src/api/controllers/activityController.ts`

### State and security

- [Data store](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/api/config/store.ts): `src/api/config/store.ts`
- [Client cryptography](https://github.com/9090856788/vaultguard-password-manager/blob/master/src/utils/crypto.ts): `src/utils/crypto.ts`

### Other components

- **Vault user**

## Connections

- Vault user → App shell: uses
- App shell → Vault context: provides state
- App shell → Dashboard: renders
- App shell → Activity timeline: renders
- App shell → Settings UI: renders
- App shell → Authentication UI: renders
- App shell → Vault import UI: renders
- App shell → Search UI: renders
- HTTP server → API app: mounts
- API app → API routes: dispatches
- API routes → Account access: dispatches
- API routes → Credential vault: dispatches
- API routes → Categories: dispatches
- API routes → Security audit: dispatches
- API routes → Activity records: dispatches
- API routes → Token middleware: guards routes
- Account access → Data store: reads and writes
- Credential vault → Data store: reads and writes
- Categories → Data store: reads and writes
- Security audit → Data store: reads
- Activity records → Data store: reads and writes
- Vault context → API client: uses API
- API client → API app: sends requests
