Herkos

Política de privacidad de Herkos

Última actualización: 11 de noviembre de 2026. URL canónica: https://herkos.app/privacy

Herkos Mail, Herkos Calendar, Herkos Notes, Herkos Drive y Herkos Local Relay son apps libres y de código abierto para la red Nostr, publicadas por el proyecto Herkos ("nosotros"). Herkos Calendar, Herkos Notes, Herkos Drive y Herkos Local Relay todavía están en desarrollo. Este documento explica qué datos manejan las apps y nuestras webs, adónde van y quién puede verlos. Está escrito para leerse, no para pasarlo por encima: si algo te sorprende, escríbenos a privacy@herkos.email.

Información básica sobre protección de datos

La primera capa, en pocas líneas; el resto de este documento es la segunda.

Versión corta

Datos que se quedan en tu dispositivo

En el navegador no existe ese almacén seguro. La clave vive en el almacenamiento local del sitio y pasa por JavaScript cada vez que se firma algo, así que una extensión con acceso a todas las páginas, un fallo de XSS o un despliegue manipulado podrían leerla; y, a diferencia de una app instalada, una web sirve código nuevo en cada visita. En la versión web, usa un firmante remoto o una identidad que puedas permitirte perder. - Tu buzón: correos descifrados, adjuntos, etiquetas, carpetas y contactos se guardan en una base de datos local para que la app funcione sin conexión. Esa base de datos no está cifrada más allá de lo que hace el sistema operativo; el bloqueo con PIN/biometría es una barrera de conveniencia, no cifrado en reposo. En Android la app queda excluida de las copias de seguridad en la nube y de las transferencias entre dispositivos. - PIN de bloqueo: se guarda como hash con sal y estirado (PBKDF2), nunca en claro. Herkos Calendar y Herkos Notes tienen cada una un PIN propio, guardado igual. - Tu calendario (Herkos Calendar): los eventos, listas, claves de vista y recordatorios que puedes leer se guardan en el dispositivo cifrados registro a registro, con una clave que está en el almacenamiento seguro del sistema. En el navegador el calendario solo está en memoria y se vuelve a pedir a los relays cada vez. Los recordatorios los hace sonar el propio dispositivo: Calendar no usa servidor push. Si eliges ocultar los títulos en los recordatorios, solo dicen «Evento» y cuándo empieza. Tu clave de Calendar se guarda aparte de las de Herkos Mail (ver «Tu cuenta», en la sección de Calendar). - Tus notas (Herkos Notes): las notas, su historial, los cuadernos y el índice de búsqueda se guardan en el dispositivo cifrados registro a registro, con una clave que está en el almacén seguro del sistema. En un navegador se guardan igual, en el almacenamiento del navegador para el sitio (IndexedDB), con la clave también en el navegador: en un ordenador que usan otros, eso protege poco. Si el navegador no guarda nada del sitio (una ventana privada, los datos del sitio bloqueados), se quedan solo en memoria y sin conexión no se puede escribir. Una nota con candado tiene su propia contraseña; sin ella nadie puede abrirla, tampoco nosotros. La copia de tus notas es un archivo que se escribe solo donde tú lo guardas, cifrado con una contraseña propia. La copia automática, que se hace cada día salvo que la desactives, es un archivo en una carpeta del dispositivo (Herkos Notes/backups, en tus Documentos), cifrado con la clave de tu cuenta; se guardan las siete últimas y no se envía a ningún sitio (en un navegador no hay). Las notas que otras cuentas comparten contigo esperan en «Recibidas de otros», en el dispositivo y cifradas como lo demás, hasta que las guardas o las descartas.

Puedes borrarlo todo desde Ajustes → Más → Restablecer aplicación, o quitando una cuenta.

Datos que salen de tu dispositivo, y a quién

Esta tabla es de Herkos Mail. Herkos Calendar, Herkos Notes, Herkos Drive y Herkos Local Relay tienen sus propias secciones más abajo.

Destinatario Qué puede ver Cuándo
Relays de Nostr (lista por defecto en Ajustes → Red y servidores, editable) Tu dirección IP, tu clave pública, los eventos que publicas (perfil, listas de relays, lista de servidores Blossom, etiquetas NIP-32, ajustes cifrados) y los "gift wraps" cifrados dirigidos a ti, con su ritmo. Los relays no pueden leer el contenido de los gift wraps. Un relay que pide autenticación NIP-42 aprende tu clave pública aunque solo estés leyendo. Siempre, mientras la app sincroniza; y en Android también con la app cerrada, cada 15 minutos aproximadamente, cuando la comprobación en segundo plano sustituye al servidor push.
Servidores Blossom (editables) Tu IP y tu clave pública, y los blobs cifrados de los correos de más de 32 KB y sus adjuntos. La clave para descifrarlos viaja solo dentro del mensaje cifrado. Al enviar o abrir un correo grande.
Bridges (uid.ovh por defecto, editable) El contenido completo de cualquier correo que envíes a, o recibas de, una dirección tradicional (Gmail, Outlook…), y el alias nombre@bridge que registras. Los bridges son operadores independientes con sus propias condiciones; Herkos no los gestiona. Cuando usas una identidad @bridge o escribes a una dirección que no es Nostr.
Servidores NIP-05 (el dominio de una dirección que escribes) Que alguien ha preguntado si nombre@dominio es un usuario de Nostr. Al añadir un destinatario usuario@dominio.
Servidor push (ninguno por defecto; en Ajustes → Notificaciones se puede elegir api.nmail.li, que solo avisa del correo que llega al relay relay.nmail.li y por eso se ofrece junto a él, los dos del proyecto original Nostr Mail, u otro servidor) Tu clave pública, un token push del dispositivo (endpoint UnifiedPush), tu idioma de notificaciones y —porque vigila los relays por ti— cuándo recibes correo (no qué dice). Solo si eliges un servidor push y activas las notificaciones de una cuenta; sin servidor, Herkos comprueba tus relays por su cuenta. Al desactivarlas, o al cambiar de servidor, se pide al servidor anterior que borre la suscripción.
DVM programador (un servicio Nostr de un tercero, ver NostrConfig.schedulerDvm) Tu clave pública, los mensajes ya cifrados que debe publicar, sus relays de destino y la hora programada. Solo si usas "enviar más tarde".
Firmante remoto / relays NIP-46 (relay.nsec.app y alternativos) Tu clave pública y peticiones de firma cifradas. Solo si entras con un bunker o app firmante.
Servidores de imágenes (el servidor al que apunte un perfil o un correo) Tu dirección IP y el momento en que se descarga la imagen. La foto de perfil se descarga de la dirección que su dueño puso en su perfil solo si activas Cargar fotos de perfil (las de tus propias cuentas se cargan siempre); quien gestione ese servidor puede saber entonces cuándo has mirado sus mensajes o su contacto. Las imágenes dentro de los correos están bloqueadas por defecto; si las cargas (Cargar imágenes, o el ajuste Cargar siempre las imágenes), sus servidores, a menudo el del remitente, saben que has abierto el correo y cuándo. Una imagen de fondo que añades por su dirección se descarga de ese servidor. Fotos de perfil: solo si las activas (las tuyas, siempre). Imágenes de los correos: solo si las cargas.

Tus relays privados. Si tu cuenta tiene una lista de relays privados (kind 10013, NIP-37; Herkos Notes y Calendar usan la misma), Mail guarda tus borradores, tus ajustes cifrados, tus etiquetas y tus envíos programados en sus relays, no en tus relays de escritura; lo que dejó antes en estos lo sigue leyendo, y también lo borra allí. Sin esa lista, van a tus relays de escritura. Mail solo publica la lista cuando tú lo pides (Ajustes → Alojamiento → Relays privados), cifrada con tu clave: los relays ven tu clave pública, que la lista existe y cuándo cambia, no los relays que contiene. Una lista que escribió otra app se usa tal cual y nunca se sobrescribe.

Reenvío automático (Ajustes → Reenvío automático, apagado hasta que lo enciendas). Una copia de cada mensaje nuevo va a la única dirección que elijas: a una cuenta de Nostr, cifrada de extremo a extremo como cualquier mensaje; a una dirección tradicional, por el puente de la dirección principal de tu cuenta, que la ve entera (ver Bridges más arriba). Lo hace este dispositivo, mientras Mail está abierto o en la siguiente sincronización; el ajuste se queda en el dispositivo y nunca se publica.

Una app de firma en tu móvil Android (NIP-55, como Amber). La clave se queda en esa app, y Mail habla con ella directamente en el móvil, sin relays ni red de por medio; el dispositivo solo guarda tu clave pública y qué app firma. Mail solo le pide firmar los kinds que Mail firma con tu cuenta y cifrar y descifrar (NIP-44), nunca los sobres de los mensajes, que usan claves de un solo uso, y comprueba cada evento firmado que vuelve antes de usarlo.

Herkos Local Relay. Si Herkos Local Relay está en el mismo dispositivo, Mail ofrece una vez conectarse a él; no se envía nada hasta que pulsas Conectar y apruebas Mail en Herkos Local Relay. Mail se empareja con él con una clave propia y comprueba en cada conexión que es el mismo relay. Firma una vez con tu clave, para que el relay guarde tus eventos como tuyos; después copia allí el correo que guarda este dispositivo y, desde entonces, cada evento de tu cuenta que Mail envía y cada sobre que recibe, tal como se firmaron y todavía cifrados, y pide al relay que los guarde en el dispositivo y que dé los privados solo a tu clave. Los sobres que envías a otros no se copian. Mail nunca lee de él: es una copia. Para esto no sale nada del dispositivo.

Herkos no recibe nada de esto. No hay informes de fallos ni telemetría.

Herkos Calendar: qué ven los relays

Calendar habla con relays de Nostr: los de tu cuenta (tus listas NIP-65 y de buzón), los de Ajustes → Relays (editables) y, cuando invitas a alguien o respondes a una invitación, los relays de entrada de esa persona. Con nadie más, salvo lo que consultas tú (más abajo): tampoco con índices públicos de relays. «Tu cuenta», más abajo, explica para qué sirve cada uno. No hay servidor de Herkos, ni servidor push, ni telemetría. Todos los relays ven tu dirección IP y la hora de cada conexión.

Qué Qué pueden ver los relays que lo guardan Qué no pueden ver
Un evento privado (kind 32678) Tu clave pública, que es un evento de calendario (su kind), un identificador aleatorio, cuándo lo creaste o lo cambiaste por última vez y su tamaño aproximado. Se guarda solo en tus relays, donde lo buscan tus invitados; nunca en los suyos. Título, fecha y hora, zona horaria, repetición, lugar, descripción, invitados, recordatorios.
Tus listas de calendario (kind 32123) y ajustes de recordatorios (kind 30078, d=calendar-alarms) Tu clave pública, que existen y cuándo cambian. Qué eventos contienen, sus nombres, las claves de vista, tus recordatorios.
Una invitación (un gift wrap, kind 1059) La clave pública del invitado y una etiqueta k=1052 que dice que el sobre contiene una invitación de calendario (así encuentran las invitaciones las apps de calendario, también la de Formstr, sin abrir tu correo). Se envía solo a los relays de entrada del invitado, con una clave de un solo uso y sus propias fechas aleatorias, y las invitaciones a un mismo evento salen en orden aleatorio, cada una entre 5 y 90 segundos después de la anterior (la primera, después del propio evento). El sobre lleva además una fecha de caducidad, elegida al azar entre 60 y 90 días después de enviarlo, para que los relays puedan borrarlo: no dice nada de cuándo es el evento. Quién la envía, de qué evento es y a quién más se ha invitado.
Una respuesta privada a una invitación (un gift wrap, kind 1059, etiqueta k=1925) La clave pública de quien la recibe (el organizador, o tú en tu propia copia) y que el sobre contiene una respuesta de calendario. Va solo a los relays de entrada de quien la recibe, con una clave de un solo uso, fechas aleatorias y fecha de caducidad, como las invitaciones. Quién responde, a qué evento y qué responde.
Borrar (kind 5) Tu clave pública y el identificador de lo que borras. —

Un relay que pide autenticación NIP-42 aprende tu clave pública; Calendar solo responde a esa petición para tus propios eventos en tus propios relays, y para leer tu propio buzón de entrada. Borrar en Nostr es una petición: un relay puede quedarse con su copia, cifrada.

Lo que ningún dato de los eventos puede ocultar: todas las invitaciones salen desde tu dirección IP, y cada invitado pide el evento a tus relays desde la suya. Un relay que guarde las bandejas de varios de tus invitados puede ver que sus invitaciones salieron de la misma dirección. Solo Tor o una VPN lo ocultan.

Tu cuenta

Calendar no crea cuentas: entras con una identidad de Nostr que ya tienes, de una de estas formas.

Tus relays. Al entrar, Calendar busca tus listas (NIP-65, kind 10002, y la de buzón, kind 10050) en los relays de Ajustes → Relays, en una conexión aparte que no te identifica: si un relay pide autenticación, recibe una clave de un solo uso, no la tuya. A partir de ahí:

Los relays de tus invitados (decidido el 21-10-2026). Para invitar a alguien hay que saber dónde recibe. Calendar busca sus listas (10002 y 10050) solo en los relays de Ajustes → Relays, nunca en un índice público de un tercero (como purplepag.es): ese servicio vería desde qué dirección preguntas y por quién, es decir, a quién invitas. Cada invitado se busca por separado, en orden aleatorio, en una conexión propia con una clave de un solo uso, para que esos relays no puedan ver quién está invitado con quién. Lo que sí ven es tu dirección IP y la clave pública de cada persona que buscas. Si alguien no tiene sus listas en esos relays, la app lo marca como «sin buzón conocido» antes de enviar, y a esa persona no le llega la invitación. Para encontrarla, añade a Ajustes → Relays un relay donde publique sus listas.

Lo que se sincroniza entre tus dispositivos, siempre cifrado para ti y en tus relays de escritura: las listas de calendario (con las claves de sus eventos), los ajustes de recordatorios (d=calendar-alarms), los calendarios que sigues (d=calendar-subscriptions) y las invitaciones que ignoras o los eventos ajenos que quitas de tu calendario (kind 30078, d=calendar-declined: solo qué evento y cuándo, nunca su título). Los relays ven que existen y cuándo cambian, no qué dicen. Los recordatorios que suenan en el dispositivo son los de la cuenta con la que has entrado, nunca los de una anterior.

La copia de tus llaves. Calendar te propone guardar una copia: un archivo con tus listas de calendario y las claves de sus eventos, cifrado con una contraseña que eliges para él (el cifrado de NIP-49). Se escribe solo donde tú lo guardas; no va a ningún relay ni servidor. Su nombre lleva la fecha, nunca la cuenta. Para el aviso, el dispositivo solo recuerda dos fechas: la de la última copia y la del último «Ahora no».

Cerrar sesión te enseña antes qué se pierde y te ofrece guardar la copia. Después borra de este dispositivo tu clave (o la conexión con el bunker) y el calendario guardado. Lo publicado sigue en los relays, cifrado. El permiso que diste en tu app de firma se retira en esa app.

Público porque tú lo eliges

Están desactivados hasta que los activas, y la app te enseña qué revela cada uno antes de hacerlo:

Herkos Calendar lee las respuestas públicas a tus eventos públicos que escriben otras apps (RSVP, kind 31925, y bajas de invitados, kind 84); no escribe ninguna.

Lo que consultas tú

Estas conexiones solo ocurren cuando tú las pides:

Herkos Notes: qué ven los relays

Notes habla con relays de Nostr y con nadie más. No hay servidor de Herkos, ni servidor de notificaciones, ni telemetría. Cada relay ve tu dirección IP y la hora de cada conexión.

Qué relays. Si tu cuenta tiene una lista de relays privados (kind 10013, la que describe NIP-37), Notes usa los relays que hay en ella, tal cual, y no la sobrescribe nunca; la busca en los relays de sus Ajustes y en los relays donde publicas (tu lista NIP-65). Si no la tiene, usa los relays de sus Ajustes: relay.formstr.app, nos.lol y relay.primal.net de fábrica, hasta ocho, todos editables. Los Ajustes ofrecen además una lista de relays conocidos para añadirlos con un toque; no se contacta con ninguno si no lo añades. Un relay puede ser ws://, una conexión sin cifrar, solo si está en el dispositivo o en la red de casa (localhost, direcciones privadas, nombres .local): las notas siguen viajando cifradas, pero cualquiera en esa red puede ver lo que ve el relay (la tabla de abajo). Notes no publica ninguna lista de relays propia, salvo que se lo pidas (Relays → Guardar como mi lista de relays privados). Entonces publica estos relays como tu 10013, cifrada con tu clave, en los mismos relays donde busca las listas, y la mantiene al día con lo que cambies en Notes: los relays ven tu clave pública, que la lista existe y cuándo cambia, no los relays que contiene. Una lista que escribió otra app no se sobrescribe nunca: Notes la usa tal cual. Si uno de esos relays está en este dispositivo (una dirección ws://127.0.0.1 o ws://localhost, como la app Citrine), Notes le deja también una copia de tus notas, cuadernos y borrados, tal como se firmaron y todavía cifrados. Para eso no sale nada del dispositivo; Notes nunca lee de ese relay, y una nota que solo tiene él no cuenta como subida. Las otras apps del dispositivo que lean ese relay ven lo mismo que vería cualquier relay.

Herkos Local Relay. Si Herkos Local Relay está en el mismo dispositivo, Notes ofrece una vez conectarse a él; no se envía nada hasta que tocas Conectar y apruebas Notes en Herkos Local Relay. Notes se empareja con él con una clave propia, creada para ese emparejamiento, y en cada conexión comprueba que es el mismo relay, así que otro programa que escuche en su puerto no recibe nada. A partir de entonces copia allí tus notas, puntos de control, cuadernos, borrados, tu lista de relays privados y los sellos de las notas que compartes, tal como se firmaron y todavía cifrados, y le pide que guarde como privado todo menos los borrados: el relay solo se lo da a tu clave y no se lo pasa a nadie. Para que el relay los guarde como tuyos, Notes firma una vez con tu clave al conectarse. Para esto no sale nada del dispositivo. Notes nunca lee de él: es una copia, y una nota que solo tenga él no cuenta como subida. Si deja de responder, Notes sigue con tus otros relays y más tarde le envía solo lo que le faltó. Puedes desconectarlo en Ajustes de Notes, o revocar Notes en Herkos Local Relay.

Qué Qué pueden ver los relays que lo guardan Qué no pueden ver
Una nota (kind 31234, NIP-37) Tu clave pública; un identificador al azar (d), hecho con un número aleatorio y nunca con el título; la etiqueta k=30023, igual en todas las notas, así que no dice nada de lo que escribes; cuándo la cambiaste por última vez, y más o menos cuánto ocupa. Título, texto, etiquetas, cuaderno, si está fijada, en favoritas o en la papelera, y cuándo la creaste.
Un punto de control (kind 1234), el historial de la nota Tu clave pública, a qué nota pertenece (su etiqueta a apunta al identificador de la nota) y cuándo se hizo. Lo que decía la nota entonces.
Tus cuadernos (kind 30078) Tu clave pública, que la lista existe y cuándo cambia. Su identificador sale de tu clave pública, así que es el mismo en todos tus dispositivos. Los nombres de tus cuadernos, cuántos hay y qué notas tiene cada uno.
Borrar (kind 5) Tu clave pública y los identificadores de lo que borras: la nota y sus puntos de control. —
Una nota que compartes (kind 1059, un envoltorio de regalo NIP-59) La clave pública de la cuenta a la que va (p); la etiqueta k=30023; una fecha puesta hasta dos días atrás al azar, y más o menos cuánto ocupa. La firma una clave hecha para ella y usada una sola vez, no la tuya. Quién la envía, cuándo, su título y su texto. Dentro, sellados (kind 13) y cifrados solo para esa cuenta, van tu clave pública y la nota: solo esa cuenta puede abrirlos, y sabe quién se la envía.

Lo que no se puede ocultar. El d y el k de una nota y la a de un punto de control tienen que poder leerse: los relays los necesitan para sustituir una nota por su versión nueva y para encontrar su historial. Así que un relay puede contar cuántas notas tienes y ver cuándo editas cada una y con qué frecuencia. Notes lo hace más grueso, no invisible: guarda como mucho un punto de control por nota en cada hora de edición, uno al cerrar una nota que ha cambiado y uno de cada lado al resolver un conflicto, nunca uno por guardado, para que tu ritmo de escritura no se publique minuto a minuto.

Por qué tus notas no caducan nunca. Los borradores de NIP-37 pueden llevar una etiqueta expiration (en su ejemplo, 90 días), y un relay que la respeta borra el evento en esa fecha. En una libreta eso sería perder notas que nadie ha pedido borrar, así que Notes no la escribe nunca. La otra cara: tus notas siguen en los relays, cifradas, hasta que las borras, y en Nostr borrar es una petición: un relay puede quedarse con su copia.

Compartir una nota. Notes envía la copia a los relays donde la otra cuenta dice que lee (sus relays NIP-17, kind 10050, o si no, los relays de lectura de su lista NIP-65), que busca en tus relays, y a tus propios relays, ocho como mucho. Viaja lo que dice la nota (título, texto y etiquetas), no tu cuaderno, tus marcas ni la papelera; lo que cambies después no se envía. La otra cuenta se queda con su copia: Notes no puede recuperarla, y borrar tu nota no la borra. Para recibir, Notes pide a tus relays los envoltorios dirigidos a tu clave con k=30023 y los abre en el dispositivo. Descartar uno lo quita solo del dispositivo: lo firma una clave que nadie guarda, así que ninguno de los dos puede pedir a los relays que lo borren, y se queda ahí, sin que nadie más que tú pueda leerlo.

La búsqueda es local. Todo va cifrado, así que ningún relay puede buscar por ti. Notes descarga y descifra tus notas y hace el índice en el dispositivo; las palabras que buscas no se envían a ningún sitio.

Un relay que pide autenticación NIP-42 conoce tu clave pública; Notes le responde con tu cuenta. Notes también pide a tus relays los borradores que otras apps escribieron con tu clave (kinds 31234 y el antiguo 30024), para enseñarlos solo para leer, y no publica nada al hacerlo. Si entras con un firmante remoto (un bunker o Nostr Connect), sus relays llevan tus peticiones de firma cifradas, y Notes solo le pide que firme los kinds de arriba (incluido el sello de una nota compartida, kind 13; su envoltorio se firma en el dispositivo, con la clave de un solo uso). Con una app de firma en tu móvil Android (NIP-55, como Amber), Notes le habla directamente en el móvil, sin ningún relay en medio, le pide lo mismo y comprueba cada evento firmado que vuelve antes de usarlo.

Herkos Drive: qué ven los relays y los servidores

Drive guarda el contenido de tus archivos en servidores Blossom y la lista de tus archivos y carpetas (el índice) en relays de Nostr, las dos cosas cifradas en tu dispositivo. No hay servidor de Herkos, ni servidor de avisos, ni telemetría. Cada relay y cada servidor ven tu dirección IP y la hora de cada conexión. Por defecto, el índice va a cinco relays y los archivos a cinco servidores Blossom, ninguno de Herkos; en Ajustes → Alojamiento de archivos cambias los servidores y puedes añadir uno tuyo. Quién lleva cada uno y dónde está, hasta donde sabemos (comprobado el 5 de noviembre de 2026):

Servidor Para Operador (según dice él mismo) Dónde (por su dirección IP)
nos.lol índice no lo dice Alemania (Hetzner)
relay.primal.net índice Primal no se sabe: detrás de Cloudflare
relay.nmail.li índice Nmail, el proyecto Nostr Mail original Francia (OVH)
relay.nostr.net índice nostr.net (aljaz@nostr.si) no se sabe: detrás de Cloudflare
nostr.oxtr.dev índice 0xtr (oxtrr@protonmail.com) Alemania (Hetzner)
nostr.download archivos no lo dice Irlanda (Apex Strata)
blossom.ditto.pub archivos Ditto Estados Unidos (DigitalOcean)
blossom.nmail.li archivos Nmail, el proyecto Nostr Mail original Francia (OVH)
blossom.yakihonne.com archivos YakiHonne Singapur (Vultr)
blossom.jumble.social archivos Jumble no se sabe: detrás de Cloudflare

El país sale de la dirección IP del servidor y puede equivocarse, y un servidor detrás de Cloudflare no deja ver dónde está; lo que cuenta es dónde dice cada operador que guarda los datos, y casi ninguno lo dice. Cada operador es independiente, con sus propias condiciones; Herkos no tiene acuerdo con ninguno. Al menos dos de los cinco servidores de archivos están fuera de la Unión Europea: lo que guardan va cifrado en tu dispositivo y no lo pueden leer, pero les llegan tu dirección IP y la hora de cada subida.

Dos claves. Tu cuenta firma una sola cosa: el localizador, un evento cifrado para tu propia clave que permite a tus dispositivos encontrar tu Drive. Todo lo demás lo firma una clave del volumen, creada al azar para tu Drive y no sacada de tu cuenta, así que el índice no dice de quién es. Drive lee el localizador una vez por dispositivo, no en cada arranque, para que los relays no vean pedir juntos tu cuenta y tu volumen. Quien recibe una carpeta tuya recibe también la clave del volumen; puedes cambiarla cuando quieras (Ajustes → Clave del volumen): tus otros dispositivos la siguen solos, y lo firmado con la vieja deja de aceptarse.

Qué Lo que ven los relays que lo guardan Lo que no ven
El localizador (kind 31152) Tu clave pública, un identificador aleatorio y cuándo se escribió. Lo que lleva: la clave del volumen y dónde está tu índice, cifrados para tu clave.
Un archivo o carpeta (kind 31150), un evento cada uno La clave del volumen; un identificador aleatorio, hecho con un número al azar y nunca con el nombre; el identificador de la carpeta en la que está; cuándo cambió por última vez, y su tamaño, redondeado a una potencia de 2. Su nombre, tipo, tamaño, fechas, claves, versiones, y en qué servidores están sus bloques.
Un enlace (kind 31151) Quién lo firma: la clave del volumen si es una carpeta, una clave hecha para ese enlace si es un archivo; un identificador aleatorio; su caducidad, si la tiene (NIP-40), y su tamaño, redondeado. Lo que abre.
Borrar (kind 5) Los identificadores de lo que borras. —
Compartir con una cuenta (kind 1059, un gift wrap de NIP-59) La clave pública de la cuenta a la que va (p); la etiqueta k=31151; una fecha retrasada al azar hasta dos días; una caducidad de 60 a 90 días. La firma una clave hecha para él y usada una sola vez. Quién la envía, cuándo y qué abre.

Lo que no se puede ocultar. Cada evento dice en qué carpeta está, así que un relay puede contar cuántos archivos y carpetas tienes, ver la forma del árbol (qué carpetas tienen cuántas cosas) y cuándo cambia cada uno. No puede saber cómo se llama ninguno ni qué tiene.

Los servidores Blossom reciben bloques de tus archivos, cada uno cifrado con una clave propia de su revisión y rellenado hasta un múltiplo de 64 KiB, así que ven más o menos cuánto ocupa cada archivo, no qué es ni cómo se llama. Cada subida va firmada: en un servidor tuyo, con la clave del volumen; en cualquier otro, con una clave hecha solo para ese servidor y ese archivo, que no nombra a nadie y nunca es la misma en dos servidores. Borrar un archivo pide a sus servidores que borren sus bloques; como con los relays, un servidor puede quedarse una copia.

Enlaces (herkos.app/f/…). Un enlace a un archivo o una carpeta lleva, detrás del #, la llave que lo abre: el enlace es la llave. Lo que va detrás del # nunca llega a nuestro servidor ni a Cloudflare, y la página lo quita de la barra de direcciones en cuanto lo lee. Pero antes, el navegador puede haber guardado ya la dirección entera en su historial, y un navegador que sincroniza el historial la guarda también en los servidores de quien se lo da. Nada de nuestro lado puede evitarlo. Para algo delicado, ponle una contraseña al enlace (así no abre nada sin ella, y la contraseña viaja aparte), o compártelo con la cuenta de esa persona, que no necesita ningún enlace. La página lee los relays y servidores del enlace; a uno que no conoce solo se conecta si dices que sí, porque vería tu dirección IP. Un enlace puede caducar: ese día deja de abrirse, y una carpeta cambia de claves, así que lo que se añada después no se abre con la llave vieja. Quien ya lo abrió conserva lo que descargó. Para cortar el acceso antes, retira el enlace: una carpeta cambia de claves en ese momento.

Compartir con una cuenta. Drive busca dónde lee esa cuenta (sus relays de NIP-17, kind 10050, o los relays de lectura de su lista NIP-65) en tus relays y en los de Drive, de persona en persona, nunca en un índice público. Cada persona recibe un enlace propio, así que retirar uno deja los demás, y nadie puede saber a quién más se dio.

Un relay que pide autenticación NIP-42 conoce la clave del volumen, nunca tu cuenta: Drive le contesta con la clave del volumen. Si entras con una app de firma en tu móvil Android (NIP-55, como Amber), Drive solo le pide firmar el localizador, la petición que retira uno viejo y el sello de lo que compartes con una cuenta, y cifrar y descifrar para tu propia clave.

Herkos Local Relay: qué guarda y con quién habla

Herkos Local Relay es un relay de Nostr que funciona en tu propio dispositivo, para las apps de Herkos y cualquier otro cliente de Nostr. No hay ningún servidor nuestro detrás, y no nos envía nada.

En pocas palabras (el detalle va a continuación):

Qué guarda, en el dispositivo. Los eventos que tus apps le escriben y los que trae de tus relays, en una base de datos cifrada con una clave que está en el almacén seguro del sistema. A su lado: las apps que emparejaste y lo que puede hacer cada una; sus ajustes (settings.json: el puerto, la cuota, la poda, si el registro de la sesión está encendido, si deja entrar a las apps sin emparejar, si la red local está encendida y su puerto); si enciendes la red local, la lista de claves permitidas, con el nombre que les diste, y el certificado del relay y su clave, dentro de la base cifrada; y los de las copias (backups.json: cada cuánto, la carpeta, la clave pública para la que se cifran las copias y su sal, cuándo se hizo la última). Nada de eso es secreto, y la contraseña de las copias no se guarda nunca. En Windows y Linux, mientras funciona, relay.json en la carpeta de la app dice en qué puerto escucha, para que las apps de Herkos lo encuentren. Desinstalar la app borra la base de datos, y su clave deja de servir.

Quién puede conectarse. Escucha en 127.0.0.1 (el puerto 4873 si no lo cambias): mientras la red local esté apagada, que es como viene, nada de fuera del dispositivo puede llegar a él. Cualquier app del dispositivo puede llegar a esa dirección, así que una app o una página web tiene que emparejarse, con tu aprobación en pantalla, antes de poder escribir, y una página web sin emparejar se rechaza. Revocar una app la desconecta en el acto. Los eventos privados (borradores, listas privadas, recordatorios, los sobres sellados que recibes) solo se entregan a quien demuestra con NIP-42 que tiene la clave a la que pertenecen.

La red local, si la enciendes, abre un segundo puerto (el 4874 si no lo cambias) a los aparatos de tu red: solo wss://, con un certificado propio del relay, y solo para las claves de tu lista, después de autenticarse con NIP-42. Una clave de la lista lee tus eventos públicos y los privados que son para ella, y solo escribe eventos firmados por ella; quitarla de la lista la desconecta. Quien está en la misma red ve que el aparato tiene ese puerto abierto y cuánto tráfico pasa, no lo que pasa.

Tor, si lo enciendes (en Windows y Linux; en Android llegará más adelante), convierte el relay en un servicio onion de Tor, con una dirección .onion que no cambia. La app arranca el programa tor de este ordenador (o el que va junto a la app), que se conecta a la red de Tor. La clave de esa dirección se guarda dentro de la base cifrada y solo se entrega a ese tor, en el propio dispositivo; la carpeta propia de tor guarda su copia del directorio de la red y su cookie, nunca esa clave. Si Tor está encendido se guarda en settings.json. Por Tor valen las mismas reglas que en la red local: solo las claves de tu lista, después de autenticarse con NIP-42. Quien se conecta a tu dirección no ve tu dirección IP, ni tú la suya. La dirección sola no abre nada; si se ha difundido, Nueva dirección la cambia. Herkos no recibe nada.

Quién Qué puede ver Cuándo
Tus relays (los de tu lista NIP-65) Tu dirección IP; tu clave pública, cuando un relay pide autenticación NIP-42; los eventos públicos que publicas a través de él; y, para sincronizar, por cuáles de tus eventos pregunta. Cuando publicas, y cuando sincroniza (con negentropy, NIP-77, si el relay lo ofrece).
Los relays de entrada de a quien escribes (su lista NIP-17, kind 10050, o si no, los relays de lectura de su lista NIP-65) Tu dirección IP y el sobre sellado (NIP-59) dirigido a esa persona, enviado tras una espera al azar. Nunca se envía a tus propios relays. Cuando una app envía a través de él un mensaje o una invitación privados.
Las claves de tu lista, en la red local (solo si la enciendes) La dirección IP de tu aparato en la red; tus eventos públicos y los privados que son para esa clave. Mientras están conectadas.
La red de Tor (solo si lo enciendes) Que este aparato usa Tor (el primer repetidor de Tor ve tu dirección IP), no lo que pasa por él; los directorios de Tor guardan la descripción del servicio, cifrada, que solo puede leer quien conoce la dirección. Mientras Tor está encendido.
Las claves de tu lista, por Tor (solo si lo enciendes) Tus eventos públicos y los privados que son para esa clave; no tu dirección IP. Mientras están conectadas.

Para saber dónde recibe alguien, pregunta a tus relays. Tus eventos privados (borradores, listas privadas, recordatorios) no salen nunca del dispositivo. Nunca anuncia su propia dirección (no está en la lista NIP-65 de nadie), su documento NIP-11 no dice quién eres y no hay analítica, telemetría ni informes de fallos. En Android funciona como un servicio con una notificación y su botón Parar; se duerme tras 10 minutos sin conexiones, y una app de Herkos lo despierta en el propio dispositivo, sin servidor push.

El registro de la sesión está apagado por defecto. Si lo enciendes, se guarda solo en memoria, las 500 últimas líneas, y se borra al parar el relay: conexiones, autenticación NIP-42, eventos aceptados o rechazados y los kinds que se piden, por su kind y el principio de su identificador, nunca su contenido.

Copias. La copia cifrada de todo el almacén se escribe solo donde tú eliges: una carpeta del dispositivo o de un disco externo. Una carpeta de un cliente de nube (OneDrive, Google Drive, Dropbox, iCloud, Nextcloud, Herkos Drive…) se rechaza. Se cifra con una contraseña propia (scrypt y XChaCha20-Poly1305); las programadas, para la clave pública que da esa contraseña, así que se hacen sin ella. Se guardan las siete últimas. Sin la contraseña nadie puede abrir una copia, tampoco nosotros, y si la pierdes, la copia se pierde. La exportación en JSONL no va cifrada: lleva tus eventos privados en claro, y la app lo avisa antes de escribirla.

La poda viene apagada: sin ella, el relay guarda los eventos de los demás mientras haya sitio. Puedes podar por antigüedad (30, 90, 180 o 365 días) o por espacio (de 256 MB a 5 GB), y la app enseña antes cuánto borraría. Solo borra eventos de otras personas: nunca los tuyos, los sobres para ti, los kinds que protegen tus apps ni las peticiones de borrado; por espacio, solo después de una copia del último día. Con la red local o Tor encendidos no se puede apagar la poda por antigüedad: los eventos de otras personas se borran a los 90 días si no eliges otro plazo. Un evento con fecha de caducidad (NIP-40) deja de entregarse cuando caduca, sea de quien sea. Y como en todo Nostr, borrar es una petición: lo que ya llegó a otros relays puede quedarse allí.

Nuestras webs y Cloudflare

herkos.app (incluidos herkos.app/e/ y herkos.app/f/), app.herkos.app (la versión web de Mail), calendar.herkos.app y notes.herkos.app (las versiones web de Calendar y de Notes, cuando se publiquen) y fdroid.herkos.app (nuestro repositorio de F-Droid) son ficheros estáticos que sirve Cloudflare (Cloudflare Pages y R2). Como cualquier alojamiento web, Cloudflare recibe tu dirección IP, el agente de usuario de tu navegador, la dirección que pides (sin lo que va después de #) y la hora, y puede guardarlos en sus registros según su propia política de privacidad.

No ponemos cookies ni tenemos analítica; las páginas y los ficheros propios de las apps web salen solo de estos dominios (después, las apps web se conectan a los relays y servidores descritos arriba), y no miramos registros por visitante. Las descargas de Releases vienen de GitHub, que ve el mismo tipo de datos según su propia política.

Público por diseño

Nostr es una red pública. Esto lo puede ver cualquiera que consulte los relays que usas, y va ligado a tu clave pública:

Tus opciones y derechos

Cambios

Cambiaremos este documento cuando cambie el comportamiento de la app, y anotaremos la fecha arriba. La fuente de verdad es PRIVACY.md en el repositorio; la página publicada es una copia.

Contacto: privacy@herkos.email · https://herkos.app

Otros idiomas

English · Español · Bahasa Indonesia · Català · Čeština · Deutsch · Français · Italiano · Magyar · Nederlands · Polski · Português (Portugal) · Português (Brasil) · Română · Slovenčina · Suomi · Svenska · Türkçe · 中文 · Ελληνικά · हिन्दी · 日本語 · 한국어 · Русский · Українська