# 0x6rss/chat-apps-osint architecture

> Architecture diagram of the GitHub repository 0x6rss/chat-apps-osint, 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/0x6rss/chat-apps-osint
- Repository: https://github.com/0x6rss/chat-apps-osint

## Overview

The repository presents an authorized WhatsApp-for-Windows peer-metadata capture tool. Its principal workflow attaches Frida to WhatsApp, captures call telemetry, builds a structured report, and writes JSON/HTML outputs. The README also names Signal and Telegram, but the tree contains only a WhatsApp implementation. Unsampled portions of the single source file leave some internal wiring uncertain, so the graph focuses on supported capture, reporting, rendering, and output responsibilities.

Main entry points: [`whatsapp/wa_peer.py`](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py) (Capture CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_capture["Call capture"]
  node_wa_peer["Capture CLI<br/>[wa_peer.py]"]
  node_agent["In-process hooks<br/>[wa_peer.py]"]
  node_events["Call events<br/>[wa_peer.py]"]
end

subgraph group_analysis["Report analysis"]
  node_report["Peer report<br/>[wa_peer.py]"]
end

subgraph group_outputs["Report outputs"]
  node_json_output["JSON report<br/>[wa_peer.py]"]
  node_html_output["HTML report<br/>[wa_peer.py]"]
  node_raw_output["Raw event stream<br/>[wa_peer.py]"]
end

node_operator(("Authorized operator"))
node_whatsapp["WhatsApp process"]
node_frida["Frida runtime"]
node_geo["IP geolocation"]
node_browser["Web browser"]

node_operator -->|"runs"| node_wa_peer
node_wa_peer -->|"attaches via"| node_frida
node_frida -->|"injects into"| node_whatsapp
node_agent -->|"hooks call telemetry"| node_whatsapp
node_wa_peer -->|"loads script"| node_agent
node_agent -->|"emits"| node_events
node_wa_peer -->|"collects"| node_events
node_wa_peer -->|"writes events"| node_raw_output
node_wa_peer -->|"builds"| node_report
node_report -.->|"looks up IPs"| node_geo
node_wa_peer -->|"writes"| node_json_output
node_wa_peer -->|"renders and writes"| node_html_output
node_wa_peer -->|"opens report"| node_browser

click node_wa_peer "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_agent "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_events "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_report "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_json_output "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_html_output "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py"
click node_raw_output "https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.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_wa_peer,node_agent,node_events,node_browser toneBlue
class node_report toneAmber
class node_json_output,node_html_output,node_raw_output toneMint
class node_operator,node_whatsapp,node_frida,node_geo toneIndigo
```

## Components

### Call capture

- [Capture CLI](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`
- [In-process hooks](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`
- [Call events](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`

### Report analysis

- [Peer report](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`

### Report outputs

- [JSON report](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`
- [HTML report](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`
- [Raw event stream](https://github.com/0x6rss/chat-apps-osint/blob/main/whatsapp/wa_peer.py): `whatsapp/wa_peer.py`

### Other components

- **Authorized operator**
- **WhatsApp process**
- **Frida runtime**
- **IP geolocation**
- **Web browser**

## Connections

- Authorized operator → Capture CLI: runs
- Capture CLI → Frida runtime: attaches via
- Frida runtime → WhatsApp process: injects into
- In-process hooks → WhatsApp process: hooks call telemetry
- Capture CLI → In-process hooks: loads script
- In-process hooks → Call events: emits
- Capture CLI → Call events: collects
- Capture CLI → Raw event stream: writes events
- Capture CLI → Peer report: builds
- Peer report → IP geolocation: looks up IPs
- Capture CLI → JSON report: writes
- Capture CLI → HTML report: renders and writes
- Capture CLI → Web browser: opens report
