graph TD %% Global Inputs UserURL[Input: Target URL] --> Playwright UserURL --> RawString subgraph Branch_1_Visual_Analysis [Branch 2: Visual Analysis / Image] direction TB Playwright(Playwright Automation) -- Visits Site --> Screenshot[Capture Screenshot] Screenshot --> Resize[Resize to 224x224 & Normalize] Resize --> MobileNet[Model: MobileNetV2
Pre-trained on ImageNet] MobileNet -- Feature Extraction --> VisVector[Output: Visual Feature Vector] end subgraph Branch_2_URL_Analysis [Branch 1: URL Analysis / Text] direction TB RawString(Raw URL String) --> CharEncode[Preprocessing: Character-Level Encoding] CharEncode --> CharCNN[Model: Char-CNN
1D Convolution Layers] CharCNN --> LSTM[Model: LSTM
Long Short-Term Memory] LSTM --> TextVector[Output: Text Feature Vector] end %% Fusion and Output VisVector --> Concat{Concatenation / Late Fusion} TextVector --> Concat Concat --> DenseLayer[Dense / Fully Connected Layer] DenseLayer --> Sigmoid((Sigmoid Activation)) Sigmoid --> FinalOutput[Output: Probability Score
0 Safe - 1 Phishing] %% Styling style Branch_1_Visual_Analysis fill:#e1f5fe,stroke:#01579b,stroke-width:2px style Branch_2_URL_Analysis fill:#fff3e0,stroke:#e65100,stroke-width:2px style Concat fill:#f3e5f5,stroke:#4a148c,stroke-width:2px style FinalOutput fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px