fuck-eu-chat-control docs
Docs
fuck-eu-chat-control is a peer-to-peer, in-browser chat app built to hold one property that most "secure" messengers quietly give up: no server holds your messages, your keys, or even a way to decrypt them. The broker that helps two peers find each other keeps no state, writes no logs, and is dropped from the data path the moment a direct WebRTC data channel opens. What travels between you and the other person is encrypted with keys that never leave your browser, authenticated by a safety number you compare out-of-band.
This is v1, and v1 is intentionally narrow. There is no group chat, no message history sync across devices, no TURN relay, and no account system — your identity lives in browser storage scoped to this origin, optionally wrapped by a passphrase. The crypto is real (P-256 ECDSA identity, ephemeral ECDH, AES-256-GCM, HKDF-SHA256, Argon2id for at-rest wrapping), but the threat model has sharp edges you should understand before trusting it with anything serious. Read the security page first; the formal spec pages below are the source of truth if you want to verify a claim.
The whole thing is open source. That is not a footnote — for a tool whose entire point is “nothing to hand over,” being able to read every line, reproduce the build, fork it, and run your own instance is the guarantee. The crypto claims above are checkable against the protocol spec page; the deployment page shows exactly how to host it yourself instead of trusting a third party. If you find a flaw, open an issue or a pull request.
Pages
- Security, in plain language
What's protected, what isn't, and how to actually verify a conversation. Start here. - Threat model
The formal, standalone security reference. States plainly what v1 protects and what it does not protect against. - Protocol v1 specification
The frozen wire and cryptographic protocol. Byte layouts, constants, key schedule, frame format. Don't paraphrase it. - Protocol v2 — group chats
The group extension: a mesh of v1 pairwise links, peerId-addressed broker signaling, and the author-signed membership list. v1 is untouched. - Deployment guide
How to run this yourself: single-process Nitro server, the one WSS route, STUN-only NAT traversal, and the logging posture operators must enforce.