# webbreacher/whatsmyname architecture

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

- Interactive diagram: https://gitdiagram.com/webbreacher/whatsmyname
- Repository: https://github.com/webbreacher/whatsmyname

## Overview

WhatsMyName is primarily a community-maintained username-detection dataset, consumed by independent tools that check profile URLs and present findings. The repository also contains a standalone checker for auditing the dataset’s site detections and producing a Markdown report. The README describes the dataset/tool separation; checker source excerpts support its request and result-evaluation behavior, but do not establish every internal call, so uncertain wiring is omitted.

Main entry points: [`scripts/checker/checker.py`](https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/checker.py) (Site Check Engine), [`scripts/checker/wmn_check.py`](https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/wmn_check.py) (Audit CLI), [`wmn-data.json`](https://github.com/webbreacher/whatsmyname/blob/main/wmn-data.json) (Site Detection Data), [`wmn-data-schema.json`](https://github.com/webbreacher/whatsmyname/blob/main/wmn-data-schema.json) (Data Schema)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dataset["Detection Dataset"]
  node_data["Site Detection Data<br/>[wmn-data.json]"]
  node_schema["Data Schema"]
end

subgraph group_audit["Detection Audit"]
  node_auditcli["Audit CLI<br/>[wmn_check.py]"]
  node_engine["Site Check Engine<br/>[checker.py]"]
  node_models["Check Result Models<br/>[models.py]"]
  node_report["Audit Report"]
end

node_user(("Investigator"))
node_tools["WMN Client Tools"]
node_sites(("Profile Websites"))
node_findings["Username Findings"]

node_user -.->|"submits username"| node_tools
node_tools -->|"reads detections"| node_data
node_tools -.->|"checks profiles"| node_sites
node_sites -.->|"returns responses"| node_tools
node_tools -.->|"presents results"| node_findings
node_schema -->|"describes format"| node_data
node_auditcli -->|"loads site data"| node_data
node_auditcli -->|"runs checks"| node_engine
node_engine -.->|"requests profiles"| node_sites
node_sites -.->|"returns responses"| node_engine
node_engine -->|"builds results"| node_models
node_auditcli -->|"writes report"| node_report

click node_data "https://github.com/webbreacher/whatsmyname/blob/main/wmn-data.json"
click node_schema "https://github.com/webbreacher/whatsmyname/blob/main/wmn-data-schema.json"
click node_auditcli "https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/wmn_check.py"
click node_engine "https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/checker.py"
click node_models "https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/models.py"
click node_report "https://github.com/webbreacher/whatsmyname/tree/main/scripts/checker"

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_data,node_schema,node_tools,node_findings toneBlue
class node_auditcli,node_engine,node_models,node_report toneAmber
class node_user,node_sites toneIndigo
```

## Components

### Detection Dataset

- [Site Detection Data](https://github.com/webbreacher/whatsmyname/blob/main/wmn-data.json): `wmn-data.json`
- [Data Schema](https://github.com/webbreacher/whatsmyname/blob/main/wmn-data-schema.json): `wmn-data-schema.json`

### Detection Audit

- [Audit CLI](https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/wmn_check.py): `scripts/checker/wmn_check.py`
- [Site Check Engine](https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/checker.py): `scripts/checker/checker.py`
- [Check Result Models](https://github.com/webbreacher/whatsmyname/blob/main/scripts/checker/models.py): `scripts/checker/models.py`
- [Audit Report](https://github.com/webbreacher/whatsmyname/tree/main/scripts/checker): `scripts/checker`

### Other components

- **Investigator**
- **WMN Client Tools**
- **Profile Websites**
- **Username Findings**

## Connections

- Investigator → WMN Client Tools: submits username
- WMN Client Tools → Site Detection Data: reads detections
- WMN Client Tools → Profile Websites: checks profiles
- Profile Websites → WMN Client Tools: returns responses
- WMN Client Tools → Username Findings: presents results
- Data Schema → Site Detection Data: describes format
- Audit CLI → Site Detection Data: loads site data
- Audit CLI → Site Check Engine: runs checks
- Site Check Engine → Profile Websites: requests profiles
- Profile Websites → Site Check Engine: returns responses
- Site Check Engine → Check Result Models: builds results
- Audit CLI → Audit Report: writes report
