Noticias · Seguridad en Blackbear

Lo que no podemos leer

15 de agosto de 2026 Xavi Group Parte 1 de 3
Ilustración: un oso negro en un escritorio de madera estampa un sello de lacre en un sobre, junto a una pila de sobres ya sellados

Blackbear es local-first. Todas las funciones trabajan en tu dispositivo y, por defecto, tus datos solo viven ahí, sin ningún servidor de por medio.

Cuando activas la sincronización en la nube, nuestros servidores empiezan a llevar tus datos entre tus dispositivos y tu gente. Esta serie explica lo que eso significa para tu privacidad. La parte 1 trata del cifrado: qué sale de tu dispositivo y por qué no podemos leerlo. La parte 2 es un registro honesto de los metadatos que nuestros servidores sí guardan. La parte 3 trata de compartir y colaborar.

Todo lo que sigue describe código ya publicado, no intenciones. Cuando nombramos un algoritmo o un número, es el que funciona hoy en producción.

El cifrado ocurre en tu dispositivo

Cada cambio que sincronizas se cifra antes de tocar la red. Notas, documentos, tareas, eventos, entradas del diario, hojas de cálculo, lienzos, audio, historial de versiones. Cada uno se sella con XChaCha20-Poly1305, un cifrado autenticado, con una clave que nunca sale de tu dispositivo sin proteger. Nuestros servidores reciben texto cifrado y guardan texto cifrado.

Las imágenes y los archivos de audio reciben el mismo trato: se cifran en tu dispositivo y se suben como bloques opacos.

El código que hace todo esto es una única implementación en Rust construida sobre el ecosistema RustCrypto y compilada a WebAssembly. La app y la CLI de Blackbear la comparten byte a byte, y la probamos con casos de prueba comunes a varios lenguajes para que ninguna segunda implementación pueda desviarse sin que lo notemos.

Qué protege y qué no

El cifrado es una herramienta concreta, no un campo de fuerza. Antes de los detalles, los límites.

Este diseño te protege de:

  • Una brecha pasiva en nuestros servidores o en nuestra base de datos, es decir, el robo de datos guardados. Lo que se filtra es texto cifrado y claves envueltas.
  • Nosotros. Nuestros sistemas de producción nunca reciben tus claves de contenido ni texto sin cifrar, así que una orden judicial sobre tu contenido obtiene lo que de verdad tenemos: metadatos (parte 2) y bloques sellados.

No te protege de:

  • Un dispositivo comprometido, robado o desbloqueado. Tu dispositivo guarda tus claves; su seguridad es el suelo sobre el que se apoya todo lo demás.
  • Cualquiera que tenga tu frase de contraseña o tus doce palabras de recuperación.
  • Lo que hagan con lo que compartes las personas a las que se lo das. Compartir es confiar en personas, no solo en las matemáticas.
  • Los metadatos del tráfico: quién, cuándo, cuánto. De eso trata entera la parte 2.
  • La propia app. En la web, la app llega desde nuestros servidores cada vez que se carga; en el escritorio, mediante versiones firmadas. Ningún esquema de cifrado sobrevive a una app maliciosa, la publique quien la publique.
  • Los momentos en que decides enviar datos sin cifrar: pedirle a Pax que use un modelo en la nube, conectar un calendario externo, exportar archivos, enviar una invitación por correo. Eso viaja, a propósito, a quien tú elegiste, bajo sus políticas y no bajo nuestro cifrado.

La jerarquía de claves

Tu frase de contraseña nunca sale de tu dispositivo. Todo nace de ella:

Tu frase de contraseña
12 palabras de recuperación
↓ Argon2id
↓ HKDF
Clave de cuenta
Clave de recuperación
cada una envuelve ↓
Clave de la bóveda · aleatoria, de 256 bits, nunca sale de tu dispositivo sin envolver
↓ cifra
notas · documentos · tareas · eventos · hojas · multimedia · historial

El servidor solo guarda las copias envueltas: texto cifrado que protege texto cifrado.

¿Por qué este rodeo? Te permite cambiar tu frase de contraseña sin volver a cifrar toda tu vida, y permite que exista la recuperación sin debilitar la puerta principal.

Una advertencia que conviene dejar por escrito: Argon2id encarece adivinar, pero no puede volver fuerte una frase de contraseña débil. La clave de la bóveda envuelta es exactamente tan fuerte como la frase que la envuelve. Elige una larga.

La recuperación son doce palabras

Cuando configuras la sincronización, Blackbear te da una frase de recuperación: doce palabras (BIP39) que codifican 128 bits de entropía. De ellas se deriva una clave independiente que envuelve tu clave de la bóveda por segunda vez.

¿Pierdes tu frase de contraseña? Las doce palabras te devuelven el acceso. ¿Pierdes las dos? Tus datos sincronizados se pierden. No podemos restablecerlos, y ninguna solicitud de soporte puede convencernos, porque de nuestro lado no hay nada que restablecer. No es una carencia de nuestro soporte. Es el diseño cumpliendo su función.

Añadir un dispositivo

En un dispositivo nuevo, escribes tu frase de contraseña. Con ella se deriva tu clave de cuenta en local y se desenvuelve la clave de la bóveda a partir de la copia envuelta que guarda nuestro servidor. El servidor nunca ve la frase de contraseña, ni tampoco el resultado.

Un dispositivo que ya tienes desbloqueado también puede pasarle la clave directamente. Sella la clave de la bóveda con la clave pública X25519 del dispositivo nuevo y la deja en un espacio de transferencia que se autodestruye a los cinco minutos, se use o no. Aquí hay un límite que conviene decir con honestidad: tu dispositivo actual conoce la clave pública del nuevo a través de tu cuenta con la sesión iniciada, así que este camino asistido confía en que nuestro servidor transmita la clave correcta del dispositivo que elegiste. El camino de la frase de contraseña no depende de esa confianza.

Como este vocabulario es justo el que tomaría prestado alguien que intenta suplantarnos, dejamos una regla por escrito: nunca te pediremos tu frase de contraseña ni tus palabras de recuperación, y nunca te pediremos que apruebes una transferencia de dispositivo. Esas peticiones solo deben aparecer dentro de una app que hayas abierto tú. Si te lo pide cualquier otro, es un ataque.

Mensajes

Los mensajes usan sus propias claves, separadas de la sincronización. Cada cuenta tiene una identidad de mensajería X25519, y cada mensaje deriva una clave única a partir de una sal nueva por mensaje mediante HKDF-SHA256. Los mensajes viajan como sobres sellados. El servidor los transmite; no puede abrirlos. La parte 2 explica lo que revela el exterior del sobre.

Una nota de diseño, dicha sin rodeos: las claves únicas por mensaje no son el diseño de trinquete rotatorio que usan algunas apps de mensajería. Si alguna vez se comprometiera la clave de mensajería a largo plazo de un dispositivo, los mensajes sellados para ella estarían en riesgo. Las claves por mensaje limitan el alcance del daño; no son secreto hacia adelante, y preferimos que conozcas la diferencia.

Historial sin huellas del contenido

El historial de versiones se sincroniza como instantáneas cifradas, identificadas con ID propios de tu bóveda. Si guardas un archivo idéntico al de un desconocido, el servidor ve dos ID sin relación: los contenidos idénticos no se pueden emparejar entre cuentas. El tamaño y el momento siguen siendo visibles, como en todo el tráfico de sincronización. Eso son metadatos, y es el tema de la parte 2.

Demostrar sin revelar

Las operaciones destructivas sobre la cuenta exigen una prueba de la bóveda: una firma con una clave Ed25519 derivada de tu clave de la bóveda. Demuestras que tienes la bóveda sin que la bóveda viaje nunca. Y cuando las claves terminan su trabajo en memoria, se ponen a cero.

Nada de esto es exótico. XChaCha20-Poly1305, Argon2id, X25519, Ed25519, HKDF-SHA256: primitivas estándar, aburridas y revisadas a fondo. Lo interesante es la disciplina de aplicarlas en todas partes y de decir en voz alta lo que no cubren. De esa disciplina trata el resto de la serie.

Para saber más

Seguridad en Blackbear

  1. 1. Lo que no podemos leer (estás aquí)
  2. 2. Lo que ven nuestros servidores
  3. 3. Compartir sin romper el sello

Prueba Blackbear

Gratis. Sin tarjeta de crédito.

Abrir Blackbear