Politique de confidentialité de Herkos
Dernière mise à jour : 29 octobre 2026. URL canonique : https://herkos.app/privacy
Traduction. Ceci est une traduction de courtoisie. En cas de divergence, la version anglaise prévaut.
Herkos Mail, Herkos Calendar, Herkos Notes et Herkos Local Relay sont des applications libres et open source pour le réseau Nostr, publiées par le projet Herkos (« nous »). Herkos Calendar, Herkos Notes et Herkos Local Relay sont encore en développement. Ce document explique quelles données les applications et nos sites web traitent, où elles vont et qui peut les voir. Nous l'avons écrit pour être lu, pas survolé : si quelque chose ici vous surprend, dites-le-nous à privacy@herkos.email.
La version courte
- Herkos n'a ni système de comptes, ni serveur propre, ni analytique. Nous ne recevons ni vos messages, ni vos événements, ni vos notes, ni vos contacts, ni votre clé, ni votre usage.
- Votre clé publique Nostr est votre identité sur le réseau. Tout ce que vous publiez sur Nostr (profil, listes de relais, étiquettes) y est rattaché et visible par les relais que vous utilisez.
- Le courrier entre utilisateurs de Nostr est chiffré de bout en bout (NIP-17). Le courrier vers ou depuis des adresses classiques passe par un bridge qui peut le lire.
- Certaines fonctions optionnelles envoient des données à des tiers (notifications push, envoi différé). Elles sont désactivées jusqu'à ce que vous les activiez, et ce document les nomme toutes.
- Les événements du calendrier sont chiffrés sur votre appareil. Les relais voient que vous avez des événements, leur taille approximative et quand ils changent, pas ce qu'ils disent. Les événements publics, la liste d'occupation et les liens de partage sont publics par votre choix, un par un. Pour savoir où vos invités reçoivent, Calendar interroge uniquement vos relais, jamais un index tiers.
- Les notes sont chiffrées sur votre appareil, avec votre propre clé. Les relais ne peuvent pas les lire, mais ils peuvent voir combien de notes vous avez et quand vous modifiez chacune d'elles. La recherche se fait sur votre appareil : les mots que vous cherchez ne le quittent jamais. Une note que vous partagez ne va qu'au compte que vous choisissez, scellée : les relais ne voient ni qui l'envoie ni ce qu'elle dit.
- Herkos Local Relay garde vos événements sur votre appareil, chiffrés, et
n'écoute que là (
127.0.0.1). Il ne parle qu'à vos relais et aux relais de boîte de réception des personnes à qui vous écrivez ; les événements privés ne quittent jamais l'appareil. Ses copies ne vont que dans un dossier que vous choisissez, jamais dans le cloud. - Nos sites web (
herkos.appet ses sous-domaines) sont servis par Cloudflare, qui voit votre adresse IP comme n'importe quel hébergeur web. Ils ne déposent aucun cookie et n'utilisent aucune analytique.
Données qui restent sur votre appareil
- Votre clé secrète (nsec), lorsque vous vous connectez avec elle, est conservée dans le stockage sécurisé du système d'exploitation (Android Keystore, trousseau iOS/macOS, Gestionnaire d'identifiants Windows, libsecret sous Linux, stockage local chiffré sur le web). Si vous vous connectez avec un signataire distant (un « bunker » NIP-46), la clé n'atteint jamais l'appareil.
Dans un navigateur, ce stockage sécurisé n'existe pas. La clé réside dans le stockage local du site et transite par JavaScript à chaque signature : une extension ayant accès à toutes les pages, une faille XSS ou un déploiement altéré pourraient donc la lire ; et contrairement à une application installée, une page web sert du code neuf à chaque visite. Avec la version web, utilisez un signataire distant, ou une identité que vous pouvez vous permettre de perdre.
- Votre boîte aux lettres : les courriels déchiffrés, les pièces jointes,
les étiquettes, les dossiers et les contacts sont mis en cache dans une base
de données locale pour que l'application fonctionne hors ligne. Cette base
n'est pas chiffrée au-delà de ce que fournit le système d'exploitation ; le
verrouillage de l'application (code PIN ou biométrie) est une barrière de
confort, pas un chiffrement au repos. Sous Android, l'application est exclue
des sauvegardes dans le cloud et d'appareil à appareil.
- Le code PIN de verrouillage : stocké sous forme d'empreinte salée et
étirée (PBKDF2), jamais en clair. Herkos Calendar et Herkos Notes ont chacune
leur propre code PIN, stocké de la même manière.
- Votre calendrier (Herkos Calendar) : les événements, les listes, les clés de
lecture et les rappels que vous pouvez lire sont mis en cache sur l'appareil,
chiffrés enregistrement par enregistrement avec une clé conservée dans le
stockage sécurisé du système d'exploitation. Dans un navigateur, le calendrier est
gardé uniquement en mémoire et récupéré à nouveau auprès des relais à chaque
fois. Les rappels sont déclenchés par l'appareil lui-même : Calendar
n'utilise aucun serveur push. Si vous choisissez de masquer les titres dans
les rappels, ceux-ci indiquent seulement « Événement » et l'heure de début.
Votre clé Calendar est conservée séparément de celles de Herkos Mail (voir
« Votre compte », dans la section Calendar).
- Vos notes (Herkos Notes) : les notes, leur historique, les carnets et
l'index de recherche sont mis en cache sur l'appareil, chiffrés
enregistrement par enregistrement avec une clé conservée dans le stockage
sécurisé du système d'exploitation. Dans un navigateur, ils sont gardés de la
même façon, dans le stockage du navigateur pour le site (IndexedDB), avec la
clé elle aussi dans le navigateur : sur un ordinateur que d'autres utilisent,
cela protège peu. Si le navigateur ne garde rien pour le site (une fenêtre
privée, des données du site bloquées), ils restent uniquement en mémoire et
rien ne peut être écrit sans connexion. Une note que vous verrouillez reçoit
son propre mot de passe ; sans lui, personne ne peut ouvrir cette note, pas
même nous. La copie de vos notes est un fichier écrit uniquement là où vous
l'enregistrez, chiffré avec son propre mot de passe. La copie automatique,
faite chaque semaine sauf si vous la désactivez, est un fichier dans un
dossier de l'appareil (Herkos Notes/backups dans vos Documents), chiffré
avec la clé de votre compte ; les cinq dernières sont gardées, et elle n'est
envoyée nulle part (il n'y en a pas dans un navigateur). Les notes que
d'autres comptes partagent avec vous attendent dans « Reçues d'autres
comptes », sur l'appareil et chiffrées comme le reste, jusqu'à ce que vous
les gardiez ou les écartiez.
- Votre relais (Herkos Local Relay) : ses événements, les applications appairées, ses réglages et l'endroit où vont ses copies ; voir sa propre section plus bas.
Vous pouvez tout effacer depuis Paramètres → Plus → Réinitialiser l'application, ou en supprimant un compte.
Données qui quittent votre appareil, et vers qui
Ce tableau concerne Herkos Mail. Herkos Calendar, Herkos Notes et Herkos Local Relay ont chacun leur propre section plus bas.
| Destinataire | Ce qu'ils peuvent voir | Quand |
|---|---|---|
| Relais Nostr (liste par défaut dans Paramètres → Réseau, modifiable) | Votre adresse IP, votre clé publique, les événements que vous publiez (profil, listes de relais, liste de serveurs Blossom, étiquettes NIP-32, réglages chiffrés) et les « gift wraps » chiffrés qui vous sont adressés, ainsi que leur horodatage. Les relais ne peuvent pas lire le contenu des gift wraps. Un relais qui demande une authentification NIP-42 apprend votre clé publique même si vous ne faites que lire. | Toujours, pendant que l'application se synchronise. Sous Android, également application fermée, environ toutes les 15 minutes, quand la vérification en arrière-plan remplace le serveur push. |
| Serveurs Blossom (modifiable) | Votre adresse IP et votre clé publique, ainsi que les blobs chiffrés des courriels de plus de 32 Ko et de leurs pièces jointes. La clé de déchiffrement d'un blob ne circule qu'à l'intérieur du message chiffré. | Quand vous envoyez ou ouvrez un courriel volumineux. |
Bridges (uid.ovh par défaut, modifiables) |
Le contenu intégral de tout courriel que vous envoyez à une adresse classique (Gmail, Outlook…) ou que vous en recevez, ainsi que l'alias nom@bridge que vous enregistrez. Les bridges sont des opérateurs indépendants avec leurs propres conditions ; Herkos ne les exploite pas. |
Quand vous utilisez une identité @bridge ou écrivez à une adresse non-Nostr. |
| Serveurs NIP-05 (le domaine d'une adresse que vous saisissez) | Que quelqu'un a demandé si nom@domaine est un utilisateur Nostr. |
Quand vous ajoutez un destinataire utilisateur@domaine. |
Serveur push (api.nmail.li par défaut, exploité par le projet Nostr Mail d'origine ; modifiable dans Paramètres → Notifications, où il peut aussi être désactivé entièrement) |
Votre clé publique, un jeton push de l'appareil (point de terminaison UnifiedPush), la langue de vos notifications et — parce qu'il surveille les relais pour vous — quand vous recevez du courrier (pas ce qu'il contient). | Seulement si vous activez les notifications pour un compte. Les désactiver demande au serveur de supprimer l'abonnement. En changeant de serveur, la même demande est envoyée à l'ancien. |
DVM de planification (un service Nostr opéré par un tiers, voir NostrConfig.schedulerDvm) |
Votre clé publique, les messages déjà chiffrés à publier, leurs relais de destination et l'heure programmée. | Seulement si vous utilisez « envoyer plus tard ». |
Signataire distant / relais NIP-46 (relay.nsec.app et solutions de repli) |
Votre clé publique et des demandes de signature chiffrées. | Seulement si vous vous connectez avec un bunker ou une app de signature. |
| Serveurs d'images (le serveur, quel qu'il soit, vers lequel pointe un profil ou un courriel) | Votre adresse IP et le moment où l'image est récupérée. Une photo de profil est téléchargée depuis l'adresse que son propriétaire a indiquée dans son profil uniquement si vous activez Charger les photos de profil (celles de vos propres comptes se chargent toujours) ; quiconque gère ce serveur peut alors savoir quand vous avez regardé ses messages ou son contact. Les images dans les courriels sont bloquées par défaut ; dès que vous les chargez (Charger les images, ou le réglage Toujours charger les images), leurs serveurs, souvent celui de l'expéditeur, apprennent que vous avez ouvert le courriel, et quand. Une image de fond que vous ajoutez par son adresse est téléchargée depuis ce serveur. | Photos de profil : seulement si vous les activez (les vôtres, toujours). Images des courriels : seulement si vous les chargez. |
Herkos lui-même ne reçoit rien de tout cela. Il n'y a ni rapport de plantage ni télémétrie.
Herkos Calendar : ce que voient les relais
Calendar communique avec des relais Nostr : ceux de votre compte (vos listes NIP-65 et de boîte de réception), ceux de Paramètres → Relais (modifiables) et, lorsque vous invitez quelqu'un ou répondez à une invitation, les relais de boîte de réception de cette personne. Avec personne d'autre, sauf ce que vous consultez vous-même (voir plus bas) : aucun index public de relais non plus. « Votre compte », plus bas, explique à quoi sert chacun. Il n'y a ni serveur Herkos, ni serveur push, ni télémétrie. Chaque relais voit votre adresse IP et l'heure de chaque connexion.
| Quoi | Ce que peuvent voir les relais qui le stockent | Ce qu'ils ne peuvent pas voir |
|---|---|---|
| Un événement privé (kind 32678) | Votre clé publique, le fait qu'il s'agit d'un événement de calendrier (son kind), un identifiant aléatoire, quand vous l'avez créé ou modifié pour la dernière fois, et sa taille approximative. Il est stocké uniquement sur vos relais, où vos invités vont le chercher ; jamais sur les leurs. | Titre, date et heure, fuseau horaire, répétition, lieu, description, invités, rappels. |
Vos listes de calendriers (kind 32123) et vos réglages de rappels (kind 30078, d=calendar-alarms) |
Votre clé publique, le fait qu'ils existent, et quand ils changent. | Quels événements ils contiennent, leurs noms, les clés de lecture, vos rappels. |
| Une invitation (un gift wrap, kind 1059) | La clé publique de l'invité, et une étiquette k=1052 qui indique que l'enveloppe contient une invitation de calendrier (c'est ainsi que les applications de calendrier, dont celle de Formstr, trouvent les invitations sans ouvrir votre courrier). Elle est envoyée uniquement aux relais de boîte de réception de l'invité lui-même, sous une clé à usage unique, avec ses propres horodatages aléatoires, et les invitations à un même événement partent dans un ordre aléatoire, chacune 5 à 90 secondes après la précédente (la première, après l'événement lui-même). L'enveloppe porte aussi une date d'expiration, tirée au hasard entre 60 et 90 jours après son envoi, pour que les relais puissent la supprimer : elle ne dit rien de la date de l'événement. |
Qui l'a envoyée, de quel événement il s'agit, et quels autres invités ont été conviés. |
Une réponse privée à une invitation (un gift wrap, kind 1059, étiquette k=1925) |
La clé publique de qui la reçoit (l'organisateur, ou vous dans votre propre copie) et le fait que l'enveloppe contient une réponse de calendrier. Elle part uniquement vers les relais de boîte de réception du destinataire, avec une clé à usage unique, des dates aléatoires et une date d'expiration, comme les invitations. | Qui répond, à quel événement et ce qu'il répond. |
| Supprimer (kind 5) | Votre clé publique et l'identifiant de ce que vous supprimez. | — |
Un relais qui demande une authentification NIP-42 apprend votre clé publique ; Calendar ne répond à une telle demande que pour vos propres événements sur vos propres relais, et pour lire votre propre boîte de réception. Supprimer sur Nostr est une demande : un relais peut garder sa copie, toujours chiffrée.
Ce que rien dans les événements ne peut cacher : chaque invitation part de votre adresse IP, et chaque invité récupère l'événement sur vos relais depuis la sienne. Un relais qui héberge les boîtes de réception de plusieurs de vos invités peut voir que leurs invitations venaient de la même adresse. Seuls Tor ou un VPN le cachent.
Votre compte
Calendar ne crée pas de comptes : vous vous connectez avec une identité Nostr que vous avez déjà, de l'une de ces façons.
- Avec une app de signature sur votre téléphone Android (NIP-55, comme Amber) : la clé reste dans cette application, et Calendar communique avec elle directement sur le téléphone, sans relais ni réseau entre les deux. L'appareil ne garde que votre clé publique et quelle application signe. Calendar lui demande les mêmes choses qu'à un bunker (ci-dessous), jamais les enveloppes des invitations, et vérifie chaque événement signé qui revient avant de l'utiliser.
- Avec votre clé (
nsec, ouncryptsecprotégée par mot de passe, ouverte sur l'appareil) : elle est conservée dans le stockage sécurisé du système d'exploitation, sous un nom propre à Calendar. Herkos Mail garde ses comptes à part, et Calendar ne les lit, ne les modifie ni ne les supprime jamais : se déconnecter d'une application ne vous déconnecte pas de l'autre. - Avec un lien
bunker://: la clé reste dans votre app de signature. Calendar communique avec elle par les relais que nomme le lien, et ne lui demande que votre clé publique, de chiffrer et déchiffrer (NIP-44) et de signer les kinds d'événement propres à Calendar ; les enveloppes des invitations ne passent jamais par elle, car elles portent des clés à usage unique. L'appareil ne garde que la connexion (une clé créée pour elle, la clé publique du signataire et ses relais). Ces relais voient votre adresse IP, les clés de la connexion et quand des signatures sont demandées ; les demandes sont chiffrées. - Avec Nostr Connect (un QR code) : comme le bunker, mais la connexion passe par les relais de Paramètres → Relais. Calendar n'ajoute aucun relais, ni le sien ni celui de quelqu'un d'autre.
Vos relais. À la connexion, Calendar cherche vos listes (NIP-65, kind 10002, et votre liste de boîte de réception, kind 10050) sur les relais de Paramètres → Relais, sur une connexion séparée qui ne vous identifie pas : un relais qui demande une authentification reçoit une clé à usage unique, pas la vôtre. Ensuite :
- vos événements, vos listes et vos réglages chiffrés sont publiés sur vos relais d'écriture NIP-65. Sans cette liste, sur ceux de Paramètres, et la page du compte vous le signale ;
- vos invitations et réponses sont lues sur vos relais de lecture et de boîte de réception. Calendar ne répond à l'authentification NIP-42 que sur vos propres relais, et seulement pour ce qui est à vous ;
- ouvrir l'application alors que vous êtes connecté n'établit aucune connexion tant que rien n'est nécessaire ;
- si Paramètres → Relais inclut un relais qui fonctionne sur cet appareil
(une adresse
ws://127.0.0.1ouws://localhost, comme l'application Citrine), chaque synchronisation y laisse aussi une copie de vos propres événements, listes et suppressions, exactement tels qu'ils ont été signés et toujours chiffrés. Rien ne quitte l'appareil pour cela, et tant qu'un autre relais a un événement, celui-ci n'est jamais le relais où l'on dit à vos invités de le chercher. Les autres applications de l'appareil qui lisent ce relais voient ce que voit n'importe quel relais.
Les relais de vos invités (décidé le 21 octobre 2026). Pour inviter
quelqu'un, l'application doit savoir où cette personne reçoit. Calendar
cherche ses listes (10002 et 10050) uniquement sur les relais de
Paramètres → Relais, jamais sur l'index public d'un tiers (comme
purplepag.es) : ce service verrait l'adresse d'où vous demandez et sur qui
vous vous renseignez, c'est-à-dire qui vous invitez. Chaque invité est cherché
séparément, dans un ordre aléatoire, sur une connexion à part avec une clé à
usage unique, pour que ces relais ne puissent pas savoir qui est invité avec
qui. Ce qu'ils voient, en revanche, c'est votre adresse IP et la clé publique
de chaque personne que vous cherchez. Si les listes d'une personne ne sont pas
sur ces relais, l'application la marque comme « aucune boîte de réception
connue » avant l'envoi, et l'invitation ne lui parvient pas. Pour la trouver,
ajoutez à Paramètres → Relais un relais où elle publie ses listes.
Ce qui se synchronise entre vos appareils, toujours chiffré pour vous et
sur vos relais d'écriture : vos listes de calendriers (avec les clés de leurs
événements), vos réglages de rappels (d=calendar-alarms), les calendriers
que vous suivez (d=calendar-subscriptions) et les invitations que vous
ignorez ou les événements d'autres personnes que vous retirez de votre
calendrier (kind 30078, d=calendar-declined : seulement quel événement et
quand, jamais son titre). Les relais voient qu'ils existent et quand ils
changent, pas ce qu'ils disent. Les rappels que l'appareil fait sonner sont
ceux du compte avec lequel vous êtes connecté, jamais ceux d'un compte
précédent.
La copie de vos clés. Calendar propose d'en enregistrer une copie : un fichier avec vos listes de calendriers et les clés de leurs événements, chiffré avec un mot de passe que vous choisissez pour lui (le chiffrement de NIP-49). Il est écrit uniquement là où vous l'enregistrez ; il ne va vers aucun relais ni serveur. Son nom porte la date, jamais le compte. Pour vous le rappeler, l'appareil ne retient que deux dates : celle de la dernière copie et celle du dernier « Pas maintenant ».
Se déconnecter vous montre d'abord ce qui sera perdu et propose d'enregistrer la copie. Ensuite, cela supprime de cet appareil votre clé (ou la connexion au bunker) et le calendrier stocké. Ce qui a été publié reste sur les relais, chiffré. L'autorisation que vous avez donnée dans votre app de signature se retire dans cette application.
Public par votre choix
Ces éléments sont désactivés jusqu'à ce que vous les activiez, et l'application montre ce que chacun révèle avant que vous le fassiez :
- Événements publics (kinds 31922/31923) : tout leur contenu — titre, heure, lieu, description — est public, lié à votre clé publique, et le reste : un événement public ne peut pas redevenir privé.
- La liste d'occupation (kind 31926) : les plages où vous êtes occupé ce mois-ci et les deux suivants, arrondies à 30 minutes (ou 15), pour les calendriers que vous choisissez. Jamais quoi, où ni avec qui. La désactiver demande aux relais de la supprimer.
- Liens de partage (
herkos.app/e/…) : le lien est la clé. Quiconque le possède peut lire cet événement jusqu'à ce que vous le révoquiez, et sa première partie montre votre clé publique. La clé se trouve après#, une partie de l'adresse que les navigateurs n'envoient jamais à un serveur : ni Cloudflare ni nous ne la voyons. La page interroge les relais indiqués dans le lien ; si l'un d'eux n'est pas un relais bien connu, elle indique au visiteur de quel serveur il s'agit et lui demande avant de s'y connecter, car ce serveur verrait l'adresse IP du visiteur. Révoquer rechiffre l'événement avec une nouvelle clé ; qui l'a déjà lu garde ce qu'il a lu. - Exportations (
.ics) : un fichier en texte brut avec vos titres et vos horaires. Il n'est pas chiffré ; conservez-le comme tout autre document privé. - La copie automatique (
.ics, sur la page Exporter en .ics) : une fois par jour, les jours où Calendar est ouvert, une exportation de tous vos calendriers dans un dossier que vous choisissez, en gardant les 7 dernières. Comme une exportation, elle n'est pas chiffrée : tout ce qui peut lire ce dossier (une autre application, un dossier cloud qui le synchronise) peut lire vos titres et vos horaires. Calendar n'y écrit et n'y supprime que ses propres fichiers (herkos-calendar-auto-…ics), et ne retient le dossier que sur cet appareil. - Signalements de problème (bêta) : l'application prépare seulement un texte que vous copiez et envoyez vous-même. Il contient la version de l'application, la plateforme, la langue, le fuseau horaire et si les rappels peuvent sonner, jamais vos événements, votre clé ni votre compte.
Herkos Calendar lit les réponses publiques à vos événements publics écrites par d'autres applications (RSVP, kind 31925, et retraits, kind 84) ; il n'écrit ni les unes ni les autres.
Ce que vous consultez vous-même
Ces connexions n'ont lieu que lorsque vous les demandez :
- Calendriers que vous suivez par leur adresse (
.icsouwebcal) : l'appareil demande le calendrier directement au serveur de cette adresse, uniquement en https, toutes les quelques heures, sans cookies et sans aucun intermédiaire de notre part. Ce serveur voit votre adresse IP et le moment de la demande, et quiconque a l'adresse peut lire le calendrier. La liste des adresses est conservée sur votre appareil et sur vos relais, chiffrée pour vous (kind 30078,d=calendar-subscriptions). - Calendriers publics Nostr que vous suivez (un lien
naddr…) : ils sont demandés toutes les quelques heures à vos relais et aux relais que nomme le lien, jamais à d'autres. Ces relais voient votre adresse IP et quel calendrier vous lisez. Ils figurent dans la même liste chiffrée. - Jours fériés : ils sont inclus dans l'app ; les suivre ne demande rien à aucun serveur.
- « Voir s'ils sont libres » (dans l'éditeur, quand vous appuyez dessus) : l'app demande la liste d'occupation publique (kind 31926) de chaque invité aux relais où cette personne publie, sans s'identifier. Ces relais voient votre adresse IP et sur qui vous vous renseignez.
- Fichiers d'un événement : ils sont chiffrés sur un serveur Blossom. Quand vous en ouvrez un, l'app le télécharge depuis ce serveur, qui voit votre adresse IP et l'identifiant du fichier, jamais son contenu.
Herkos Notes : ce que voient les relais
Notes communique avec des relais Nostr, et avec personne d'autre. Il n'y a ni serveur Herkos, ni serveur push, ni télémétrie. Chaque relais voit votre adresse IP et l'heure de chaque connexion.
Quels relais. Si votre compte a une liste de relais privés (kind 10013, la
liste que décrit NIP-37), Notes utilise les relais qu'elle contient, tels quels,
et ne l'écrase jamais ; il cherche cette liste sur les relais de ses Réglages et
sur les relais où vous publiez (votre liste NIP-65). Sinon, il utilise les
relais de ses Réglages : relay.formstr.app, nos.lol et relay.primal.net
par défaut, jusqu'à huit, tous modifiables. Les Réglages proposent aussi une
liste de relais connus à ajouter d'un toucher ; aucun n'est contacté tant que
vous ne l'avez pas ajouté. Un relais ne peut être en ws://, une connexion
non chiffrée, que s'il est sur l'appareil ou sur le réseau domestique
(localhost, adresses privées, noms .local) : les notes voyagent toujours
chiffrées, mais n'importe qui sur ce réseau peut voir ce que voit le relais
(le tableau ci-dessous). Notes ne publie aucune liste de relais qui lui soit
propre, sauf si vous le lui demandez (Relais → Enregistrer comme ma liste de
relais privés). Il publie alors ces relais comme votre 10013, chiffrée avec
votre clé, sur les mêmes relais que ceux où il cherche les listes, et la tient à
jour avec ce que vous modifiez dans Notes : les relais voient votre clé
publique, que la liste existe et quand elle change, pas les relais qu'elle
contient. Une liste écrite par une autre app n'est jamais écrasée : Notes
l'utilise telle quelle.
Si l'un de ces relais fonctionne sur cet appareil (une adresse
ws://127.0.0.1 ou ws://localhost, comme l'application Citrine), Notes y
laisse aussi une copie de vos notes, carnets et suppressions, exactement tels
qu'ils ont été signés et toujours chiffrés. Rien ne quitte l'appareil pour
cela ; Notes ne lit jamais ce relais, et une note que lui seul possède ne
compte pas comme envoyée. Les autres applications de l'appareil qui lisent ce
relais voient ce que voit n'importe quel relais.
| Quoi | Ce que peuvent voir les relais qui le stockent | Ce qu'ils ne peuvent pas voir |
|---|---|---|
| Une note (kind 31234, NIP-37) | Votre clé publique ; un identifiant aléatoire (d), tiré d'un nombre aléatoire et jamais du titre ; l'étiquette k=30023, la même sur toutes les notes, qui ne dit donc rien de ce que vous écrivez ; quand vous l'avez modifiée pour la dernière fois ; et sa taille approximative. |
Titre, texte, étiquettes, carnet, si elle est épinglée, favorite ou dans la corbeille, et quand vous l'avez créée. |
| Un point de contrôle (kind 1234), l'historique de la note | Votre clé publique, la note à laquelle il appartient (son étiquette a pointe vers l'identifiant de la note) et quand il a été créé. |
Ce que disait la note à ce moment-là. |
| Vos carnets (kind 30078) | Votre clé publique, le fait que la liste existe, et quand elle change. Son identifiant est dérivé de votre clé publique : il est donc le même sur tous vos appareils. | Les noms de vos carnets, leur nombre et les notes que contient chacun. |
| Supprimer (kind 5) | Votre clé publique et les identifiants de ce que vous supprimez : la note et ses points de contrôle. | — |
| Une note que vous partagez (kind 1059, un gift wrap NIP-59) | La clé publique du compte auquel elle est destinée (p) ; l'étiquette k=30023 ; une date reculée au hasard jusqu'à deux jours ; et sa taille approximative. Elle est signée par une clé créée pour elle et utilisée une seule fois, pas par la vôtre. |
Qui l'envoie, quand, son titre et son texte. À l'intérieur, scellées (kind 13) et chiffrées pour ce seul compte, se trouvent votre clé publique et la note : seul ce compte peut les ouvrir, et il apprend qui l'a envoyée. |
Ce qui ne peut pas être caché. Le d et le k d'une note et le a d'un
point de contrôle doivent être lisibles : les relais en ont besoin pour
remplacer une note par sa version plus récente et pour retrouver son historique.
Un relais peut donc compter combien de notes vous avez, et voir quand vous
modifiez chacune d'elles et à quelle fréquence. Notes rend cela moins précis,
pas invisible : il enregistre au plus un point de contrôle par note pour chaque
heure de modification, un quand vous fermez une note qui a changé, et un de
chaque côté quand vous résolvez un conflit, jamais un par enregistrement, pour
que votre rythme d'écriture ne soit pas publié minute par minute.
Pourquoi vos notes n'expirent jamais. Les brouillons NIP-37 peuvent porter
une étiquette expiration (son exemple utilise 90 jours), et un relais qui la
respecte supprime l'événement à cette date. Pour un carnet de notes, cela voudrait
dire perdre des notes dont personne n'a demandé la suppression : Notes ne
l'écrit donc jamais. Le revers : vos notes restent sur les relais, chiffrées,
jusqu'à ce que vous les supprimiez, et supprimer sur Nostr est une demande :
un relais peut garder sa copie.
Partager une note. Notes envoie la copie aux relais où l'autre compte dit
lire (ses relais NIP-17, kind 10050, ou à défaut les relais de lecture de sa
liste NIP-65), qu'il cherche sur vos relais, et à vos propres relais, huit au
plus. Ce qui part, c'est ce que dit la note (titre, texte et étiquettes), pas
votre carnet, vos marques ni la corbeille ; ce que vous modifiez ensuite n'est
pas envoyé. L'autre compte garde sa copie : Notes ne peut pas la reprendre, et
supprimer votre note ne la supprime pas. Pour recevoir, Notes demande à vos
relais les gift wraps adressés à votre clé avec k=30023 et les ouvre sur
l'appareil. En écarter un ne le retire que de l'appareil : un gift wrap est
signé par une clé que personne ne garde, donc aucun de vous deux ne peut
demander aux relais de le supprimer, et il y reste, lisible par vous seul.
La recherche est locale. Tout est chiffré, aucun relais ne peut donc chercher pour vous. Notes télécharge et déchiffre vos notes et construit l'index sur l'appareil ; les mots que vous cherchez ne sont jamais envoyés nulle part.
Un relais qui demande une authentification NIP-42 apprend votre clé publique ; Notes lui répond avec votre compte. Notes demande aussi à vos relais les brouillons que d'autres applications ont écrits avec votre clé (kinds 31234 et l'ancien 30024), pour les afficher en lecture seule, et ne publie rien ce faisant. Si vous vous connectez avec un signataire distant (un bunker ou Nostr Connect), ses relais transportent vos demandes de signature chiffrées, et Notes ne lui demande de signer que les kinds ci-dessus (y compris le sceau d'une note partagée, kind 13 ; son gift wrap est signé sur l'appareil, avec la clé à usage unique). Avec une app de signature sur votre téléphone Android (NIP-55, comme Amber), Notes lui parle directement sur le téléphone, sans aucun relais entre les deux, lui demande la même chose et vérifie chaque événement signé qui revient avant de l'utiliser.
Herkos Local Relay : ce qu'il garde et à qui il parle
Herkos Local Relay est un relais Nostr qui fonctionne sur votre propre appareil, pour les applications Herkos et tout autre client Nostr. Il n'y a derrière lui aucun serveur à nous, et il ne nous envoie rien.
Ce qu'il garde, sur l'appareil. Les événements que vos applications y
écrivent et ceux qu'il rapporte de vos relais, dans une base de données
chiffrée avec une clé conservée dans le stockage sécurisé du système
d'exploitation. À côté : les applications que vous avez appairées et ce que
chacune peut faire ; ses réglages (settings.json : le port, le quota,
l'élagage, si le journal de session est activé) ; et ceux des copies
(backups.json : la fréquence, le dossier, la clé publique pour laquelle les
copies sont chiffrées et son sel, la date de la dernière). Rien de tout cela
n'est secret, et le mot de passe des copies n'est jamais enregistré. Sous
Windows et Linux, tant qu'il fonctionne, relay.json dans le dossier de
l'application indique sur quel port il écoute, pour que les applications Herkos
puissent le trouver. Désinstaller l'application supprime la base de données, et
sa clé devient inutile.
Qui peut se connecter. Il n'écoute que sur 127.0.0.1 (port 4873, sauf si
vous le changez) : rien en dehors de l'appareil ne peut l'atteindre. N'importe
quelle application de l'appareil peut atteindre cette adresse ; une application
ou une page web doit donc être appairée, avec votre accord à l'écran, avant de
pouvoir écrire, et une page web non appairée est refusée. Révoquer une
application la déconnecte aussitôt. Les événements privés (brouillons, listes
privées, rappels, les enveloppes scellées que vous recevez) ne sont remis qu'à
qui prouve avec NIP-42 qu'il détient la clé à laquelle ils appartiennent. Le
réseau local et Tor ne sont pas encore disponibles ; quand ils arriveront, ils
seront désactivés jusqu'à ce que vous les activiez, et exigeront TLS ou un
service onion, une authentification et une liste de clés autorisées.
| Qui | Ce qu'ils peuvent voir | Quand |
|---|---|---|
| Vos relais (ceux de votre liste NIP-65) | Votre adresse IP ; votre clé publique, quand un relais demande une authentification NIP-42 ; les événements publics que vous publiez par son intermédiaire ; et, pour la synchronisation, lesquels de vos événements il demande. | Quand vous publiez, et quand il synchronise (avec negentropy, NIP-77, si le relais le propose). |
| Les relais de boîte de réception des personnes à qui vous écrivez (leur liste NIP-17, kind 10050, ou à défaut les relais de lecture de leur liste NIP-65) | Votre adresse IP et l'enveloppe scellée (NIP-59) adressée à cette personne, envoyée après une attente aléatoire. Elle n'est jamais envoyée à vos propres relais. | Quand une application envoie par son intermédiaire un message ou une invitation privés. |
Pour savoir où quelqu'un reçoit, il interroge vos relais. Vos événements privés (brouillons, listes privées, rappels) ne quittent jamais l'appareil. Il n'annonce jamais sa propre adresse (elle n'est dans la liste NIP-65 de personne), son document NIP-11 ne dit pas qui vous êtes, et il n'y a ni analytique, ni télémétrie, ni rapports de plantage. Sous Android, il fonctionne comme un service avec une notification et son bouton Arrêter ; il se met en veille après 10 minutes sans connexion, et une application Herkos le réveille sur l'appareil même, sans serveur push.
Le journal de session est désactivé par défaut. Si vous l'activez, il est gardé uniquement en mémoire, les 500 dernières lignes, et effacé quand le relais s'arrête : connexions, authentification NIP-42, événements acceptés ou refusés et kinds demandés, par kind et par le début de leur identifiant, jamais leur contenu.
Copies. La copie chiffrée de tout le stockage n'est écrite que là où vous le choisissez : un dossier de l'appareil ou un disque externe. Un dossier d'un client cloud (OneDrive, Google Drive, Dropbox, iCloud, Nextcloud, Herkos Drive…) est refusé. Elle est chiffrée avec un mot de passe à vous (scrypt et XChaCha20-Poly1305) ; les copies planifiées, pour la clé publique que donne ce mot de passe, si bien qu'elles se font sans lui. Les sept dernières sont gardées. Sans le mot de passe, personne ne peut ouvrir une copie, pas même nous, et si vous le perdez, la copie est perdue. L'export JSONL n'est pas chiffré : il contient vos événements privés en clair, et l'application vous le dit avant de l'écrire.
L'élagage ne supprime que les événements d'autres personnes : jamais les vôtres, les enveloppes qui vous sont destinées ni les kinds que protègent vos applications ; par quota, seulement après une copie datant du dernier jour. Et comme partout dans Nostr, supprimer est une demande : ce qui est déjà parti vers d'autres relais peut y rester.
Nos sites web et Cloudflare
herkos.app (y compris herkos.app/e/), app.herkos.app (la version web de
Mail), calendar.herkos.app et notes.herkos.app (les versions web de Calendar
et de Notes, une fois publiées) et
fdroid.herkos.app (notre dépôt F-Droid) sont des fichiers statiques servis
par Cloudflare (Cloudflare Pages et R2). Comme tout hébergeur web,
Cloudflare reçoit votre adresse IP, l'agent utilisateur de votre
navigateur, l'adresse que vous demandez (sans la partie après #) et l'heure,
et peut les conserver dans ses journaux selon sa propre politique de
confidentialité.
Nous ne déposons aucun cookie et n'utilisons aucune analytique ; les pages et les fichiers propres aux applications web proviennent uniquement de ces domaines (les applications web se connectent ensuite aux relais et serveurs décrits plus haut), et nous ne consultons pas de journaux par visiteur. Les téléchargements depuis Releases proviennent de GitHub, qui voit le même type de données selon sa propre politique.
Public par conception
Nostr est un réseau public. Les éléments suivants sont visibles par quiconque interroge les relais que vous utilisez, et sont liés à votre clé publique :
- votre profil (nom, image) et vos listes de relais et de serveurs Blossom ;
- les événements d'étiquette NIP-32 que Herkos Mail publie lorsque vous marquez un courriel comme lu, le mettez en favori, l'archivez ou le déplacez dans un dossier — y compris le nom des dossiers personnalisés. Celui qui vous a envoyé un courriel et en connaît l'identifiant peut donc savoir quand vous l'avez lu. Nous prévoyons de les chiffrer ; en attendant, sachez-le ;
- dans Herkos Calendar, seulement ce que vous rendez public (voir plus haut) ;
- dans Herkos Notes, aucun contenu, seulement le schéma décrit plus haut : combien de notes vous avez et quand vous les modifiez ;
- via Herkos Local Relay, seulement les événements publics que publient vos applications, comme avec n'importe quel relais.
Vos choix et vos droits
- Tout ce qui précède est sous votre contrôle dans Paramètres → Réseau et serveurs (relais, relais de DM, serveurs Blossom, bridges) et Paramètres → Notifications ; dans Herkos Calendar, c'est vous qui modifiez les relais, la liste d'occupation et chaque lien de partage (Partager par lien → Révoquer le lien) ; dans Herkos Notes, les relais (dans ses Réglages, ou dans votre propre liste de relais privés).
- Dans Herkos Local Relay, les applications appairées et ce que chacune peut faire, le port, le quota, l'élagage, le journal de session et les copies se trouvent dans ses propres écrans.
- Se déconnecter de Herkos Notes supprime les notes sur cet appareil, mais l'application envoie d'abord ce qui ne se trouve que là et vous dit combien de notes vous perdriez ; les notes sur les relais restent, et reviennent quand vous vous reconnectez.
- Vous pouvez exporter votre clé, supprimer un compte (ce qui demande aussi aux relais d'effacer vos données, NIP-62) ou réinitialiser l'application à tout moment.
- Comme nous ne détenons aucune donnée personnelle, nous ne pouvons pas répondre nous-mêmes aux demandes d'accès, de rectification ou d'effacement ; adressez-les à l'opérateur du relais, du bridge, du serveur push ou de l'hébergeur web concerné. Nous vous aiderons à l'identifier.
- Herkos n'est pas destiné aux enfants de moins de 16 ans.
Modifications
Nous modifierons ce document quand le comportement de l'application changera, et
nous noterons la date en haut. La source de vérité est PRIVACY.md dans le
dépôt ; la page publiée en est une copie.
Contact : privacy@herkos.email · https://herkos.app
Autres langues
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 · 中文 · Ελληνικά · हिन्दी · 日本語 · 한국어 · Русский · Українська