# venkatamohansairamtubati/cyber-vault architecture

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

- Interactive diagram: https://gitdiagram.com/venkatamohansairamtubati/cyber-vault
- Repository: https://github.com/venkatamohansairamtubati/cyber-vault

## Overview

Cyber Vault is documented as a malware-intelligence and URL-defense product with a web portal and browser-extension client. The principal web workflow is analyst authentication, artifact or URL submission, backend analysis, and review or storage of findings. The README describes backend, ML, and extension components that are absent from the supplied file tree; those nodes have null paths, and their links reflect documented architecture rather than inspected source. The sampled files also show user-isolated local history, optional Supabase functions, and 3D visualization.

Main entry points: [`app.js`](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js) (Portal Controller), [`index.html`](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/index.html) (Web Portal), [`auth_client.js`](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/auth_client.js) (Auth Client), [`supabase.js`](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/supabase.js) (Supabase Client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Analyst Clients"]
  node_portal["Web Portal<br/>[index.html]"]
  node_controller["Portal Controller<br/>[app.js]"]
  node_extension["Browser Extension"]
end

subgraph group_analysis["Threat Analysis"]
  node_api["FastAPI Backend"]
  node_url_scan["URL Risk Scan"]
  node_artifact_scan["Artifact Analysis"]
  node_ml_router["ML Routing"]
  node_model_registry["Model Registry"]
end

subgraph group_identity["Identity And History"]
  node_auth_client["Auth Client<br/>[auth_client.js]"]
  node_auth_service["Backend Auth"]
  node_backend_store[("Backend Storage")]
  node_user_history[("User History<br/>[auth_client.js]")]
  node_supabase_client["Supabase Client<br/>[supabase.js]"]
end

subgraph group_visualization["Visualization"]
  node_evidence_graph["Evidence Graph<br/>[app.js]"]
  node_network_view["Network View<br/>[app.js]"]
  node_cyber_world["3D Cyber World<br/>[cyber_world_3d.js]"]
end

node_analyst(("Analyst"))
node_supabase_service[("Supabase")]

node_analyst -->|"uses"| node_portal
node_portal -->|"loads"| node_controller
node_controller -->|"calls"| node_auth_client
node_auth_client -->|"auth requests"| node_api
node_api -.->|"dispatches"| node_auth_service
node_controller -->|"analysis requests"| node_api
node_extension -.->|"REST requests"| node_api
node_api -.->|"dispatches"| node_url_scan
node_api -.->|"dispatches"| node_artifact_scan
node_artifact_scan -.->|"routes samples"| node_ml_router
node_ml_router -.->|"uses models"| node_model_registry
node_api -.->|"stores records"| node_backend_store
node_auth_client -->|"reads and writes"| node_user_history
node_supabase_client -.->|"reads and writes"| node_supabase_service
node_controller -->|"renders"| node_evidence_graph
node_controller -->|"renders"| node_network_view
node_portal -->|"hosts"| node_cyber_world

click node_portal "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/index.html"
click node_controller "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js"
click node_auth_client "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/auth_client.js"
click node_user_history "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/auth_client.js"
click node_supabase_client "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/supabase.js"
click node_evidence_graph "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js"
click node_network_view "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js"
click node_cyber_world "https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/cyber_world_3d.js"

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_portal,node_controller,node_extension toneBlue
class node_api,node_url_scan,node_artifact_scan,node_ml_router,node_model_registry,node_supabase_service toneAmber
class node_auth_client,node_auth_service,node_backend_store,node_user_history,node_supabase_client toneMint
class node_evidence_graph,node_network_view,node_cyber_world toneRose
class node_analyst toneIndigo
```

## Components

### Analyst Clients

- [Web Portal](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/index.html): `index.html`
- [Portal Controller](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js): `app.js`
- **Browser Extension**

### Threat Analysis

- **FastAPI Backend**
- **URL Risk Scan**
- **Artifact Analysis**
- **ML Routing**
- **Model Registry**

### Identity And History

- [Auth Client](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/auth_client.js): `auth_client.js`
- **Backend Auth**
- **Backend Storage**
- [User History](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/auth_client.js): `auth_client.js`
- [Supabase Client](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/supabase.js): `supabase.js`

### Visualization

- [Evidence Graph](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js): `app.js`
- [Network View](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/app.js): `app.js`
- [3D Cyber World](https://github.com/venkatamohansairamtubati/cyber-vault/blob/main/cyber_world_3d.js): `cyber_world_3d.js`

### Other components

- **Analyst**
- **Supabase**

## Connections

- Analyst → Web Portal: uses
- Web Portal → Portal Controller: loads
- Portal Controller → Auth Client: calls
- Auth Client → FastAPI Backend: auth requests
- FastAPI Backend → Backend Auth: dispatches
- Portal Controller → FastAPI Backend: analysis requests
- Browser Extension → FastAPI Backend: REST requests
- FastAPI Backend → URL Risk Scan: dispatches
- FastAPI Backend → Artifact Analysis: dispatches
- Artifact Analysis → ML Routing: routes samples
- ML Routing → Model Registry: uses models
- FastAPI Backend → Backend Storage: stores records
- Auth Client → User History: reads and writes
- Supabase Client → Supabase: reads and writes
- Portal Controller → Evidence Graph: renders
- Portal Controller → Network View: renders
- Web Portal → 3D Cyber World: hosts
