# wiranata-orion/crypta-whisper architecture

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

- Interactive diagram: https://gitdiagram.com/wiranata-orion/crypta-whisper
- Repository: https://github.com/wiranata-orion/crypta-whisper

## Overview

Crypta Whisper is a desktop chat application with an administrative control panel, backed by Firebase Firestore. The user workflow checks a security code, verifies or sets a chat name and password, then opens a chat that encodes outgoing messages and translates incoming ones. Admin controls manage the security code, access settings, and encryption mappings; background scripts periodically rotate chat encryption and security codes. The README provides no architecture details, so this map relies on the sampled source excerpts and omits unverified links.

Main entry points: [`admincontrol.py`](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py) (Admin panel), [`main.py`](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py) (Security gate), [`SecurityScripts/combinecrypta.py`](https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/combinecrypta.py) (Chat rotation), [`SecurityScripts/codesecurity.py`](https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/codesecurity.py) (Code rotation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Chat client"]
  node_chat_gate["Security gate<br/>[main.py]"]
  node_chat_identity["Name and password<br/>[main.py]"]
  node_chat_ui["Chat interface<br/>[main.py]"]
  node_message_encode["Message encoding<br/>[main.py]"]
  node_message_receive["Chat receiver<br/>[main.py]"]
end

subgraph group_admin["Administration"]
  node_admin_gate["Admin gate<br/>[admincontrol.py]"]
  node_admin_panel["Admin panel<br/>[admincontrol.py]"]
  node_security_config["Security code control<br/>[admincontrol.py]"]
  node_access_config["Access control<br/>[admincontrol.py]"]
  node_enigma_config["Enigma mapping control<br/>[admincontrol.py]"]
end

subgraph group_background["Background scripts"]
  node_chat_rotation["Chat rotation<br/>[combinecrypta.py]"]
  node_code_rotation["Code rotation<br/>[codesecurity.py]"]
end

node_user(("User"))
node_firestore[("Firebase Firestore")]

node_user -->|"enters code"| node_chat_gate
node_chat_gate -->|"checks code"| node_firestore
node_chat_gate -->|"opens identity"| node_chat_identity
node_chat_identity -->|"checks credentials"| node_firestore
node_chat_identity -->|"opens chat"| node_chat_ui
node_chat_ui -->|"sends message"| node_message_encode
node_message_encode -->|"writes chat"| node_firestore
node_chat_ui -->|"starts receiver"| node_message_receive
node_message_receive -->|"reads chat"| node_firestore
node_user -->|"enters admin code"| node_admin_gate
node_admin_gate -->|"opens panel"| node_admin_panel
node_admin_panel -->|"opens controls"| node_security_config
node_admin_panel -->|"opens controls"| node_access_config
node_admin_panel -->|"opens controls"| node_enigma_config
node_security_config -->|"writes code"| node_firestore
node_access_config -->|"reads and writes"| node_firestore
node_enigma_config -->|"updates mappings"| node_firestore
node_chat_rotation -->|"rotates chat mapping"| node_firestore
node_code_rotation -->|"rotates security code"| node_firestore

click node_chat_gate "https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py"
click node_chat_identity "https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py"
click node_chat_ui "https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py"
click node_message_encode "https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py"
click node_message_receive "https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py"
click node_admin_gate "https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py"
click node_admin_panel "https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py"
click node_security_config "https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py"
click node_access_config "https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py"
click node_enigma_config "https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py"
click node_chat_rotation "https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/combinecrypta.py"
click node_code_rotation "https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/codesecurity.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_chat_gate,node_chat_identity,node_chat_ui,node_message_encode,node_message_receive,node_user toneBlue
class node_admin_gate,node_admin_panel,node_security_config,node_access_config,node_enigma_config,node_firestore toneAmber
class node_chat_rotation,node_code_rotation toneMint
```

## Components

### Chat client

- [Security gate](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py): `main.py`
- [Name and password](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py): `main.py`
- [Chat interface](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py): `main.py`
- [Message encoding](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py): `main.py`
- [Chat receiver](https://github.com/wiranata-orion/crypta-whisper/blob/main/main.py): `main.py`

### Administration

- [Admin gate](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py): `admincontrol.py`
- [Admin panel](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py): `admincontrol.py`
- [Security code control](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py): `admincontrol.py`
- [Access control](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py): `admincontrol.py`
- [Enigma mapping control](https://github.com/wiranata-orion/crypta-whisper/blob/main/admincontrol.py): `admincontrol.py`

### Background scripts

- [Chat rotation](https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/combinecrypta.py): `SecurityScripts/combinecrypta.py`
- [Code rotation](https://github.com/wiranata-orion/crypta-whisper/blob/main/SecurityScripts/codesecurity.py): `SecurityScripts/codesecurity.py`

### Other components

- **User**
- **Firebase Firestore**

## Connections

- User → Security gate: enters code (evidence: `main.py`)
- Security gate → Firebase Firestore: checks code (evidence: `main.py`)
- Security gate → Name and password: opens identity (evidence: `main.py`)
- Name and password → Firebase Firestore: checks credentials (evidence: `main.py`)
- Name and password → Chat interface: opens chat (evidence: `main.py`)
- Chat interface → Message encoding: sends message (evidence: `main.py`)
- Message encoding → Firebase Firestore: writes chat (evidence: `main.py`)
- Chat interface → Chat receiver: starts receiver (evidence: `main.py`)
- Chat receiver → Firebase Firestore: reads chat (evidence: `main.py`)
- User → Admin gate: enters admin code (evidence: `admincontrol.py`)
- Admin gate → Admin panel: opens panel (evidence: `admincontrol.py`)
- Admin panel → Security code control: opens controls (evidence: `admincontrol.py`)
- Admin panel → Access control: opens controls (evidence: `admincontrol.py`)
- Admin panel → Enigma mapping control: opens controls (evidence: `admincontrol.py`)
- Security code control → Firebase Firestore: writes code (evidence: `admincontrol.py`)
- Access control → Firebase Firestore: reads and writes (evidence: `admincontrol.py`)
- Enigma mapping control → Firebase Firestore: updates mappings (evidence: `admincontrol.py`)
- Chat rotation → Firebase Firestore: rotates chat mapping (evidence: `SecurityScripts/combinecrypta.py`)
- Code rotation → Firebase Firestore: rotates security code (evidence: `SecurityScripts/codesecurity.py`)
