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