Threat Model
Requirement Mapping
Fulfills [FUNC-001], [FUNC-007], [FUNC-008].
STRIDE Analysis
Spoofing: Strict TDLib session encryption and Telegram OAuth2/QR-code verification prevent identity impersonation.
Tampering: GPG-signed Git tags, SHA-256 object format, and strict compiler hardening flags (-D_FORTIFY_SOURCE=3, -fstack-protector-strong) protect binary and execution integrity.
Information Disclosure: Zero hardcoded secrets in source control. Sensitive session databases stored in ~/.local/share/grm/ with mode 0700 and optional TDLib database encryption key.
Denial of Service: Asynchronous receiver event loops with timeout guards and graceful signal handling prevent resource starvation and hang states.
Elevation of Privilege: Containerized deployments execute strictly under rootless Podman with non-root UID 10001.