# aakashsuresh2/tracidus-site architecture

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

- Interactive diagram: https://gitdiagram.com/aakashsuresh2/tracidus-site
- Repository: https://github.com/aakashsuresh2/tracidus-site

## Overview

TRACIDUS is a browser-based phishing/threat-awareness product, combining URL risk analysis with a manifestation tree that presents possible perceptions, actions, consequences, and outcomes. The sampled generator accepts analysis data and message text; the renderer reads the generated scenario and supports interactive exploration. The file tree and excerpts do not establish how the page invokes the analysis functions or uses the threat database and feature list, so those connections are left unspecified.

Main entry points: [`index.html`](https://github.com/aakashsuresh2/tracidus-site/blob/main/index.html) (Web app), [`treeRenderer.js`](https://github.com/aakashsuresh2/tracidus-site/blob/main/treeRenderer.js) (Tree renderer), [`link_ai_module.js`](https://github.com/aakashsuresh2/tracidus-site/blob/main/link_ai_module.js) (URL risk analysis), [`phishing_features.js`](https://github.com/aakashsuresh2/tracidus-site/blob/main/phishing_features.js) (Feature order)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Phishing analysis"]
  node_url_analysis["URL risk analysis<br/>[link_ai_module.js]"]
  node_feature_contract["Feature order"]
end

subgraph group_modeling["Threat modeling"]
  node_scenario_generator["Scenario generator<br/>[treeGenerator.js]"]
  node_scenario_data["Manifestation scenario"]
end

subgraph group_presentation["Scenario presentation"]
  node_tree_renderer["Tree renderer<br/>[treeRenderer.js]"]
  node_svg_tree["Interactive SVG tree"]
end

subgraph group_knowledge["Threat knowledge"]
  node_threat_database["Threat definitions<br/>[threat_database.js]"]
end

node_user(("User"))
node_app["Web app<br/>[index.html]"]

node_user -->|"uses"| node_app
node_url_analysis -->|"exports analysis"| node_app
node_feature_contract -->|"exposes features"| node_app
node_scenario_generator -->|"returns scenario"| node_scenario_data
node_scenario_data -->|"reads global"| node_tree_renderer
node_tree_renderer -->|"renders"| node_svg_tree
node_threat_database -->|"exposes definitions"| node_app

click node_app "https://github.com/aakashsuresh2/tracidus-site/blob/main/index.html"
click node_url_analysis "https://github.com/aakashsuresh2/tracidus-site/blob/main/link_ai_module.js"
click node_feature_contract "https://github.com/aakashsuresh2/tracidus-site/blob/main/phishing_features.js"
click node_scenario_generator "https://github.com/aakashsuresh2/tracidus-site/blob/main/treeGenerator.js"
click node_tree_renderer "https://github.com/aakashsuresh2/tracidus-site/blob/main/treeRenderer.js"
click node_threat_database "https://github.com/aakashsuresh2/tracidus-site/blob/main/threat_database.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_url_analysis,node_feature_contract,node_user toneBlue
class node_scenario_generator,node_scenario_data toneAmber
class node_tree_renderer,node_svg_tree toneMint
class node_threat_database toneRose
class node_app toneTeal
```

## Components

### Phishing analysis

- [URL risk analysis](https://github.com/aakashsuresh2/tracidus-site/blob/main/link_ai_module.js): `link_ai_module.js`
- [Feature order](https://github.com/aakashsuresh2/tracidus-site/blob/main/phishing_features.js): `phishing_features.js`

### Threat modeling

- [Scenario generator](https://github.com/aakashsuresh2/tracidus-site/blob/main/treeGenerator.js): `treeGenerator.js`
- **Manifestation scenario**

### Scenario presentation

- [Tree renderer](https://github.com/aakashsuresh2/tracidus-site/blob/main/treeRenderer.js): `treeRenderer.js`
- **Interactive SVG tree**

### Threat knowledge

- [Threat definitions](https://github.com/aakashsuresh2/tracidus-site/blob/main/threat_database.js): `threat_database.js`

### Other components

- **User**
- [Web app](https://github.com/aakashsuresh2/tracidus-site/blob/main/index.html): `index.html`

## Connections

- User → Web app: uses
- URL risk analysis → Web app: exports analysis
- Feature order → Web app: exposes features
- Scenario generator → Manifestation scenario: returns scenario
- Manifestation scenario → Tree renderer: reads global
- Tree renderer → Interactive SVG tree: renders
- Threat definitions → Web app: exposes definitions
