Política de privacidad de Herkos
Última actualización: 29 de octubre de 2026. URL canónica: https://herkos.app/privacy
Herkos Mail, Herkos Calendar, Herkos Notes 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 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.
Versión corta
- Herkos no tiene sistema de cuentas, ni servidor propio, ni analítica. No recibimos tus mensajes, tus eventos, tus notas, tus contactos, tu clave ni tu uso.
- Tu clave pública de Nostr es tu identidad en la red. Todo lo que publicas en Nostr (perfil, listas de relays, etiquetas) va ligado a ella y es visible para los relays que usas.
- El correo entre usuarios de Nostr va cifrado de extremo a extremo (NIP-17). El correo hacia o desde direcciones tradicionales pasa por un bridge que puede leerlo.
- Algunas funciones opcionales envían datos a terceros (notificaciones push, envío programado). Están desactivadas hasta que las actives, y este documento nombra cada una.
- Los eventos del calendario se cifran en tu dispositivo. Los relays ven que tienes eventos, su tamaño aproximado y cuándo cambian, no lo que dicen. Los eventos públicos, la lista de ocupación y los enlaces para compartir son públicos porque tú lo eliges, uno a uno. Para saber dónde reciben tus invitados, Calendar solo pregunta a tus relays, nunca a un índice de terceros.
- Las notas se cifran en tu dispositivo, hacia tu propia clave. Los relays no pueden leerlas, pero sí ver cuántas notas tienes y cuándo editas cada una. La búsqueda se hace en tu dispositivo: las palabras que buscas no salen de él. Una nota que compartes le llega solo a la cuenta que eliges, sellada: los relays no ven ni quién la envía ni lo que dice.
- Herkos Local Relay guarda tus eventos en tu dispositivo, cifrados, y
solo escucha ahí (
127.0.0.1). Solo habla con tus relays y con los relays de entrada de las personas a las que escribes; los eventos privados no salen nunca del dispositivo. Sus copias van solo a una carpeta que tú eliges, nunca a la nube. - Nuestras webs (
herkos.appy sus subdominios) las sirve Cloudflare, que ve tu dirección IP como cualquier alojamiento web. No ponen cookies ni tienen analítica.
Datos que se quedan en tu dispositivo
- Tu clave secreta (nsec), si entras con ella, se guarda en el almacenamiento seguro del sistema (Android Keystore, llavero de iOS/macOS, administrador de credenciales de Windows, libsecret en Linux, almacenamiento local cifrado en la web). Si entras con un firmante remoto (NIP-46 "bunker"), la clave nunca llega al 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 semana 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 cinco ú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.
- Tu relay (Herkos Local Relay): sus eventos, las apps emparejadas, sus ajustes y adónde van sus copias; ver su propia sección más abajo.
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 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 (api.nmail.li por defecto, operado por el proyecto original Nostr Mail; se cambia en Ajustes → Notificaciones, donde también se puede quitar del todo) |
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 activas las notificaciones de una 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. |
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.
- Con una app de firma en tu móvil Android (NIP-55, como Amber): la clave se queda en esa app, y Calendar habla con ella directamente en el móvil, sin relay ni red de por medio. El dispositivo guarda solo tu clave pública y qué app firma. Calendar le pide lo mismo que a un bunker (más abajo), nunca los sobres de las invitaciones, y comprueba cada evento firmado que vuelve antes de usarlo.
- Con tu clave (
nsec, oncryptsecprotegida con contraseña, que se abre en el dispositivo): se guarda en el almacenamiento seguro del sistema, con un nombre propio de Calendar. Herkos Mail guarda sus cuentas aparte, y Calendar no las lee, no las cambia y no las borra: cerrar sesión en una app no te saca de la otra. - Con un enlace
bunker://: la clave se queda en tu app de firma. Calendar habla con ella por los relays que nombra el enlace, y solo le pide tu clave pública, cifrar y descifrar (NIP-44) y firmar sus propios tipos de evento; los sobres de las invitaciones no pasan por ella, porque llevan claves de un solo uso. En el dispositivo se guarda solo la conexión (una clave hecha para ella, la clave pública de la app de firma y sus relays). Esos relays ven tu dirección IP, las claves de la conexión y cuándo se piden firmas; las peticiones van cifradas. - Con Nostr Connect (un código QR): como el bunker, pero la conexión va por los relays de Ajustes → Relays. Calendar no añade ningún relay suyo ni de nadie.
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í:
- tus eventos, tus listas y tus ajustes cifrados se publican en tus relays de escritura (NIP-65). Si no tienes esa lista, en los de Ajustes, y la página de la cuenta te lo dice;
- tus invitaciones y respuestas se leen de tus relays de lectura y de buzón. Solo en tus relays, y solo para lo tuyo, responde Calendar a la autenticación NIP-42;
- abrir la app con la sesión iniciada no conecta con nada hasta que hace falta;
- si en Ajustes → Relays hay un relay que funciona en este dispositivo (una
dirección
ws://127.0.0.1ows://localhost, como la app Citrine), cada sincronización le deja también una copia de tus eventos, listas y borrados, tal como se firmaron y todavía cifrados. Para eso no sale nada del dispositivo, y mientras otro relay tenga un evento, este nunca es el relay donde se dice a tus invitados que lo busquen. Las otras apps del dispositivo que lean ese relay ven lo mismo que vería cualquier relay.
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:
- Eventos públicos (kinds 31922/31923): todo lo que contienen —título, hora, lugar, descripción— es público, va ligado a tu clave pública y sigue siéndolo: un evento público no puede volver a ser privado.
- La lista de ocupación (kind 31926): las horas en que estás ocupado este mes y los dos siguientes, redondeadas a 30 minutos (o 15), de los calendarios que elijas. Nunca qué, dónde ni con quién. Al desactivarla se pide a los relays que la borren.
- Enlaces para compartir (
herkos.app/e/…): el enlace es la clave. Quien lo tenga puede leer ese evento hasta que lo revoques, y su primera parte muestra tu clave pública. La clave va después de#, una parte de la dirección que los navegadores nunca envían al servidor, así que ni Cloudflare ni nosotros la vemos. La página pregunta a los relays que nombra el enlace; si alguno no es un relay conocido, le dice a quien lo abre qué servidor es y le pide permiso antes de conectarse, porque ese servidor vería su dirección IP. Revocar vuelve a cifrar el evento con una clave nueva; quien ya lo leyó conserva lo que leyó. - Exportaciones (
.ics): un archivo de texto con tus títulos y horas. No va cifrado; guárdalo como cualquier otro documento privado. - La copia automática (
.ics, en la página de exportar): una vez al día que Calendar esté abierto, una exportación de todos tus calendarios en una carpeta que eliges tú, guardando las 7 últimas. Como una exportación, no va cifrada: lo que pueda leer esa carpeta (otra app, una carpeta en la nube que la sincronice) puede leer tus títulos y horas. Calendar solo escribe y borra ahí sus propios archivos (herkos-calendar-auto-…ics), y recuerda la carpeta solo en este dispositivo. - Informes de fallos (beta): la app solo prepara un texto para que lo copies y lo envíes tú. Lleva la versión de la app, la plataforma, el idioma, la zona horaria y si los recordatorios pueden sonar; nunca tus eventos, tu clave ni tu cuenta.
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:
- Calendarios que sigues por su dirección (
.icsowebcal): el dispositivo pide el calendario directamente al servidor de esa dirección, solo por https, cada pocas horas, sin cookies y sin ningún intermediario nuestro. Ese servidor ve tu dirección IP y cuándo lo pides, y quien tenga la dirección puede leer el calendario. La lista de direcciones se guarda en tu dispositivo y en tus relays, cifrada para ti (kind 30078,d=calendar-subscriptions). - Calendarios públicos de Nostr que sigues (un enlace
naddr…): se piden cada pocas horas a tus relays y a los relays que nombra el enlace, nunca a otros. Esos relays ven tu dirección IP y qué calendario lees. Van en la misma lista cifrada. - Festivos: vienen dentro de la app; seguirlos no pide nada a ningún servidor.
- «Ver si están libres» (en el editor, al pulsarlo): la app pide la lista de ocupación pública (kind 31926) de cada invitado a los relays donde esa persona publica, sin identificarse. Esos relays ven tu dirección IP y por quién preguntas.
- Archivos de un evento: están cifrados en un servidor Blossom. Al abrir uno, la app lo descarga de ese servidor, que ve tu dirección IP y el identificador del archivo, nunca su contenido.
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.
| 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 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.
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); 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. Solo escucha en 127.0.0.1 (el puerto 4873 si no
lo cambias): 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 y Tor todavía no están
disponibles; cuando lleguen, estarán apagadas hasta que las enciendas, y
necesitarán TLS o un servicio onion, autenticación y una lista de claves
permitidas.
| 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. |
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 solo borra eventos de otras personas: nunca los tuyos, los sobres para ti ni los kinds que protegen tus apps; por cuota, solo después de una copia del último día. 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 (incluido herkos.app/e/), 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:
- tu perfil (nombre, imagen) y tus listas de relays y servidores Blossom;
- los eventos de etiqueta NIP-32 que publica Herkos Mail cuando marcas un correo como leído, lo destacas, lo archivas o lo mueves a una carpeta — incluido el nombre de las carpetas personalizadas. Quien te envió un correo y conoce su id puede saber, por tanto, cuándo lo has leído. Tenemos previsto cifrarlos; hasta entonces, tenlo en cuenta;
- en Herkos Calendar, solo lo que hagas público (ver arriba);
- en Herkos Notes, nada de lo que escribes, solo el patrón descrito arriba: cuántas notas tienes y cuándo las editas;
- a través de Herkos Local Relay, solo los eventos públicos que publican tus apps, como con cualquier relay.
Tus opciones y derechos
- Todo lo anterior está bajo tu control en Ajustes → Red y servidores (relays, relays de DM, servidores Blossom, bridges) y Ajustes → Notificaciones; en Herkos Calendar decides tú los relays, la lista de ocupación y cada enlace (Compartir por enlace → Revocar enlace); en Herkos Notes, los relays (en sus Ajustes, o en tu propia lista de relays privados).
- En Herkos Local Relay, las apps emparejadas y lo que puede hacer cada una, el puerto, la cuota, la poda, el registro de la sesión y las copias están en sus propias pantallas.
- Cerrar sesión en Herkos Notes borra las notas de ese dispositivo, pero antes sube lo que solo está ahí y te dice cuántas notas perderías; las notas de los relays siguen ahí y vuelven cuando entras otra vez.
- Puedes exportar tu clave, eliminar una cuenta (que además pide a los relays que borren tus datos, NIP-62) o restablecer la app cuando quieras.
- Como no custodiamos datos personales, no podemos atender nosotros mismos solicitudes de acceso, rectificación o supresión; dirígelas al operador del relay, bridge, servidor push o alojamiento web correspondiente. Te ayudaremos a identificarlo.
- Herkos no está dirigido a menores de 16 años.
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 · 中文 · Ελληνικά · हिन्दी · 日本語 · 한국어 · Русский · Українська