Free chat and a private social layer, engineered so its operator is structurally unable to surveil, monetize, or betray the people who use it.
A manifesto is only worth the architecture that enforces it. These five laws are not a privacy policy — they are constraints compiled into the system. Where a promise can be broken, we removed the ability to break it.
Free forever. No ads, no data sales, no paywalls, no premium tiers, no investors to answer to. Sustained by its community or not at all — because the moment a platform must extract value from its users, it begins to work against them.
The server cannot leak what it never holds. No emails, no phone numbers, no passwords, no identity files. Encryption happens in your browser; the operator is mathematically blind to the contents of private communication.
No photos, no video, no infinite media. This keeps hosting costs near zero, defeats appearance-first judgment, and restores the cadence of the early web — words, exchanged between minds.
No algorithmic feed, no engagement metrics, no dark patterns engineered to keep you scrolling. The application's success is measured in conversations begun, not hours consumed. It is designed to let you log on, connect, and leave.
Moderation flows from cryptographic consensus among users, not top-down surveillance of their messages. Bad actors are excised by the network without any authority reading the traffic of the innocent.
Rebellion is a communications platform whose central design goal is the elimination of trust as a requirement. Conventional services ask users to trust that an operator will not read, sell, or surrender their data. Rebellion replaces that trust with cryptographic guarantees and structural absence: it does not ask to be believed, because it removes its own capacity to betray. Identity is a keypair generated on the user's device, never an account on a server. Private messages are end-to-end encrypted in the browser and pass through the server as ciphertext it cannot decrypt. The public square is ephemeral, held in memory and gone when the room empties. There are no emails, no phone numbers, no passwords, and no revenue model that depends on knowing who you are.
This paper describes the architecture, the cryptographic identity system, the messaging and moderation protocols, the second product built on the same identity, an honest account of what the operator can and cannot observe, and how the platform compares to the dominant products in the market.
The dominant social platforms are not communication tools that happen to run advertising. They are advertising and data-collection systems that happen to permit communication. Their economics require the opposite of what their users want: maximal time-on-screen, maximal behavioural data, and maximal friction to leaving. This produces a set of predictable pathologies.
Rebellion begins from the premise that these are not bugs to be regulated away but direct consequences of the business model. Change the incentive structure — remove monetization entirely — and a different architecture becomes not only possible but necessary.
Each of the five laws maps directly onto engineering decisions. The manifesto is the specification; the architecture is its implementation.
The server is treated as an untrusted relay. It is given the minimum information required to route messages and nothing more. Wherever a capability would create a liability — a decryption key, a password hash, an identity file — that capability is designed out rather than protected.
Data not stored cannot be leaked. Public conversation is never persisted; private conversation is held only as ciphertext, only until delivered, and only for a bounded window. The natural state of a message is to vanish.
Keeping infrastructure costs low is what makes community funding realistic. Affordability is not incidental to the mission — it is what makes "no monetization, ever" survivable.
Rebellion runs as a single Elixir/OTP application built on the Phoenix framework, using LiveView to drive a real-time interface over a persistent WebSocket. Cryptography lives entirely in the browser via the Web Crypto API. The server's role is deliberately narrow: authenticate that a user controls the key they claim, track who is present, relay messages, and hold opaque ciphertext briefly for offline delivery. It is a blind relay — a switchboard that routes sealed envelopes without the means to open them.
Rebellion has no sign-up. On first visit the browser generates 128 bits of entropy and derives two keypairs from it with the Web Crypto API: an Ed25519 pair for signing and identity, and an ECDH P-256 pair for key agreement. The public signing key is the user — the canonical, permanent identifier. No email, no username, no password is ever created, because there is no account to attach them to.
That entropy is expressed to the user as a twelve-word BIP39 recovery phrase — the same standard used by cryptocurrency wallets. The phrase never touches the server. Written on paper, it restores the exact identity — name, connections and reservations intact — on any device, and recovers it after clearing a browser. Both keypairs derive from it, so a restored device computes the same shared secrets as the original and can read what was sent to it. Self-custody of identity, with no operator in the loop.
Because a public key is public, claiming one proves nothing. On connection the server issues a random single-use challenge; the client signs it with the private key it holds; the server verifies the signature against the claimed public key. Only the holder of the private key can produce a valid signature, which closes the door on impersonation — you cannot wear an identity you do not cryptographically own.
Human-readable handles map to public keys through a lease binding handle → owner + expiry on a rolling seven-day window. Reconnect within the window and the name stays yours; abandon it and it returns to the pool. The mapping is never disclosed — an availability check returns only "free" or "taken", never who owns a name. Persistence of identity without a public directory of it.
Each identity renders as a unique piece of pixel art, generated deterministically from the public key. Recognition without photographs: the same key always draws the same face, and it reveals nothing about the person behind it.
The lobby and open channels behave like classic IRC: messages are broadcast over an in-memory pub/sub bus to everyone present and are never written to disk. When the room empties, the conversation is gone. Presence — who is currently online — is tracked in a distributed, memory-resident structure, not a log. Public speech is public and ephemeral by design, and the interface says so rather than implying an encryption that cannot exist in a room anyone may enter.
Two users derive a shared secret from each other's ECDH public keys — a Diffie–Hellman exchange computed independently in each browser, producing the same key on both sides without either private key ever moving. Messages are sealed with AES-256-GCM in the sender's browser, relayed as ciphertext, and opened only in the recipient's browser. To reach someone who is offline the server stores the ciphertext briefly — seven-day time-to-live, deleted the instant it is collected. The operator holds sealed envelopes and never holds a key that opens them.
An incoming message from a stranger is not forced onto the screen. The recipient is offered a choice — Read, Decline or Block — before any content is shown. Autonomy over one's own attention is a first-class feature, and blocking is enforced on the recipient's own device. There are no read receipts: the only signal a sender ever gets is an expiry notice.
Users create their own channels, which open as internal tabs alongside the lobby — ephemeral spaces for a topic, an event, or a community, spun up without downloading a tracking-laden app. Public channels are discoverable through a directory and expire when nobody has used them.
Private rooms are end-to-end encrypted. A room key is minted in a member's browser and wrapped individually to each other member's public key; the room's name is encrypted with it, so even what a private room is called is unknown to the server. There is no uniqueness check on that name, because refusing a duplicate would disclose that a room by that name exists. Membership and presence are separate: closing the tab keeps you a member, and leaving is a distinct, confirmed act that rotates the key so the departed copy cannot read what is said next. A room exists while it has members and simply ceases to be when the last one leaves — there is no owner and no delete button, because there is no one to hold either.
A mathematically blind server presents a genuine problem: the same architecture that protects the innocent removes the operator's ability to police the guilty. Centralized, omniscient moderation is impossible here by construction — not withheld as a matter of policy, but absent as a matter of capability.
Rebellion's answer is deliberately modest, and stating it plainly matters more than claiming something grander. Moderation is personal. You mute somebody by identity rather than by name, so a rename cannot dodge it, and the mute changes only what you see. You may hand your mute list to somebody you trust as a code passed directly between you — it never reaches this server, because a central list of who is disliked is exactly the apparatus this design refuses to build. Inside a private room, members can remove somebody by a flat vote of those present, visible to everyone including the person being voted on; there are no secret tribunals and no ranks, because there is no operator class to hold one.
The honest limitation is that this protects individuals rather than the network. A cryptographic reporting scheme that lets a recipient prove a single message's authorship without exposing the rest of a conversation is a known technique and is not built here; see §13.
Rebellion has a second interface, reached by a switch rather than a second sign-up. It carries profiles and a chronological feed among people you invited yourself — and it inherits the identity Chat already issued, so there is one key, one recovery phrase, and nothing further to lose.
Its central property is that the server stores nothing against an identity. Every friendship already has a shared secret, so a mailbox address is derived from it and rotates over time; blobs are stored against those addresses, and there is no identity column in that table to seize. There is no friend list on this machine because one was never written. There is no search and no directory: the only way to reach somebody is to click a person you can already see, and connections are mutual to make and mutual to end.
The feed is chronological and complete — everything from everyone you connected to, in the order it was written. That is the feature and it is also the limit. What was poisonous about the timeline was never the timeline; it was the ranking and the harvesting, and both are absent. The social layer carries pictures, which is a deliberate exception to Law III recorded on its own trade-off page rather than quietly softened in the manifesto.
Credibility requires precision about the threat model. Zero-knowledge is a claim about content, not a claim of perfect invisibility. Here is the honest boundary.
The relay can observe that two anonymous keys exchanged a direct message and roughly when — metadata — but not a word of what they said. This is inherent to reaching somebody who is offline; a purely peer-to-peer system would avoid it at the cost of never reaching them at all. It is the same class of trade-off made by mainstream encrypted messengers. The social layer does not have this property: its storage is keyed on derived addresses and holds no identities. Additionally, the public edge network that shields the origin server can observe visitor IP addresses; the application itself logs none of it. We describe these limits rather than obscure them — a privacy claim you cannot audit is just marketing. Each product publishes its own full account of them.
The distinction that matters is not any single feature but the business model underneath it: every mainstream option must eventually reconcile privacy with a need to monetize attention or identity. Rebellion has no such need to reconcile.
| Platform | PII | E2EE | Feed | Monetizes |
|---|---|---|---|---|
| Rebellion | none | yes | no | never |
| Signal | phone # | yes | no | no (nonprofit) |
| phone # | yes | feeds/ads | yes | |
| Telegram | phone # | opt-in only | channels | yes |
| Discord / Slack | no | partial | yes | |
| Mainstream social | email + photos | no | ranked | ads |
Message contents are zero-knowledge; routing metadata for direct messages is visible to the relay, as detailed in §9.
The stack is chosen for concurrency, resilience, and low operational cost. Elixir on the BEAM virtual machine handles tens of thousands of persistent connections per node with soft-real-time guarantees; Phoenix LiveView renders the interface server-side and streams diffs over a WebSocket, keeping the client thin. PostgreSQL stores only opaque data — public keys, ciphertext, and blobs addressed by derived identifiers. All cryptography runs in the browser through the Web Crypto API. The public site is fronted by an encrypted tunnel that keeps the origin server's network closed to the open internet. Backups are encrypted to a public key whose private half is held off the server: the machine can write backups it cannot read.
A platform that refuses to monetize its users must still pay for servers and bandwidth. Rebellion's answer is to keep costs near zero — the direct dividend of a lean, ephemeral design — and to fund the remainder transparently and non-coercively.
There are no advertisers, no data buyers, and no investors expecting a return. The absence of those parties is precisely what keeps the incentives of the platform aligned with the interests of the people using it.
An honest paper names what is not yet true. The cryptographic core — anonymous identity, proof of possession, end-to-end encrypted messaging, encrypted private rooms, ephemeral public chat, and a social layer whose storage holds no identities — is in production. The following are acknowledged limitations and the direction of ongoing work. None of them is described above as though it were finished.
Most platforms ask you to trust them. Rebellion is built so you don't have to. By removing identity, monetization, and surveillance from the architecture itself — not from a policy that can quietly change — it demonstrates that private, human, unmonetized connection is not a nostalgic impossibility but an engineering choice. The rebellion is not against technology. It is against the assumption that connection must be paid for with the self.
rebellionchat.com — free forever. The five laws are at /manifesto.