PrivChat
Mensajería sin nada en medio

Tus mensajes van de tu teléfono al suyo. A ningún sitio más.

PrivChat es una aplicación de mensajería cifrada punto a punto para Android. No hay cuenta que crear, ni número de teléfono que dar, ni empresa que guarde tus conversaciones — nosotros incluidos. Dos teléfonos hablan entre sí directamente, a través de la red Tor.

La mayoría de las aplicaciones de mensajería están cifradas y centralizadas: tus palabras van protegidas, pero una empresa sigue viendo con quién hablas, cuándo y cuánto. Ese registro suele decir más que las propias palabras. PrivChat quita la empresa en vez de pedirte que confíes en ella.

Cómo viaja un mensaje

Tu teléfono repetidor repetidor repetidor repetidor Su teléfono se cifra aquí se abre aquí la red Tor — aquí nadie puede leerlo, y ningún repetidor conoce los dos extremos

Cuando escribes un mensaje, tu teléfono lo cifra y se lo entrega a la red Tor, que lo hace pasar por una cadena de repetidores llevados por voluntarios independientes de todo el mundo. Cada repetidor conoce únicamente el salto anterior y el siguiente. El primero sabe que estás enviando algo pero no a quién; el último sabe a dónde va pero no quién lo mandó. Ninguno puede leerlo, porque la clave solo existe en los dos teléfonos.

Tu proveedor de internet está en la misma situación. Puede ver que te conectas a la red Tor —eso es inevitable en cualquier herramienta construida sobre Tor— pero no puede leer ni una palabra de lo que escribes, y no es cuestión de que no quiera: el mensaje ya va cifrado cuando sale de tu teléfono, así que por su red no pasa en ningún momento nada legible. Lo mismo vale para el wifi al que estés conectado y para cualquiera que vigile la línea.

No hay bandeja de entrada, ni cola, ni nube. Si la otra persona no está conectada, el mensaje se queda en tu teléfono y lo vuelve a intentar más tarde. Nunca queda aparcado en una máquina que sea de otro.

Qué lo protege

El mensaje pasa por varias capas, y cada una resuelve un problema distinto.

Una clave nueva en cada mensaje

Las claves no se reutilizan. Cada mensaje se cifra con la suya, derivada en ese momento y desechada acto seguido, y la cadena avanza con cada mensaje en los dos sentidos. Si una clave se viera comprometida, abriría un mensaje — no la conversación. Y en cuanto los dos teléfonos vuelven a escribirse, la cadena se cura sola: incluso alguien que hubiera llegado a tener el estado actual se queda fuera otra vez.

Los paquetes no dicen quién habla

Cifrar las palabras es la parte fácil. Lo que se suele filtrar es todo lo que las rodea: quién, cuándo, cada cuánto, cuánto rato. PrivChat envuelve cada mensaje en un sobre sellado cuya única parte legible es una clave aleatoria de un solo uso, y hasta la cabecera interna del cifrado va cifrada — de modo que dos paquetes de la misma persona no se pueden reconocer como suyos.

Todos los mensajes miden lo mismo, y la app habla cuando tú no

Una respuesta de una letra y un párrafo largo producen paquetes de tamaño idéntico, así que la longitud no revela nada. Además, la aplicación envía paquetes señuelo a intervalos aleatorios, indistinguibles de los reales. Lo importante es la consecuencia: quien vigile tu conexión no puede saber siquiera si estás conversando.

Por qué seguirá siendo seguro dentro de veinte años

Hay un ataque del que no te puedes defender a posteriori. Un adversario puede grabar hoy tu tráfico cifrado y sencillamente guardarlo. Eso no lo impide nada. Si dentro de unos años los ordenadores cuánticos rompen el intercambio de claves que se usa en 2026, todo lo que guardaron se vuelve legible — de forma retroactiva, y ya no hay nada que puedas hacer, porque la grabación ya ocurrió.

El acuerdo de claves de PrivChat combina el algoritmo clásico (X25519) con ML-KEM-768, el algoritmo post-cuántico que el NIST estandarizó en 2024. Los dos secretos se mezclan, así que un atacante tiene que romper los dos — y de ese secreto compartido nace la conversación entera, en ambos sentidos, mientras dure.

Esto importa sobre todo a quien más necesita una aplicación así: lo que dices hoy sigue mereciendo protección dentro de quince años.

En tu teléfono

Los mensajes, los contactos, los archivos adjuntos y las propias claves van cifrados en reposo, con una clave del almacén de claves de Android ligada al hardware del dispositivo. Puedes añadir un PIN, y entonces la clave necesita las dos mitades —tu PIN y un secreto del dispositivo—, de modo que ni el propio teléfono puede abrir su almacenamiento sin ti.

La aplicación se excluye de las copias de seguridad automáticas de Android, así que tus conversaciones no se suben a ninguna nube, ni siquiera a la tuya. Los mensajes efímeros se borran solos a las 24 horas, y «borrar identidad y empezar de cero» destruye las claves en vez de limitarse a borrar ficheros: después de eso, los datos anteriores son irrecuperables aun teniendo el teléfono en la mano.

Por dentro

La arquitectura es punto a punto, y de eso depende que todo lo demás de esta página sea cierto. Cada teléfono levanta su propio servicio onion de Tor y habla directamente con el otro. No hay ningún repetidor nuestro, ni cola de mensajes, ni base de datos de cuentas — así que no existe ningún sitio donde pueda acumularse el registro de quién habla con quién, ni siquiera para quien viniera a pedirlo. Quitar el servidor no es una función añadida encima del cifrado: es lo que hace que el cifrado sirva de algo.

Encima de eso corre el mismo conjunto de estándares que han adoptado gobiernos e industria. Aquí no hay nada de cosecha propia, y cada pieza está especificada públicamente — los enlaces llevan a las especificaciones, no a nosotros.

Para quéQué se usa
ArquitecturaPunto a punto: cada teléfono es su propio servicio onion v3 de Tor, sin servidor en medio
Acuerdo de clavesPQXDHX25519 combinado con ML-KEM-768 (FIPS 203)
Renovación de clavesDouble Ratchet, con las cabeceras cifradas
Cifrado de los mensajesChaCha20-Poly1305
FirmasEd25519
Derivación de clavesHKDF-SHA256
Derivación desde el PINArgon2id
Base de datos localSQLCipher (AES-256)
TransporteTor, mediante la implementación arti

Los contactos se identifican con una huella que podéis comparar en voz alta, para confirmar que hablas con quien crees y no con alguien que interceptó la presentación.

Donaciones

PrivChat es gratuita, no tiene publicidad y no recoge nada que vender. Si quieres apoyarla, estas son las dos únicas direcciones. Comprueba la huella antes de enviar nada.

Por qué importa la huella. La dirección de donación va escrita dentro de la aplicación, en claro. Recompilarla con otra dirección es el fraude clásico contra las apps que aceptan donaciones: copias una dirección que no es la nuestra y no tienes forma de notarlo.

La aplicación te muestra una huella corta junto a la dirección. Si coincide con la de esta página, la dirección de tu copia de la aplicación es la buena. Es el mismo gesto que la app ya te pide para verificar un contacto.

Monero (XMR)

45hRduLUQD5Ek4qGgHTuWAZnncwroMET1WsLUDC9AF6DNSt5qMP1Fk7WUsN4EwzJdA1ypfL7TtJQQ8uqutAJWwJy5jzp8Pa

Huella: 1D63 68D5 7653 1887

Bitcoin — Silent Payments (BIP-352)

sp1qqf2jvtz0k7rsy7f0cka9ejz6e4lmakz6v9zgae02ks0qpck3a6dxzqn73fp9gj6y632q8th2nfv2lv7rua49s5unzjpau3ahp29ssw689vwu9ksy

Huella: 63BB FA03 F806 BC55

Por qué no hay una dirección Bitcoin normal

Porque en una cadena pública todos los donantes pagarían al mismo sitio, y eso queda visible para siempre. Cualquiera podría sacar la lista de quién ha donado a una aplicación de mensajería cifrada. Esa lista es exactamente lo que esta aplicación existe para evitar — así que no vamos a crearla nosotros para poder recibir donaciones.

Una dirección de Silent Payments funciona distinto: tu monedero deriva un destino nuevo que solo nosotros podemos gastar, de modo que en la cadena nada enlaza unas donaciones con otras. Hace falta un monedero compatible con BIP-352.

Comprobar las huellas sin fiarte de esta web

Las dos huellas de arriba están además publicadas como declaración firmada, de modo que cambiarlas exige algo más que comprometer este sitio: exige también nuestra clave de firma.

Declaración firmada: donations.txt
Clave pública: privchat-pgp.asc

Huella de la clave:
BC8D E53F D8D1 6F63 AD8A 33EA 10EC 8069 37D6 8502

Para comprobarlo: importa la clave y ejecuta gpg --verify donations.txt. La huella de la clave que te diga tiene que coincidir con la de aquí arriba.

Esa misma huella está publicada en nuestra ficha de Google Play. Son dos sitios distintos, en manos de empresas distintas: una huella falsificada tendría que aparecer en los dos a la vez y mantenerse coherente. Si alguna vez no coinciden, no envíes nada y escríbenos.

Descargarla

PrivChat en Google Play

¿Es la primera vez? Cómo se usa PrivChat recorre cómo añadir tu primer contacto, comprobar una huella y qué significan los estados de los mensajes.