Comparison: add SimpleX, drop the uniqueness claims it ended, fix column widths

SimpleX also runs on servers anyone can host and asks for no phone number,
and hides who talks to whom better than we do. The lede and the closing
paragraph said those were ours alone; both now say what is true, including
where SimpleX is the better choice. Every SimpleX cell was checked against
SimpleX's own docs and the Trail of Bits reports on 2026-10-07.

Also: Signal's contact check notes Automatic Key Verification (opt-in, Aug
2026); the audit cell says a grant has been applied for rather than that
donations pay for it; the Spanish contact-check cell matches the English
(iPhone only); sources, trademark line and glossary updated.

Column widths were 24% + 19% per column, over 100% with five messengers,
so the last column (WhatsApp, 70 px) was squeezed. Now 16% + 14% x 6 with a
fixed layout; measured equal at 1280 px (111 px each) and scrolling inside
its box at 375 px.

New test: every row has six cells, the lost uniqueness claims stay gone,
the sentence naming where SimpleX is ahead stays. Falsified by deleting a
cell; restored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Paul Hitt
2026-10-07 14:37:39 -04:00
co-authored by Claude Opus 5.5
parent a55af454fc
commit dd0d4e6674
4 changed files with 194 additions and 52 deletions
+9 -3
View File
@@ -515,14 +515,20 @@ a.btn:visited { color: #000000; }
/* Comparison table. Wide, so it scrolls inside its own box rather than
widening the column. */
.compare-scroll { overflow-x: auto; margin: 0 0 12px; -webkit-overflow-scrolling: touch; }
.compare { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 11px; }
/* Fixed layout, and widths that add up to 100%: the row heading plus six
equal columns. They used to be 24% + 19% each, which is over 100% with
five columns, so the browser squeezed the last one. The minimum width
keeps each column readable; below it the box scrolls. */
.compare { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 11px; table-layout: fixed; }
.compare th, .compare td {
border: 1px solid var(--fn-rule); padding: 4px 6px;
text-align: left; vertical-align: top;
}
.compare thead th { background: #E8EFF8; font-weight: bold; white-space: nowrap; }
.compare tbody th { background: #F5F8FC; font-weight: bold; width: 24%; }
.compare td { width: 19%; }
.compare tbody th { background: #F5F8FC; font-weight: bold; }
.compare tr > :first-child { width: 16%; }
.compare tr > :not(:first-child) { width: 14%; }
.compare td { overflow-wrap: anywhere; }
/* Our own column is marked, since the comparison is written by one of the
products in it. */
.compare .mine { background: var(--fn-chan-tint); }
+61 -24
View File
@@ -4,12 +4,12 @@
<div class="wrap">
<h1>How this compares</h1>
<p class="lede lede-wide">
Five messengers, side by side. A few things on this table only Flamenet
Messenger does: it runs on a server you control, it asks for no phone
number and charges nothing to leave it out, and your address is yours
rather than the server's, so a relay shutting down costs you a mailbox,
not your name. The rest is laid out plainly and sourced from each
project's own documentation, so you can check every line of it.
Six messengers, side by side. Two of them, Flamenet Messenger and
SimpleX, run on servers you can host yourself and ask for no phone
number. What only Flamenet Messenger does here: your address comes from
your passphrase rather than the server, so a relay shutting down costs
you a mailbox, not your name. The rest is laid out plainly and sourced
from each project's own documentation, so you can check every line of it.
</p>
<div class="compare-scroll">
@@ -22,6 +22,7 @@
<th scope="col">Telegram</th>
<th scope="col">Apple Messages</th>
<th scope="col">WhatsApp</th>
<th scope="col">SimpleX</th>
</tr>
</thead>
<tbody>
@@ -32,6 +33,7 @@
<td><strong class="no">No</strong><br><small>Only in Secret Chats, which are one-to-one and have to be started deliberately.</small></td>
<td><strong class="yes">Yes</strong><br><small>Between Apple devices, and with Android since iOS 26.5, but only for the newer kind of text message, not the old kind.</small></td>
<td><strong class="yes">Yes</strong><br><small>Personal messages and calls, by default.</small></td>
<td><strong class="yes">Yes</strong><br><small>Chats and groups. Public channels are the exception: the relays that carry them can read them, by design.</small></td>
</tr>
<tr>
<th scope="row">Works without a phone number</th>
@@ -40,6 +42,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="part">Partly</strong><br><small>An Apple ID, reachable by phone number or email.</small></td>
<td><strong class="no">No</strong><br><small>A phone number is required to register.</small></td>
<td><strong class="yes">Yes</strong><br><small>It asks for no phone number or username, and does not even assign a random number. You connect by passing a link or QR code. Optional public names for channels and contact addresses are in testing.</small></td>
</tr>
<tr>
<th scope="row">You can run the server yourself</th>
@@ -48,6 +51,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="yes">Yes</strong><br><small>A message server and a file server, each installed with a script or Docker. The app lets you switch off the preset servers.</small></td>
</tr>
<tr>
<th scope="row">Message someone on a different server</th>
@@ -56,6 +60,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="part">Partly</strong><br><small>In Europe only, with apps that have signed up to connect, because EU law requires it. You have to opt in.</small></td>
<td><strong class="yes">Yes</strong><br><small>Each person picks the servers they receive on, and anyone can still write to them. There are no accounts on the servers.</small></td>
</tr>
<tr>
<th scope="row">You keep your name if you move servers</th>
@@ -64,6 +69,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="part">Partly</strong><br><small>There is no name to lose. Moving means switching each contact to a new server by hand, and only while the old one still works.</small></td>
</tr>
<tr>
<th scope="row">Messages can wait for you in more than one place</th>
@@ -72,6 +78,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong><br><small>Planned. For now each contact's messages wait on one server. Public channels already use several relays.</small></td>
</tr>
<tr>
<th scope="row">Anyone can read the code</th>
@@ -80,6 +87,7 @@
<td><strong class="part">Apps only</strong><br><small>The server side is closed.</small></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong><br><small>The apps and servers are closed. Meta publishes some parts, such as the library behind its key checking.</small></td>
<td><strong class="yes">Apps and server</strong><br><small>AGPL licence for the apps and both kinds of server, which requires anyone who changes it and runs it for others to publish their changes.</small></td>
</tr>
<tr>
<th scope="row">Safe from the computers that are coming, when a conversation starts</th>
@@ -88,6 +96,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="yes">Yes</strong><br><small>Yes. Apple has done this longest.</small></td>
<td><strong class="no">Not stated</strong><br><small>Meta's published post-quantum work protects the connection to its servers, not the messages themselves.</small></td>
<td><strong class="yes">Yes</strong><br><small>One-to-one chats, on by default since April 2024. Groups do not have it yet.</small></td>
</tr>
<tr>
<th scope="row">And every message after that</th>
@@ -96,6 +105,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="yes">Yes</strong><br><small>Yes. Apple has done this longest.</small></td>
<td><strong class="no">Not stated</strong></td>
<td><strong class="yes">Yes</strong><br><small>A new post-quantum key exchange each time the conversation changes direction, since 2024. One-to-one chats only.</small></td>
</tr>
<tr>
<th scope="row">Your app checks your contact is really them</th>
@@ -104,10 +114,11 @@
inclusion proof and detects no fork (spec 19.5). This row claimed
both apps until 2026-09-21. -->
<td class="mine"><strong class="part">iPhone</strong><br><small>Automatic, and a server that goes quiet counts as caught. Android does not check the list yet; safety numbers work on both.</small></td>
<td><strong class="yes">Yes</strong></td>
<td><strong class="yes">Yes</strong><br><small>Automatic Key Verification, opt-in, since August 2026.</small></td>
<td><strong class="no">No</strong></td>
<td><strong class="yes">Yes</strong><br><small>Contact Key Verification, opt-in.</small></td>
<td><strong class="yes">Yes</strong><br><small>Automatically, through key transparency, since 2023.</small></td>
<td><strong class="part">By hand</strong><br><small>You compare a security code with your contact, or scan theirs. Nothing checks it for you.</small></td>
</tr>
<tr>
<th scope="row">Your history survives losing the phone</th>
@@ -116,14 +127,16 @@
<td><strong class="yes">Yes</strong><br><small>Cloud chats live on Telegram's servers, which is also why somebody in between can read them.</small></td>
<td><strong class="yes">Yes</strong><br><small>Through iCloud, encrypted end to end only if Advanced Data Protection is turned on.</small></td>
<td><strong class="yes">Yes</strong><br><small>Backups to Google Drive or iCloud, encrypted end to end only if you turn that on.</small></td>
<td><strong class="part">Partly</strong><br><small>Only if you exported a copy by hand first, locked with your passphrase. Moving to a new phone needs the old one. Backups on the server are planned.</small></td>
</tr>
<tr>
<th scope="row">Checked by outsiders</th>
<td class="mine"><strong class="part">Planned</strong><br><small>The scope is written and public, and donations pay for it.</small></td>
<td class="mine"><strong class="part">Planned</strong><br><small>The scope is written and public, and an audit grant has been applied for.</small></td>
<td><strong class="yes">Yes</strong></td>
<td><strong class="part">Partly</strong><br><small>Its protocol has been examined externally, with mixed findings.</small></td>
<td><strong class="yes">Yes</strong><br><small>Apple&rsquo;s design was examined by academics outside the company.</small></td>
<td><strong class="part">Partly</strong><br><small>Two parts were publicly reviewed by NCC Group: the encrypted backups in 2021 and the key directory in 2023. The app itself is closed.</small></td>
<td><strong class="yes">Yes</strong><br><small>Trail of Bits reviewed the code in 2022 and the protocol design in 2024. A 2026 code review is announced but not yet published.</small></td>
</tr>
<tr>
<th scope="row">You can install it today</th>
@@ -132,6 +145,7 @@
<td><strong class="yes">Yes</strong></td>
<td><strong class="yes">Yes</strong></td>
<td><strong class="yes">Yes</strong></td>
<td><strong class="yes">Yes</strong><br><small>iPhone, Android, Windows, Mac and Linux. No web version.</small></td>
</tr>
<tr>
<th scope="row">People already using it</th>
@@ -140,6 +154,7 @@
<td><strong class="yes">Hundreds of millions</strong></td>
<td><strong class="yes">Built into every iPhone</strong></td>
<td><strong class="yes">More than two billion</strong></td>
<td><strong class="yes">About 480,000 a month</strong><br><small>SimpleX's own figure from August 2026, with more than 3 million downloads. With no accounts to count, it does not say how it arrived at it.</small></td>
</tr>
<tr>
<th scope="row">What pays for it</th>
@@ -148,6 +163,7 @@
<td>Ads and subscriptions</td>
<td>Selling the hardware it runs on</td>
<td>Meta, including ads in Status and Channels</td>
<td>Investors and donations, to a company; since 2026 also paid supporter badges and shares sold to the public</td>
</tr>
</tbody>
</table>
@@ -180,37 +196,43 @@
security property of its own. Trust the table, not the tone of it.
</p>
<p>
All five are serious pieces of engineering, and on post-quantum we are
All six are serious pieces of engineering, and on post-quantum we are
not ahead of anyone: Apple and Signal both carry it through the ongoing
conversation, and Signal has been doing so since October 2025. This page
scored that row wrong once, in our own favour, which is the kind of mistake
the note below asks you to report. But every other messenger on this table has one
thing in common: somebody else runs the server, and you are trusting them
to. Flamenet Messenger is built so that you do not have to, the whole
thing runs on a machine you control, under a licence that lets you keep it
that way, with no phone number attached to any of it. That is the trade
this project exists to remove, and nothing else here offers it.
conversation, Signal since October 2025, and SimpleX has done the same in
one-to-one chats since 2024. This page scored that row wrong once, in our
own favour, which is the kind of mistake the note below asks you to
report. It also used to say that nothing else here runs on a server you
can host yourself with no phone number attached. SimpleX does both, and
goes further than we do on hiding who talks to whom: it gives you no
name or number at all, and is built so a server cannot easily tell which
conversations belong to the same person. What Flamenet Messenger offers
instead is a username people can find you by and a buddy list that shows
who is online, the way AIM did. The cost is that the server knows
account names and which of your devices are online, and for now it also
keeps your contact list. If you would rather no server could tell who
you are, SimpleX is the better choice.
</p>
<h2>Where these facts come from</h2>
<p>
Everything above is drawn from each project's own published documentation
and from public security research, checked in September 2026. These are given
and from public security research, checked in September and October 2026. These are given
as references rather than links, because this site deliberately doesn't
send you anywhere else:
</p>
<ul>
<li><strong>Signal</strong>, Signal Support, "Phone Number Privacy and Usernames" and "Phone Numberless Registration for Android"; Signal blog, "Keep your phone number private with Signal usernames"; the PQXDH specification.</li>
<li><strong>Signal</strong>, Signal Support, "Phone Number Privacy and Usernames" and "Phone Numberless Registration for Android"; Signal blog, "Keep your phone number private with Signal usernames"; the PQXDH specification; Signal blog, "Introducing Automatic Key Verification" (August 2026).</li>
<li><strong>Telegram</strong>, Telegram Core API, "End-to-End Encryption, Secret Chats", which documents that cloud chats are client–server encrypted and that Secret Chats are opt-in and one-to-one.</li>
<li><strong>Apple</strong>, Apple Security Research, "iMessage with PQ3"; Apple Support, "iCloud data security overview"; the iOS 26.5 release notes covering encrypted RCS; Stebila, "Security analysis of the iMessage PQ3 protocol", and the USENIX Security 2025 formal analysis of PQ3.</li>
<li><strong>WhatsApp</strong>, WhatsApp Help Center, "About end-to-end encryption", "About end-to-end encrypted backup" and "About ads in WhatsApp Status and Channels"; the WhatsApp privacy page; Engineering at Meta, "Deploying key transparency at WhatsApp" and "Post-quantum readiness for TLS at Meta"; Meta, "Messaging Interoperability: WhatsApp enables third-party chats for users in Europe"; and NCC Group's public reports on WhatsApp's end-to-end encrypted backups (2021) and its Auditable Key Directory (2023).</li>
<li><strong>SimpleX</strong>, the README and LICENSE files of the simplex-chat and simplexmq repositories; SimpleX docs, "SimpleX Chat FAQ", "Hosting your own SMP Server", "Hosting your own XFTP Server", "Security Policy", and the user guide pages "Privacy &amp; security", "Making connections" and "Managing your data"; the protocol documents "Post-quantum resistant augmented double ratchet algorithm" and "SimpleX Channels: stateful information delivery and management"; SimpleX blog posts on v5.6 and v5.7 (March and April 2024), its 2024 funding, the 2024 design review, channels (April 2026), public names (July 2026), equity crowdfunding (August 2026) and supporter badges (September 2026); and Trail of Bits, "SimpleX Chat Security Assessment" (2022) and "SimpleX Chat Design Review" (2024).</li>
<li><strong>Flamenet Messenger</strong>, the <a href="/spec">specification</a>, the <a href="/metadata">metadata page</a> and the <a href="/roadmap">roadmap</a> on this site.</li>
</ul>
<p class="meta">
If you find a row here that is out of date or unfair to one of the others,
that is a bug and we would like to hear about it, see
<a href="/community">community</a>. Signal is a trademark of Signal
Messenger, LLC; Telegram is a trademark of Telegram Messenger Inc.; Apple
Messenger, LLC; Telegram is a trademark of Telegram Messenger Inc.; SimpleX Chat is a trademark of SimpleX Chat Ltd; Apple
and iMessage are trademarks of Apple Inc. This project is not affiliated
with, endorsed by, or connected to any of them.
</p>
@@ -223,19 +245,34 @@ entirely would be its own kind of unhelpful.</p>
<li><strong>Safe from the computers that are coming</strong>, the field
calls this <em>post-quantum</em> cryptography. At the start of a conversation
Signal calls theirs <em>PQXDH</em>, Apple&rsquo;s is part of <em>PQ3</em>, and
ours is a hybrid of X25519 and <em>ML-KEM-768</em>.</li>
ours is a hybrid of X25519 and <em>ML-KEM-768</em>, and SimpleX pairs X448 with
<em>sntrup761</em>, also called Streamlined NTRU Prime.</li>
<li><strong>And every message after that</strong>, the repeating part of
a conversation&rsquo;s encryption is called a <em>ratchet</em>. Signal&rsquo;s
post-quantum one is the <em>Sparse Post-Quantum Ratchet</em>, announced October
2025; ours is protocol <em>v3</em>.</li>
2025; ours is protocol <em>v3</em>; SimpleX&rsquo;s is the <em>post-quantum resistant augmented double
ratchet</em> (<em>PQDR</em>), added in version 5.6 in March 2024.</li>
<li><strong>Your app checks your contact is really them</strong>,
<em>key transparency</em>, built on an append-only <em>Merkle</em> log.</li>
<em>key transparency</em>, built on an append-only <em>Merkle</em> log.
Signal calls its version <em>Automatic Key Verification</em>.
SimpleX&rsquo;s hand comparison is its <em>security code</em>.</li>
<li><strong>Anyone can read the code</strong>, ours is <em>MIT</em>;
Signal&rsquo;s apps and server are <em>AGPL</em> and <em>GPL</em>.</li>
Signal&rsquo;s apps and server are <em>AGPL</em> and <em>GPL</em>, and
SimpleX&rsquo;s apps and servers are <em>AGPL</em> version 3.</li>
<li><strong>Message someone on a different server</strong>,
<em>federation</em>.</li>
<li><strong>Between Apple devices, and with Android</strong>, the newer
kind of text message is <em>RCS</em>; the old kind is SMS.</li>
<li><strong>Works without a phone number</strong>, SimpleX describes itself as
having <em>no user identifiers</em>; instead each conversation runs over its own
one-way <em>message queues</em>. Its optional names are <em>SimpleX public
names</em>, ending in <em>.simplex</em>.</li>
<li><strong>You keep your name if you move servers</strong>, SimpleX calls
moving one contact to another server <em>Change receiving address</em>, also
known as <em>queue rotation</em>.</li>
<li><strong>You can run the server yourself</strong>, SimpleX&rsquo;s message
server is an <em>SMP</em> server and its file server an <em>XFTP</em>
server.</li>
</ul>
</div>
+70 -25
View File
@@ -4,12 +4,13 @@
<div class="wrap">
<h1>Cómo se compara</h1>
<p class="lede lede-wide">
Cinco aplicaciones de mensajería, una al lado de otra. Algunas cosas de esta tabla
solo las hace Flamenet Messenger: funciona en un servidor que tú controlas, no
pide ningún número de teléfono y no te cobra nada por prescindir de él, y tu
dirección es tuya y no del servidor, así que un servidor que cierra te cuesta
un buzón, no tu nombre. El resto está puesto tal cual y
sale de la documentación de cada proyecto, para que puedas comprobar cada línea.
Seis aplicaciones de mensajería, una al lado de otra. Dos de ellas,
Flamenet Messenger y SimpleX, funcionan en servidores que puedes alojar tú
mismo y no piden ningún número de teléfono. Lo que solo hace Flamenet
Messenger: tu dirección sale de tu frase de acceso y no del servidor, así
que un servidor que cierra te cuesta un buzón, no tu nombre. El resto está
puesto tal cual y sale de la documentación de cada proyecto, para que
puedas comprobar cada línea.
</p>
<div class="compare-scroll">
@@ -22,6 +23,7 @@
<th scope="col">Telegram</th>
<th scope="col">Mensajes de Apple</th>
<th scope="col">WhatsApp</th>
<th scope="col">SimpleX</th>
</tr>
</thead>
<tbody>
@@ -32,6 +34,7 @@
<td><strong class="no">No</strong><br><small>Solo en los chats secretos, que son de uno a uno y hay que iniciarlos a propósito.</small></td>
<td><strong class="yes">Sí</strong><br><small>Entre dispositivos de Apple, y con Android desde iOS 26.5, pero solo para el tipo nuevo de mensaje de texto, no el antiguo.</small></td>
<td><strong class="yes">Sí</strong><br><small>Mensajes y llamadas personales, por defecto.</small></td>
<td><strong class="yes">Sí</strong><br><small>Chats y grupos. Los canales públicos son la excepción: los servidores que los reparten pueden leerlos, por diseño.</small></td>
</tr>
<tr>
<th scope="row">Funciona sin número de teléfono</th>
@@ -40,6 +43,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="part">En parte</strong><br><small>Un Apple ID, localizable por número de teléfono o por correo.</small></td>
<td><strong class="no">No</strong><br><small>Hace falta un número de teléfono para registrarse.</small></td>
<td><strong class="yes">Sí</strong><br><small>No pide número de teléfono ni nombre de usuario, y ni siquiera asigna un número al azar. Conectas pasando un enlace o un código QR. Hay nombres públicos opcionales para canales y direcciones de contacto, todavía en pruebas.</small></td>
</tr>
<tr>
<th scope="row">Puedes ejecutar el servidor tú mismo</th>
@@ -48,6 +52,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="yes">Sí</strong><br><small>Un servidor de mensajes y otro de archivos, cada uno instalado con un script o con Docker. La aplicación te deja desactivar los servidores que trae de serie.</small></td>
</tr>
<tr>
<th scope="row">Escribir a alguien en otro servidor</th>
@@ -56,6 +61,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="part">En parte</strong><br><small>Solo en Europa, con aplicaciones que se han apuntado a conectarse, porque lo exige la ley europea. Hay que activarlo.</small></td>
<td><strong class="yes">Sí</strong><br><small>Cada persona elige los servidores en los que recibe, y cualquiera puede seguir escribiéndole. Los servidores no guardan cuentas.</small></td>
</tr>
<tr>
<th scope="row">Conservas tu nombre si cambias de servidor</th>
@@ -64,6 +70,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="part">En parte</strong><br><small>No hay ningún nombre que perder. Mudarse significa pasar cada contacto a un servidor nuevo a mano, y solo mientras el antiguo siga funcionando.</small></td>
</tr>
<tr>
<th scope="row">Los mensajes pueden esperarte en más de un sitio</th>
@@ -72,6 +79,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong><br><small>Previsto. Por ahora los mensajes de cada contacto esperan en un solo servidor. Los canales públicos ya usan varios servidores de reparto.</small></td>
</tr>
<tr>
<th scope="row">Cualquiera puede leer el código</th>
@@ -80,6 +88,7 @@
<td><strong class="part">Solo las aplicaciones</strong><br><small>El lado del servidor es cerrado.</small></td>
<td><strong class="no">No</strong></td>
<td><strong class="no">No</strong><br><small>Las aplicaciones y los servidores son cerrados. Meta publica algunas partes, como la biblioteca en la que se apoya su comprobación de claves.</small></td>
<td><strong class="yes">Aplicaciones y servidor</strong><br><small>Licencia AGPL para las aplicaciones y los dos tipos de servidor, que obliga a quien lo modifique y lo ejecute para otros a publicar sus cambios.</small></td>
</tr>
<tr>
<th scope="row">A salvo de los ordenadores que vienen, al empezar una conversación</th>
@@ -88,6 +97,7 @@
<td><strong class="no">No</strong></td>
<td><strong class="yes">Sí</strong><br><small>Sí. Apple es quien lleva más tiempo haciéndolo.</small></td>
<td><strong class="no">No consta</strong><br><small>El trabajo poscuántico que Meta ha publicado protege la conexión con sus servidores, no los mensajes en sí.</small></td>
<td><strong class="yes">Sí</strong><br><small>Chats de uno a uno, activado por defecto desde abril de 2024. Los grupos todavía no lo tienen.</small></td>
</tr>
<tr>
<th scope="row">Y cada mensaje después de eso</th>
@@ -96,14 +106,19 @@
<td><strong class="no">No</strong></td>
<td><strong class="yes">Sí</strong><br><small>Sí. Apple es quien lleva más tiempo haciéndolo.</small></td>
<td><strong class="no">No consta</strong></td>
<td><strong class="yes">Sí</strong><br><small>Un intercambio de claves poscuántico nuevo cada vez que la conversación cambia de sentido, desde 2024. Solo en chats de uno a uno.</small></td>
</tr>
<tr>
<th scope="row">Tu aplicación comprueba que tu contacto es quien dice ser</th>
<td class="mine">#if(iosLive):<strong class="part">Las dos aplicaciones</strong>#else:<strong class="part">Android y la beta de iPhone</strong>#endif<br><small>Automático. Un servidor que se queda callado cuenta como pillado.</small></td>
<td><strong class="yes">Sí</strong></td>
<!-- Solo iPhone, y dicho así: la app de Android lleva el código de verificación
en KeyLog.kt y no lo llama desde ningún sitio (spec 19.5). Igualado con
la página en inglés, corregida el 2026-09-21. -->
<td class="mine"><strong class="part">iPhone</strong><br><small>Automático, y un servidor que se queda callado cuenta como pillado. Android todavía no comprueba la lista; los números de seguridad funcionan en las dos.</small></td>
<td><strong class="yes">Sí</strong><br><small>Verificación automática de claves, opcional, desde agosto de 2026.</small></td>
<td><strong class="no">No</strong></td>
<td><strong class="yes">Sí</strong><br><small>Verificación de clave de contacto, opcional.</small></td>
<td><strong class="yes">Sí</strong><br><small>Automáticamente, mediante transparencia de claves, desde 2023.</small></td>
<td><strong class="part">A mano</strong><br><small>Comparas un código de seguridad con tu contacto, o escaneas el suyo. Nada lo comprueba por ti.</small></td>
</tr>
<tr>
<th scope="row">Tu historial sobrevive a perder el teléfono</th>
@@ -112,14 +127,16 @@
<td><strong class="yes">Sí</strong><br><small>Los chats en la nube viven en los servidores de Telegram, que es también por lo que sí hay alguien en medio que puede leerlos.</small></td>
<td><strong class="yes">Sí</strong><br><small>A través de iCloud, cifrado de extremo a extremo solo si la Protección de datos avanzada está activada.</small></td>
<td><strong class="yes">Sí</strong><br><small>Copias en Google Drive o iCloud, cifradas de extremo a extremo solo si lo activas.</small></td>
<td><strong class="part">En parte</strong><br><small>Solo si antes exportaste una copia a mano, cerrada con tu frase de acceso. Pasar a un teléfono nuevo requiere el antiguo. Las copias en el servidor están previstas.</small></td>
</tr>
<tr>
<th scope="row">Revisado por gente de fuera</th>
<td class="mine"><strong class="part">Previsto</strong><br><small>El alcance está escrito y es público, y las donaciones lo pagan.</small></td>
<td class="mine"><strong class="part">Previsto</strong><br><small>El alcance está escrito y es público, y se ha solicitado una subvención para la auditoría.</small></td>
<td><strong class="yes">Sí</strong></td>
<td><strong class="part">En parte</strong><br><small>Su protocolo se ha examinado desde fuera, con resultados dispares.</small></td>
<td><strong class="yes">Sí</strong><br><small>El diseño de Apple lo examinaron académicos ajenos a la empresa.</small></td>
<td><strong class="part">En parte</strong><br><small>NCC Group revisó públicamente dos partes: las copias cifradas en 2021 y el directorio de claves en 2023. La aplicación en sí es cerrada.</small></td>
<td><strong class="yes">Sí</strong><br><small>Trail of Bits revisó el código en 2022 y el diseño del protocolo en 2024. Hay anunciada una revisión del código de 2026, todavía sin publicar.</small></td>
</tr>
<tr>
<th scope="row">Puedes instalarlo hoy</th>
@@ -128,6 +145,7 @@
<td><strong class="yes">Sí</strong></td>
<td><strong class="yes">Sí</strong></td>
<td><strong class="yes">Sí</strong></td>
<td><strong class="yes">Sí</strong><br><small>iPhone, Android, Windows, Mac y Linux. Sin versión web.</small></td>
</tr>
<tr>
<th scope="row">Gente que ya lo usa</th>
@@ -136,6 +154,7 @@
<td><strong class="yes">Cientos de millones</strong></td>
<td><strong class="yes">Viene en todos los iPhone</strong></td>
<td><strong class="yes">Más de dos mil millones</strong></td>
<td><strong class="yes">Unas 480.000 al mes</strong><br><small>La cifra la da SimpleX, en agosto de 2026, con más de 3 millones de descargas. Sin cuentas que contar, no explica cómo la calcula.</small></td>
</tr>
<tr>
<th scope="row">Quién lo paga</th>
@@ -144,6 +163,7 @@
<td>Publicidad y suscripciones</td>
<td>La venta del hardware en el que funciona</td>
<td>Meta, incluidos anuncios en Estados y Canales</td>
<td>Inversores y donaciones, a una empresa; desde 2026 también insignias de apoyo de pago y acciones vendidas al público</td>
</tr>
</tbody>
</table>
@@ -176,35 +196,43 @@
tono.
</p>
<p>
Las cinco son piezas serias de ingeniería, y en lo poscuántico no vamos por delante de
nadie: Apple y Signal lo llevan a lo largo de toda la conversación, y Signal lo hace
desde octubre de 2025. Esta página puntuó mal esa fila una vez, a nuestro favor, que es
el tipo de error que la nota de abajo te pide que denuncies. Pero todas las demás
aplicaciones de esta tabla tienen una cosa en común: el servidor lo lleva otro, y
confías en él. Flamenet Messenger está construido para que no tengas que hacerlo: todo
funciona en una máquina que tú controlas, bajo una licencia que te deja mantenerlo
así, sin ningún número de teléfono en ninguna parte. Ese es el trato que este proyecto
existe para eliminar, y nada más de esta tabla lo ofrece.
Las seis son piezas serias de ingeniería, y en lo poscuántico no vamos por
delante de nadie: Apple y Signal lo llevan a lo largo de toda la
conversación, Signal desde octubre de 2025, y SimpleX hace lo mismo en los
chats de uno a uno desde 2024. Esta página puntuó mal esa fila una vez, a
nuestro favor, que es el tipo de error que la nota de abajo te pide que
denuncies. También decía que nada más de esta tabla funciona en un
servidor que puedes alojar tú mismo sin ningún número de teléfono de por
medio. SimpleX hace las dos cosas, y va más lejos que nosotros en ocultar
quién habla con quién: no te da ningún nombre ni número, y está pensado
para que a un servidor le cueste saber qué conversaciones son de la misma
persona. Lo que Flamenet Messenger ofrece a cambio es un nombre de usuario
con el que la gente puede encontrarte y una lista de amigos que muestra
quién está conectado, como hacía AIM. El coste es que el servidor conoce
los nombres de las cuentas y cuáles de tus dispositivos están conectados,
y por ahora también guarda tu lista de contactos. Si prefieres que ningún
servidor pueda saber quién eres, SimpleX es la mejor opción.
</p>
<h2>De dónde salen estos datos</h2>
<p>
Todo lo de arriba sale de la documentación publicada por cada proyecto y de la
investigación pública en seguridad, comprobado en septiembre de 2026. Se dan como
investigación pública en seguridad, comprobado en septiembre y octubre de 2026. Se dan como
referencias y no como enlaces, porque este sitio, a propósito, no te manda a ningún
otro:
</p>
<ul>
<li><strong>Signal</strong>: Signal Support, "Phone Number Privacy and Usernames" y "Phone Numberless Registration for Android"; el blog de Signal, "Keep your phone number private with Signal usernames"; la especificación PQXDH.</li>
<li><strong>Signal</strong>: Signal Support, "Phone Number Privacy and Usernames" y "Phone Numberless Registration for Android"; el blog de Signal, "Keep your phone number private with Signal usernames"; la especificación PQXDH; el blog de Signal, "Introducing Automatic Key Verification" (agosto de 2026).</li>
<li><strong>Telegram</strong>: Telegram Core API, "End-to-End Encryption, Secret Chats", que documenta que los chats en la nube van cifrados cliente-servidor y que los chats secretos son opcionales y de uno a uno.</li>
<li><strong>Apple</strong>: Apple Security Research, "iMessage with PQ3"; Apple Support, "iCloud data security overview"; las notas de la versión iOS 26.5 sobre RCS cifrado; Stebila, "Security analysis of the iMessage PQ3 protocol", y el análisis formal de PQ3 de USENIX Security 2025.</li>
<li><strong>WhatsApp</strong>: Centro de ayuda de WhatsApp, "About end-to-end encryption", "About end-to-end encrypted backup" y "About ads in WhatsApp Status and Channels"; la página de privacidad de WhatsApp; Engineering at Meta, "Deploying key transparency at WhatsApp" y "Post-quantum readiness for TLS at Meta"; Meta, "Messaging Interoperability: WhatsApp enables third-party chats for users in Europe"; y los informes públicos de NCC Group sobre las copias de seguridad cifradas de extremo a extremo de WhatsApp (2021) y su Auditable Key Directory (2023).</li>
<li><strong>SimpleX</strong>: los archivos README y LICENSE de los repositorios simplex-chat y simplexmq; la documentación de SimpleX, "SimpleX Chat FAQ", "Hosting your own SMP Server", "Hosting your own XFTP Server", "Security Policy", y las páginas de la guía de uso "Privacy &amp; security", "Making connections" y "Managing your data"; los documentos de protocolo "Post-quantum resistant augmented double ratchet algorithm" y "SimpleX Channels: stateful information delivery and management"; las entradas del blog de SimpleX sobre las versiones 5.6 y 5.7 (marzo y abril de 2024), su financiación de 2024, la revisión de diseño de 2024, los canales (abril de 2026), los nombres públicos (julio de 2026), la financiación colectiva con acciones (agosto de 2026) y las insignias de apoyo (septiembre de 2026); y Trail of Bits, "SimpleX Chat Security Assessment" (2022) y "SimpleX Chat Design Review" (2024).</li>
<li><strong>Flamenet Messenger</strong>: la <a href="/spec">especificación</a>, la <a href="/es/metadata">página de metadatos</a> y la <a href="/es/roadmap">hoja de ruta</a> de este sitio.</li>
</ul>
<p class="meta">
Si encuentras aquí una fila desactualizada o injusta con alguno de los otros, es un
error y queremos saberlo; ver <a href="/es/community">comunidad</a>. Signal es una
marca de Signal Messenger, LLC; Telegram es una marca de Telegram Messenger Inc.; Apple
marca de Signal Messenger, LLC; Telegram es una marca de Telegram Messenger Inc.; SimpleX Chat es una marca de SimpleX Chat Ltd; Apple
e iMessage son marcas de Apple Inc. Este proyecto no está afiliado a ninguno de ellos,
ni respaldado por ellos ni conectado con ellos.
</p>
@@ -217,19 +245,36 @@ ayudar.</p>
<li><strong>A salvo de los ordenadores que vienen</strong>: el campo lo llama criptografía
<em>poscuántica</em>. Al comienzo de una conversación, Signal llama a la suya
<em>PQXDH</em>, la de Apple forma parte de <em>PQ3</em>, y la nuestra es un híbrido de
X25519 y <em>ML-KEM-768</em>.</li>
X25519 y <em>ML-KEM-768</em>, y SimpleX combina X448 con
<em>sntrup761</em>, también llamado Streamlined NTRU Prime.</li>
<li><strong>Y cada mensaje después de eso</strong>: la parte repetitiva del cifrado de una
conversación se llama <em>ratchet</em>. El poscuántico de Signal es el <em>Sparse
Post-Quantum Ratchet</em>, anunciado en octubre de 2025; el nuestro es el protocolo
<em>v3</em>.</li>
<em>v3</em>; el de SimpleX es el <em>post-quantum resistant augmented
double ratchet</em> (<em>PQDR</em>), añadido en la versión 5.6 en marzo de
2024.</li>
<li><strong>Tu aplicación comprueba que tu contacto es quien dice ser</strong>:
<em>transparencia de claves</em>, construida sobre un registro <em>Merkle</em> de solo
añadir.</li>
añadir. Signal llama a la suya <em>Automatic Key Verification</em>. La
comparación a mano de SimpleX es su <em>código de seguridad</em>
(<em>security code</em>).</li>
<li><strong>Cualquiera puede leer el código</strong>: el nuestro es <em>MIT</em>; las
aplicaciones y el servidor de Signal son <em>AGPL</em> y <em>GPL</em>.</li>
aplicaciones y el servidor de Signal son <em>AGPL</em> y <em>GPL</em>, y las aplicaciones y los servidores de SimpleX son <em>AGPL</em>
versión 3.</li>
<li><strong>Escribir a alguien en otro servidor</strong>: <em>federación</em>.</li>
<li><strong>Entre dispositivos de Apple, y con Android</strong>: el tipo nuevo de mensaje de
texto es <em>RCS</em>; el antiguo es SMS.</li>
<li><strong>Funciona sin número de teléfono</strong>: SimpleX se describe como
una red <em>sin identificadores de usuario</em> (<em>no user identifiers</em>);
en su lugar, cada conversación va por sus propias <em>colas de mensajes</em> de
un solo sentido (<em>message queues</em>). Sus nombres opcionales son los
<em>SimpleX public names</em>, que terminan en <em>.simplex</em>.</li>
<li><strong>Conservas tu nombre si cambias de servidor</strong>: SimpleX llama a
pasar un contacto a otro servidor <em>Change receiving address</em> (cambiar la
dirección de recepción), también conocido como <em>queue rotation</em>.</li>
<li><strong>Puedes ejecutar el servidor tú mismo</strong>: el servidor de
mensajes de SimpleX es un servidor <em>SMP</em> y el de archivos, un servidor
<em>XFTP</em>.</li>
</ul>
</div>
@@ -129,4 +129,58 @@ struct ComparisonClaimsTests {
}
}
}
/// SimpleX also runs on servers anyone can host and asks for no phone
/// number, and it hides who talks to whom better than Flamenet does. Until
/// 2026-10-07 the lede and the closing paragraph said those two things were
/// ours alone, which stopped being true the moment SimpleX was on the table.
/// Every row must also carry a SimpleX cell, or a row could quietly drop it.
@Test("SimpleX has a cell in every row and the page claims no uniqueness it lost")
func simplexColumnIsWholeAndHonest() async throws {
try await withRelayApp { app in
let pages = [
(
"/comparison",
["nothing else here offers it", "only Flamenet\n Messenger does: it runs on a server you control"],
"SimpleX is the better choice"
),
(
"/es/comparison",
["nada más de esta tabla lo ofrece", "solo las hace Flamenet Messenger: funciona en un servidor"],
"SimpleX es la mejor opción"
),
]
for (path, staleClaims, owned) in pages {
try await app.testing().test(
.GET, path,
afterResponse: { res async in
#expect(res.status == .ok, "\(path) did not render")
let html = res.body.string
#expect(
html.contains("<th scope=\"col\">SimpleX</th>"),
"\(path) has no SimpleX column")
for stale in staleClaims {
#expect(!html.contains(stale), "\(path) still claims: \(stale)")
}
// What replaced it, so deleting the paragraph cannot pass.
#expect(html.contains(owned), "\(path) lost the sentence that says where SimpleX is ahead")
// Seven cells per body row: the heading plus six messengers.
guard let a = html.range(of: "<tbody>"),
let b = html.range(of: "</tbody>", range: a.upperBound..<html.endIndex)
else {
Issue.record("\(path) has no table body")
return
}
let body = String(html[a.upperBound..<b.lowerBound])
let rows = body.components(separatedBy: "<tr>").dropFirst()
#expect(rows.count == 15, "\(path) has \(rows.count) rows, expected 15")
for row in rows {
let cells = row.components(separatedBy: "<td").count - 1
#expect(cells == 6, "\(path) row has \(cells) cells: \(row.prefix(80))")
}
})
}
}
}
}