Engineering case study demonstrates zero-budget end-to-end encryption implementation and legal metadata compliance in self-hosted messaging, indicating jurisdiction dictates system architecture.
End-to-end encryption is a solved engineering problem; operating an end-to-end encrypted service is not. We present NarChat, a self-hosted encrypted messenger built from scratch on a zero budget — one human directing, AI agents writing and adversarially auditing the code, consumer hardware in a private home — and we use it to examine why perfect communication privacy remains rare when its mathematics are free. The system provides content confidentiality by construction: a hybrid X25519/XSalsa20-Poly1305 fan-out scheme, a challenge–signature login designed so that the password never leaves the device — the pilot's incomplete migration to it is reported as honestly as the design — and a server reduced to a courier of opaque blobs — simple enough that its strongest privacy claim is verified by a test that reads the server's own message storage from disk, searches for a sentinel plaintext, and fails if it finds one. We report with equal prominence what the system does not provide — forward secrecy, metadata privacy, encrypted call signaling — and the claim's scope: confidentiality holds against a passive or storage-reading server, while an actively malicious server could attack key distribution or call signaling and be caught only by out-of-band verification. Independent adversarial audits during development caught real vulnerabilities — a path traversal, a pre-authentication denial of service, a CSRF quota drain, an XSS scheme bypass — each fix locked by a regression test demonstrated to fail on the unpatched code. A pilot deployment (8 accounts, 41 messages, 14 days of uninterrupted operation at measurement) confirms that the engineering works — and that adoption does not follow automatically. We then map the system against Turkish law, as a case study of one jurisdiction, and find the pressure point is not where engineering intuition expects: the statutes' operative demand is traffic data, not message content. The codebase accordingly forks: the full-E2E reference is frozen and archived, and a compliance-instrumented variant has been built against it (not deployed — going live remains a human decision); the complete difference between the two, measured line-by-line, is 91 lines added and 2 removed in one file, with the end-to-end core bit-for-bit unchanged — the fingerprint a jurisdiction leaves on an architecture. We conclude that jurisdiction is a design parameter — as real as bandwidth. This record contains the paper in English (canonical) and Turkish (claim-synchronous translation). The system it documents is archived separately as software, with its full git history, at 10.5281/zenodo.22017587, and is developed at github.com/NarchTech/narchat. Every technical claim in the paper binds to an artifact in that archive — a file and a line, a named test, an audit-log entry — never to a running service. Conventions: claims that could not be verified against a primary source are marked in place rather than smoothed over (rendered as [!] in these PDFs). Legal material is reported, not adjudicated: the paper states what the statutes and case law say and marks what remains untested. It is not legal advice. Status: preprint. This version has passed claim-level verification against the frozen archive and primary legal texts, adversarial multi-model review of its highest-risk sections, and three independent fresh-eye reviews. Further polishing rounds are planned; Zenodo versioning means the concept DOI always resolves to the latest version.
No takes yet. Share an insight, caveat, or question.
Melikoğlu et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: