# devanshudongare/cybersecurity_digital_safety architecture

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

- Interactive diagram: https://gitdiagram.com/devanshudongare/cybersecurity_digital_safety
- Repository: https://github.com/devanshudongare/cybersecurity_digital_safety

## Overview

CyberGuard AI is an offline Android safety app for SMS, website URL, and network-traffic checks. Users enter or provide analyzer input in the main app, receive a classification and risk estimate, and can save the scan; they can also verify predictions and review or clear scan history and dashboard statistics. The codebase also contains Python data-preparation, model-training, and export scripts. Those development modules are represented as capabilities, but their connections are not inferred from filenames alone; no README was supplied.

Main entry points: [`android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt) (Main app), [`android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt`](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt) (Learning repository), [`android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt`](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt) (Learning DAO), [`android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt`](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt) (Prediction feedback)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Android app"]
  node_main["Main app<br/>[MainActivity.kt]"]
  node_language["Translations<br/>[AppLanguage.kt]"]
  node_feedback["Prediction feedback<br/>[FeedbackCard.kt]"]
  node_dashboard["Scan dashboard<br/>[DashboardScreen.kt]"]
  node_history["Scan history<br/>[HistoryScreen.kt]"]
end

subgraph group_analysis["Detection"]
  node_sms["SMS detector<br/>[SmsDetector.kt]"]
  node_url["URL detector<br/>[UrlDetector.kt]"]
  node_network["Network detector<br/>[NetworkDetector.kt]"]
end

subgraph group_records["Records and feedback"]
  node_repository["Learning repository"]
  node_database[("Room database")]
  node_dao["Learning DAO<br/>[LearningDao.kt]"]
  node_learningrecord["Verified examples<br/>[LearningRecord.kt]"]
  node_scanrecord["Scan records<br/>[ScanRecord.kt]"]
end

subgraph group_ml["Model development"]
  node_advisor["Advisor logic<br/>[advisor.py]"]
  node_results["Detection results"]
  node_model_loader["Model loader<br/>[model_loader.py]"]
  node_prepare["Data preparation<br/>[prepare_data.py]"]
  node_smsdata["SMS dataset"]
  node_trainsms["SMS training<br/>[train_sms.py]"]
  node_trainsmslstm["SMS LSTM training<br/>[train_sms_lstm.py]"]
  node_trainsmsv6["SMS v6 training<br/>[train_sms_v6.py]"]
  node_trainsmsv7["SMS v7 training<br/>[train_sms_v7.py]"]
  node_trainsmsv7fair["Fair SMS training"]
  node_trainnetwork["Network training<br/>[train_network.py]"]
  node_trainurl["URL training<br/>[train_url.py]"]
  node_exportsms["SMS model export"]
  node_exporturl["URL model export"]
  node_exportnetwork["Network model export"]
end

node_user(("App user"))

node_user -->|"uses"| node_main
node_main -->|"analyzes SMS"| node_sms
node_main -->|"analyzes URLs"| node_url
node_main -->|"analyzes traffic"| node_network
node_main -->|"saves scans"| node_repository
node_main -->|"shows feedback"| node_feedback
node_feedback -->|"saves verification"| node_repository
node_dashboard -->|"loads scan stats"| node_repository
node_history -->|"loads and deletes"| node_repository
node_repository -->|"gets database"| node_database
node_database -->|"provides DAO"| node_dao
node_repository -->|"reads and writes"| node_dao
node_dao -->|"stores examples"| node_learningrecord
node_dao -->|"stores scans"| node_scanrecord

click node_main "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt"
click node_language "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/AppLanguage.kt"
click node_feedback "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt"
click node_dashboard "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/DashboardScreen.kt"
click node_history "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/HistoryScreen.kt"
click node_sms "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/SmsDetector.kt"
click node_url "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/UrlDetector.kt"
click node_network "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/NetworkDetector.kt"
click node_repository "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt"
click node_database "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDatabase.kt"
click node_dao "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt"
click node_learningrecord "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRecord.kt"
click node_scanrecord "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/ScanRecord.kt"
click node_advisor "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/advisor.py"
click node_results "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/detection_results.py"
click node_model_loader "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/model_loader.py"
click node_prepare "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/prepare_data.py"
click node_smsdata "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/build_sms_dataset.py"
click node_trainsms "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms.py"
click node_trainsmslstm "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_lstm.py"
click node_trainsmsv6 "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v6.py"
click node_trainsmsv7 "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v7.py"
click node_trainsmsv7fair "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v7_fair.py"
click node_trainnetwork "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_network.py"
click node_trainurl "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_url.py"
click node_exportsms "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_sms_model.py"
click node_exporturl "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_url_model.py"
click node_exportnetwork "https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_network_model.py"

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_main,node_language,node_feedback,node_dashboard,node_history,node_user toneBlue
class node_sms,node_url,node_network toneAmber
class node_repository,node_database,node_dao,node_learningrecord,node_scanrecord toneMint
class node_advisor,node_results,node_model_loader,node_prepare,node_smsdata,node_trainsms,node_trainsmslstm,node_trainsmsv6,node_trainsmsv7,node_trainsmsv7fair,node_trainnetwork,node_trainurl,node_exportsms,node_exporturl,node_exportnetwork toneRose
```

## Components

### Android app

- [Main app](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`
- [Translations](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/AppLanguage.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/AppLanguage.kt`
- [Prediction feedback](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt`
- [Scan dashboard](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/DashboardScreen.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/DashboardScreen.kt`
- [Scan history](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/HistoryScreen.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/HistoryScreen.kt`

### Detection

- [SMS detector](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/SmsDetector.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/SmsDetector.kt`
- [URL detector](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/UrlDetector.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/UrlDetector.kt`
- [Network detector](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/NetworkDetector.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/NetworkDetector.kt`

### Records and feedback

- [Learning repository](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt`
- [Room database](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDatabase.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDatabase.kt`
- [Learning DAO](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt`
- [Verified examples](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRecord.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRecord.kt`
- [Scan records](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/android-app/app/src/main/java/com/devanshu/cyberguardai/ScanRecord.kt): `android-app/app/src/main/java/com/devanshu/cyberguardai/ScanRecord.kt`

### Model development

- [Advisor logic](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/advisor.py): `src/advisor.py`
- [Detection results](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/detection_results.py): `src/detection_results.py`
- [Model loader](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/model_loader.py): `src/model_loader.py`
- [Data preparation](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/prepare_data.py): `src/prepare_data.py`
- [SMS dataset](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/build_sms_dataset.py): `src/build_sms_dataset.py`
- [SMS training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms.py): `src/train_sms.py`
- [SMS LSTM training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_lstm.py): `src/train_sms_lstm.py`
- [SMS v6 training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v6.py): `src/train_sms_v6.py`
- [SMS v7 training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v7.py): `src/train_sms_v7.py`
- [Fair SMS training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_sms_v7_fair.py): `src/train_sms_v7_fair.py`
- [Network training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_network.py): `src/train_network.py`
- [URL training](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/src/train_url.py): `src/train_url.py`
- [SMS model export](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_sms_model.py): `export_sms_model.py`
- [URL model export](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_url_model.py): `export_url_model.py`
- [Network model export](https://github.com/devanshudongare/cybersecurity_digital_safety/blob/main/export_network_model.py): `export_network_model.py`

### Other components

- **App user**

## Connections

- App user → Main app: uses
- Main app → SMS detector: analyzes SMS (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`)
- Main app → URL detector: analyzes URLs (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`)
- Main app → Network detector: analyzes traffic (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`)
- Main app → Learning repository: saves scans (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`)
- Main app → Prediction feedback: shows feedback (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/MainActivity.kt`)
- Prediction feedback → Learning repository: saves verification (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/FeedbackCard.kt`)
- Scan dashboard → Learning repository: loads scan stats (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/DashboardScreen.kt`)
- Scan history → Learning repository: loads and deletes (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/HistoryScreen.kt`)
- Learning repository → Room database: gets database (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt`)
- Room database → Learning DAO: provides DAO (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDatabase.kt`)
- Learning repository → Learning DAO: reads and writes (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningRepository.kt`)
- Learning DAO → Verified examples: stores examples (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt`)
- Learning DAO → Scan records: stores scans (evidence: `android-app/app/src/main/java/com/devanshu/cyberguardai/LearningDao.kt`)
