188 lines
5.8 KiB
Markdown
188 lines
5.8 KiB
Markdown
---
|
|
marp: true
|
|
theme: gaia
|
|
class: invert
|
|
paginate: true
|
|
size: 16:9
|
|
---
|
|
|
|
<!--
|
|
Option 2 (larger canvas — NOT applied here): the `size:` directive
|
|
only accepts sizes the theme has declared via @size. Gaia ships only
|
|
16:9 (1280x720) and 4:3 (960x720). To get a 1920x1080 canvas you
|
|
must register a custom theme via marp.config.mjs / --theme containing
|
|
@size fhd 1920px 1080px;
|
|
and then set `size: fhd`. Inline <style> blocks cannot declare theme
|
|
metadata, so this can't be demoed in a single file.
|
|
-->
|
|
|
|
<style>
|
|
/* Option 5: each slide becomes a query container; tables size against
|
|
slide height (1cqh = 1% of slide height) instead of the root font. */
|
|
section {
|
|
container-type: size;
|
|
}
|
|
table { font-size: clamp(0.55rem, 1.9cqh, 1.1rem); }
|
|
th, td { padding: 0.25em 0.6em; }
|
|
section.dense table { font-size: clamp(0.45rem, 1.4cqh, 0.9rem); }
|
|
section.dense th, section.dense td { padding: 0.2em 0.5em; }
|
|
|
|
/* Option 4: cap mermaid by BOTH dimensions so tall diagrams shrink. */
|
|
.mermaid svg {
|
|
max-width: 100% !important;
|
|
max-height: 80cqh !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
}
|
|
</style>
|
|
|
|
# Messaging Without Big Tech
|
|
|
|
### Free & Open Alternatives to WhatsApp and Messenger
|
|
|
|
MakerFLOSS · May 2026
|
|
|
|
---
|
|
|
|
## Why Are We Here?
|
|
|
|
Most people use WhatsApp, Messenger, or iMessage.
|
|
|
|
- **WhatsApp** — owned by Meta; metadata harvested
|
|
- **Messenger** — no E2EE by default in groups; ad tracking
|
|
- **Telegram** — _not_ E2EE by default; closed server
|
|
- **iMessage** — Apple lock-in; no Android or Linux
|
|
|
|
These apps are _convenient_ — but the cost is your data.
|
|
|
|
---
|
|
|
|
## Wish-list
|
|
|
|
| Property | Why it matters |
|
|
| ------------------------- | ------------------------------------------- |
|
|
| End-to-end encryption | Only sender and recipient can read messages |
|
|
| Open source | Anyone can audit the code |
|
|
| Self-hostable | You control the server and the data |
|
|
| No phone number required | Less identity linkage |
|
|
| Cross-platform | Linux, Android, iOS, Windows |
|
|
| Federated / decentralized | No single point of failure or control |
|
|
|
|
---
|
|
|
|
## The Landscape at a Glance
|
|
|
|
_All apps below support end-to-end encryption._
|
|
|
|
| App | Open source | Self-host | No phone# | Federation |
|
|
| -------------------- | ----------- | --------- | --------- | ---------- |
|
|
| **Signal** | Partial | ✗ | ✗ | ✗ |
|
|
| **Matrix / Element** | ✓ | ✓ | ✓ | ✓ |
|
|
| **XMPP + OMEMO** | ✓ | ✓ | ✓ | ✓ |
|
|
| **Briar** | ✓ | N/A | ✓ | N/A |
|
|
| **Session** | ✓ | Partial | ✓ | Partial |
|
|
|
|
---
|
|
|
|
## Signal — The Gold Standard for E2EE
|
|
|
|
Non-profit Signal Foundation. The Signal Protocol powers WhatsApp, Google RCS, and Messenger secret chats.
|
|
|
|
**Pros**
|
|
|
|
- Simplest UX — works like a normal messaging app
|
|
- Audited, battle-tested cryptography; no ads, no tracking
|
|
|
|
**Cons**
|
|
|
|
- Phone number required — links identity to account
|
|
- Centralized — Signal's servers, Signal's rules
|
|
|
|
---
|
|
|
|
## Signal — Under the Hood
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant A as Alice's phone
|
|
participant S as Signal Server
|
|
participant B as Bob's phone
|
|
A->>S: encrypted message
|
|
Note over S: sees: who, when, how often<br/>does NOT see: content
|
|
S->>B: encrypted message
|
|
Note over B: decrypts with private key
|
|
```
|
|
|
|
Metadata still matters — [Signal subpoena responses](https://signal.org/bigbrother/)
|
|
|
|
---
|
|
|
|
## Matrix — The Federated Open Standard
|
|
|
|
Matrix is a **protocol**, not an app — like email for real-time chat.
|
|
|
|
```mermaid
|
|
graph LR
|
|
EC[Element client] --> YH[your homeserver]
|
|
YH <-->|federation| OH[another homeserver]
|
|
FC[FluffyChat] --> OH
|
|
```
|
|
|
|
- **Servers**: Synapse (Python), Conduit (Rust), Dendrite (Go)
|
|
- **Clients**: Element, FluffyChat, Cinny, Fractal, Nheko
|
|
- **Bridges**: WhatsApp, Telegram, Signal, IRC, Discord…
|
|
|
|
---
|
|
|
|
## Matrix — Pros and Cons
|
|
|
|
**Pros**
|
|
|
|
- Fully open source, top to bottom
|
|
- Self-host your server — you own your data
|
|
- Federated — no single company controls the network
|
|
- Bridges consolidate all your chats in one place
|
|
|
|
**Cons**
|
|
|
|
- E2EE key management is clunky (cross-signing, key backup)
|
|
- Synapse is resource-hungry (~1 GB RAM)
|
|
- The UX of Element is still maturing
|
|
|
|
---
|
|
|
|
## Matrix Bridges — Stay Connected During the Transition
|
|
|
|
A bridge relays messages between Matrix and another network — both ways.
|
|
|
|
| Bridge | Network | Notes |
|
|
| ------------------------- | ---------- | ------------------------------------------ |
|
|
| `mautrix-whatsapp` | WhatsApp | Puppeting — your real WA account |
|
|
| `mautrix-telegram` | Telegram | Puppeting — very stable |
|
|
| `mautrix-signal` | Signal | Fragile — Signal actively breaks 3rd-party |
|
|
| `meshtastic-matrix-relay` | Meshtastic | LoRa mesh ↔ Matrix — off-grid messaging |
|
|
|
|
**Catch:** Puppeting bridges hold your credentials. WhatsApp's ToS prohibits it — occasional bans occur.
|
|
|
|
---
|
|
|
|
## XMPP (Jabber)
|
|
|
|
The _original_ federated chat standard — 1999. Still alive and kicking.
|
|
|
|
- Extremely mature and lightweight
|
|
- E2EE via OMEMO
|
|
- Good clients: **Conversations** (Android), **Monal** (iOS/macOS), **Gajim** (desktop)
|
|
- Con: fragmented client quality; less beginner-friendly than Signal or Matrix
|
|
|
|
---
|
|
|
|
## Briar
|
|
|
|
Peer-to-peer messaging — _no server at all_.
|
|
|
|
- Works over Tor, local WiFi, or Bluetooth (offline!)
|
|
- Censorship-resistant by design
|
|
- Con: Android-first; no desktop client; both parties must be online to first connect
|
|
|
|
**For:** activists, disaster scenarios, high-censorship environments
|