Mensajería privada sin número de teléfono
Veto es una mensajería cifrada de extremo a extremo: identidad local, claves en el dispositivo y relays que solo ven texto cifrado. Construimos el sitio, la app web y una app nativa en Flutter para Android e iOS, todo sobre un solo núcleo en Rust.
Veto es una mensajería cifrada de extremo a extremo que no pide número de teléfono: la identidad y las claves se crean en el dispositivo y los mensajes viajan por varios relays que solo ven texto cifrado. Construimos su sitio trilingüe, la PWA en /app y, en octubre de 2026, una app nativa en Flutter que usa el mismo núcleo criptográfico en Rust que la web. En el teléfono, la app agrega contactos por enlace o código QR, maneja grupos y encuestas, y se bloquea con un código local.
- Cliente
- Veto · Mensajería privada
- Sector
- Privacidad y mensajería
- Año
- 2026
- Entregables
- App nativa en Flutter (Android, iOS)
- Núcleo Rust por FFI
- PWA en /app
- Sitio de marketing trilingüe
- Arquitectura E2E multi-relay
Que nadie en el camino lea los mensajes
El encargo de Veto era exigente. Ni scanners, ni relays, ni operadores debían ver nunca el texto en claro, y nadie debía necesitar un número de teléfono ni un SMS para entrar. Las promesas de seguridad también tenían que ser honestas: un producto de privacidad que exagera su protección rompe la confianza que pide. Hacía falta un producto real y una explicación clara de en qué punto está.
Una app nativa sobre el mismo núcleo en Rust
En octubre de 2026 reemplazamos las apps Capacitor por una app nativa en Flutter para Android e iOS. Reescribir el protocolo en Dart habría duplicado la criptografía y partido Veto en dos redes incompatibles. Por eso la app llama al mismo núcleo en Rust que la web, a través de una pequeña interfaz en C (veto-ffi). Los secretos se quedan detrás de handles nativos; Dart solo recibe claves públicas, texto cifrado y el texto en claro que pide. Unos vectores de prueba generados desde el código TypeScript corren en las dos suites, y la CI falla si web y móvil se separan.
La app nativa usa los mismos relays que la web, así que alguien en el teléfono y alguien en el navegador se agregan con el mismo enlace de invitación o código QR. Un mensaje cuenta como entregado cuando al menos dos relays lo guardaron. En el teléfono, cada fila de SQLite va sellada con la clave de la bóveda, y esa clave se envuelve otra vez con una clave del dispositivo guardada en Android Keystore o en el Keychain de iOS: copiar los archivos de la app no permite adivinar el código fuera de línea. La app se bloquea tras cinco minutos en segundo plano y oculta los chats en el selector de apps.
El repositorio suma 217 commits desde mayo de 2026. La app tiene 53 archivos Dart y 16.369 líneas, con 50 casos de prueba, sobre un crate criptográfico en Rust de 4.366 líneas. Un script de extremo a extremo hace hablar el APK real en un emulador con la app web real.
-
01
App Flutter, núcleo en Rust
Un solo código Flutter para Android e iOS llama a la misma criptografía en Rust que la web a través de veto-ffi: hay un único protocolo que mantener.
-
02
Intercambio híbrido
El protocolo v2 combina X25519 y ML-KEM-768 en el handshake, y luego un Double Ratchet con renovaciones periódicas de ML-KEM. La parte poscuántica protege la confidencialidad de los mensajes.
-
03
Números de seguridad
Cada contacto tiene un número de seguridad de 60 dígitos en 12 grupos de 5. Se compara en persona o por llamada, se marca como verificado, y Veto avisa si las claves cambian.
-
04
Teléfono, computador y web
La app web corre en el navegador de cualquier computador y encuentra a los usuarios nativos en los mismos relays. La app nativa todavía no vincula dispositivos, así que cada uno tiene su propia identidad.
El proyecto en imágenes
7 imágenes · Abre una imagen para verla en grande.
Una mensajería en el teléfono, el computador y la web
Veto funciona hoy como app nativa en Android y iPhone y como app web en el computador, con los mismos relays y los mismos enlaces de invitación. En la app nativa funcionan grupos, encuestas, stickers, reacciones, respuestas, chats bloqueados y tema oscuro, y Veto Echo, un contacto de demostración que corre en el propio teléfono, permite probarla sin nadie más.
- App nativa en Flutter sobre el mismo núcleo Rust que la web
- Mismos relays y enlaces de invitación en el teléfono y en el navegador
- 50 pruebas móviles y vectores compartidos con el código web
Las preguntas que escuchamos a menudo
¿La app Veto es segura?
Veto cifra cada mensaje en tu dispositivo antes de que salga, con un handshake híbrido X25519 + ML-KEM-768 y un Double Ratchet, y los relays solo transportan sobres sellados que no pueden leer. La propia app marca el límite en su nota «Honest status»: la protección poscuántica cubre la confidencialidad de los mensajes, pero la verificación de identidad es clásica, así que conviene comparar los números de seguridad con tus contactos.
¿Necesito un número de teléfono para usar Veto?
No. Veto no pide número de teléfono, correo ni cuenta. Tu identidad y tus claves se crean en el dispositivo, y agregas a otras personas compartiendo un enlace de invitación o mostrando un código QR.
¿Puedo usar Veto en un computador portátil?
Sí, con la app web en el navegador, que se puede instalar como PWA. Usa el mismo núcleo criptográfico en Rust que la app del teléfono y los mismos relays, así que usuarios de computador y de teléfono se agregan entre sí. La app nativa aún no vincula dispositivos, de modo que el computador tiene su propia identidad.
¿Hay una app de Veto para el celular?
Sí: una app nativa para Android y iPhone, hecha con un solo código Flutter. Crea tu identidad en el teléfono y no pide número de teléfono para empezar.
Casos cercanos a este
Ver más
Flashdays · App de fotos
Un carrete revelado como en 2006
App Flutter para Android e iOS que da a un carrete entero el look de una compacta de los 2000 y lo exporta como carrusel, revelado en la GPU del teléfono.
Saber más →
Ver más
Dampling · Beber menos
Beber menos, con una mascota que crece
App Flutter para Android y iOS: un diario de alcohol y nicotina que guarda los datos en el teléfono y una mascota dumpling que crece cada día sin alcohol.
Saber más →
Ver más
Nekonap · Puzzle lógico
Un puzzle diario para dormir gatos
Puzzle lógico Flutter para Android y iOS: un gato por fila, columna y parche, un puzzle del día igual para todos y 36 gatos, sin anuncios.
Saber más →Pongámoslo en producción
Cuéntanos tu reto. Respondemos en menos de 24 horas laborales con una primera lectura honesta: si podemos ayudarte, te diremos cómo; si no, te diremos quién puede.
Contesto personalmente. Sin formularios eternos ni respuestas automáticas.
