Privacybeleid van Herkos
Laatst bijgewerkt: 29 oktober 2026. Canonieke URL: https://herkos.app/privacy
Vertaling. Dit is een vertaling uit hoffelijkheid. Bij verschillen prevaleert de Engelse versie.
Herkos Mail, Herkos Calendar, Herkos Notes en Herkos Local Relay zijn vrije, opensource apps voor het Nostr-netwerk, uitgegeven door het Herkos-project ("wij"). Herkos Calendar, Herkos Notes en Herkos Local Relay zijn nog in ontwikkeling. Dit document legt uit welke gegevens de apps en onze websites verwerken, waar ze naartoe gaan en wie ze kan zien. We hebben het geschreven om gelezen te worden, niet om doorheen te scrollen: als iets hierin u verrast, laat het ons weten via privacy@herkos.email.
De korte versie
- Herkos heeft geen accountsysteem, geen eigen server en geen analytics. Wij ontvangen uw berichten, uw afspraken, uw notities, uw contacten, uw sleutel of uw gebruik niet.
- Uw publieke Nostr-sleutel is uw identiteit op het netwerk. Alles wat u op Nostr publiceert (profiel, relaylijsten, labels) is eraan gekoppeld en zichtbaar voor de relays die u gebruikt.
- E-mail tussen Nostr-gebruikers is end-to-end versleuteld (NIP-17). E-mail naar of van gewone e-mailadressen gaat via een bridge die hem kan lezen.
- Sommige optionele functies sturen gegevens naar derden (pushmeldingen, gepland verzenden). Ze staan uit tot u ze inschakelt, en dit document noemt ze stuk voor stuk.
- Agenda-afspraken worden op uw apparaat versleuteld. Relays zien dat u afspraken hebt, ongeveer hoe groot ze zijn en wanneer ze veranderen, niet wat erin staat. Openbare afspraken, de bezetlijst en deellinks zijn openbaar omdat u daarvoor kiest, stuk voor stuk. Om te vinden waar uw gasten ontvangen, vraagt Calendar het alleen aan uw relays, nooit aan een index van derden.
- Notities worden op uw apparaat versleuteld, met uw eigen sleutel. Relays kunnen ze niet lezen, maar ze zien wel hoeveel notities u hebt en wanneer u elk ervan bewerkt. Zoeken gebeurt op uw apparaat: de woorden waarnaar u zoekt, verlaten het nooit. Een notitie die u deelt, gaat alleen naar het account dat u kiest, verzegeld: relays zien niet wie haar stuurt en ook niet wat erin staat.
- Herkos Local Relay bewaart uw gebeurtenissen op uw apparaat, versleuteld,
en luistert alleen daar (
127.0.0.1). Het praat alleen met uw relays en met de inbox-relays van de mensen naar wie u schrijft; privégebeurtenissen verlaten het apparaat nooit. Zijn kopieën gaan alleen naar een map die u kiest, nooit naar de cloud. - Onze websites (
herkos.appen zijn subdomeinen) worden geleverd door Cloudflare, dat uw IP-adres ziet zoals elke webhost. Ze plaatsen geen cookies en gebruiken geen analytics.
Gegevens die op uw apparaat blijven
- Uw geheime sleutel (nsec) wordt, als u ermee inlogt, opgeslagen in de beveiligde opslag van het besturingssysteem (Android Keystore, iOS-/macOS- sleutelhanger, Windows Referentiebeheer, libsecret op Linux, versleutelde lokale opslag op het web). Logt u in met een externe ondertekenaar (een NIP-46 "bunker"), dan bereikt de sleutel het apparaat nooit.
In een browser bestaat die veilige opslag niet. De sleutel staat in de lokale opslag van de site en gaat bij elke ondertekening door JavaScript, dus een extensie met toegang tot alle pagina's, een XSS-fout of een gemanipuleerde uitrol zou hem kunnen lezen; en anders dan een geïnstalleerde app levert een webpagina bij elk bezoek nieuwe code. Gebruik bij de webversie een externe ondertekenaar, of een identiteit die u kunt missen.
- Uw postbus: ontsleutelde e-mails, bijlagen, labels, mappen en contacten
worden in een lokale database bewaard zodat de app offline werkt. Die database
is niet verder versleuteld dan wat het besturingssysteem biedt; de
app-vergrendeling (pincode of biometrie) is een gemaksdrempel, geen versleuteling
in rust. Op Android is de app uitgesloten van cloudback-ups en back-ups van
apparaat naar apparaat.
- De pincode van de app-vergrendeling: opgeslagen als gezouten, gerekte hash
(PBKDF2), nooit in platte tekst. Herkos Calendar en Herkos Notes hebben elk een
eigen pincode, op dezelfde manier opgeslagen.
- Uw agenda (Herkos Calendar): de afspraken, lijsten, weergavesleutels en
herinneringen die u kunt lezen, worden op het apparaat bewaard, record voor
record versleuteld met een sleutel die in de beveiligde opslag van het
besturingssysteem staat. In een browser wordt de agenda alleen in het geheugen
gehouden en telkens opnieuw van de relays opgehaald. Herinneringen laat het
apparaat zelf afgaan: Calendar gebruikt geen pushserver. Als u ervoor kiest
titels in herinneringen te verbergen, zeggen ze alleen "Afspraak" en wanneer
die begint. Uw Calendar-sleutel wordt los van die van Herkos Mail bewaard
(zie "Uw account", in de sectie over Calendar).
- Uw notities (Herkos Notes): de notities, hun geschiedenis, de notitieboeken
en de zoekindex worden op het apparaat bewaard, record voor record
versleuteld met een sleutel die in de beveiligde opslag van het
besturingssysteem staat. In een browser worden ze op dezelfde manier bewaard, in
de opslag van de browser voor de site (IndexedDB), met de sleutel ook in de
browser: op een computer die anderen ook gebruiken, beschermt dat weinig.
Bewaart de browser niets voor de site (een privévenster, geblokkeerde
sitegegevens), dan blijven ze alleen in het geheugen en kan er zonder verbinding
niets worden geschreven. Een notitie die u vergrendelt, krijgt een eigen
wachtwoord; zonder dat wachtwoord kan niemand die notitie openen, ook wij niet.
De kopie van uw notities is een bestand dat alleen wordt geschreven waar u het
opslaat, versleuteld met een eigen wachtwoord. De automatische kopie, die elke
week wordt gemaakt tenzij u haar uitzet, is een bestand in een map op het
apparaat (Herkos Notes/backups in uw Documenten), versleuteld met de sleutel
van uw account; de laatste vijf worden bewaard, en ze wordt nergens heen
gestuurd (in een browser is er geen). Notities die andere accounts met u
delen, wachten in "Ontvangen van anderen", op het apparaat en versleuteld zoals
de rest, tot u ze bewaart of weggooit.
- Uw relay (Herkos Local Relay): zijn gebeurtenissen, de gekoppelde apps, zijn instellingen en waar zijn kopieën naartoe gaan; zie de eigen sectie ervan hieronder.
U kunt dit alles wissen via Instellingen → Meer → App opnieuw instellen, of door een account te verwijderen.
Gegevens die uw apparaat verlaten, en naar wie
Deze tabel geldt voor Herkos Mail. Herkos Calendar, Herkos Notes en Herkos Local Relay hebben hieronder elk een eigen sectie.
| Ontvanger | Wat zij kunnen zien | Wanneer |
|---|---|---|
| Nostr-relays (standaardlijst in Instellingen → Netwerk, aanpasbaar) | Uw IP-adres, uw publieke sleutel, de gebeurtenissen die u publiceert (profiel, relaylijsten, lijst met Blossom-servers, NIP-32-labels, versleutelde instellingen) en de aan u gerichte versleutelde "gift wraps", met hun tijdstippen. Relays kunnen de inhoud van gift wraps niet lezen. Een relay dat NIP-42-authenticatie vraagt, leert uw publieke sleutel ook als u alleen leest. | Altijd, terwijl de app synchroniseert. Op Android ook met de app gesloten, ongeveer elke 15 minuten, wanneer de achtergrondcontrole de pushserver vervangt. |
| Blossom-servers (aanpasbaar) | Uw IP-adres en publieke sleutel, en de versleutelde blobs van e-mails groter dan 32 kB en hun bijlagen. De sleutel om een blob te ontsleutelen reist alleen binnen het versleutelde bericht mee. | Wanneer u een grote e-mail verstuurt of opent. |
Bridges (standaard uid.ovh, aanpasbaar) |
De volledige inhoud van elke e-mail die u naar een gewoon adres (Gmail, Outlook…) stuurt of daarvan ontvangt, en de alias naam@bridge die u registreert. Bridges zijn onafhankelijke beheerders met eigen privacyvoorwaarden; Herkos beheert ze niet. |
Wanneer u een @bridge-identiteit gebruikt of naar een niet-Nostr-adres schrijft. |
| NIP-05-servers (het domein van een adres dat u typt) | Dat iemand heeft gevraagd of naam@domein een Nostr-gebruiker is. |
Wanneer u een ontvanger gebruiker@domein toevoegt. |
Pushserver (api.nmail.li standaard, beheerd door het oorspronkelijke Nostr Mail-project; te wijzigen in Instellingen → Meldingen, waar hij ook helemaal uit kan) |
Uw publieke sleutel, een pushtoken van het apparaat (UnifiedPush-endpoint), uw meldingstaal en — omdat hij de relays voor u in de gaten houdt — wanneer u post ontvangt (niet wat erin staat). | Alleen als u meldingen voor een account inschakelt. Bij uitschakelen wordt de server gevraagd het abonnement te verwijderen. Bij het wisselen van server wordt hetzelfde aan de oude server gevraagd. |
Scheduler-DVM (een Nostr-dienst van een derde partij, zie NostrConfig.schedulerDvm) |
Uw publieke sleutel, de reeds versleutelde te publiceren berichten, hun doelrelays en het geplande tijdstip. | Alleen als u "later verzenden" gebruikt. |
Externe ondertekenaar / relays voor NIP-46 (relay.nsec.app en alternatieven) |
Uw publieke sleutel en versleutelde ondertekeningsverzoeken. | Alleen als u inlogt met een bunker of ondertekenapp. |
| Afbeeldingsservers (welke server een profiel of e-mail ook aanwijst) | Uw IP-adres en het moment waarop de afbeelding wordt opgehaald. Een profielafbeelding wordt alleen gedownload van het adres dat de eigenaar ervan in zijn profiel heeft gezet als u Profielfoto's laden inschakelt (de afbeeldingen van uw eigen accounts worden altijd geladen); wie die server beheert, kan dan zien wanneer u de berichten of het contact van die persoon hebt bekeken. Afbeeldingen in e-mails worden standaard geblokkeerd; zodra u ze laadt (Afbeeldingen laden, of de instelling Afbeeldingen altijd laden), komen hun servers, vaak die van de afzender, te weten dat en wanneer u de e-mail hebt geopend. Een achtergrondafbeelding die u via het adres ervan toevoegt, wordt van die server gedownload. | Profielafbeeldingen: alleen als u ze inschakelt (die van uzelf altijd). Afbeeldingen in e-mails: alleen als u ze laadt. |
Herkos zelf ontvangt hiervan niets. Er is geen crashrapportage en geen telemetrie.
Herkos Calendar: wat relays zien
Calendar praat met Nostr-relays: die van uw account (uw NIP-65- en inboxlijst), die in Instellingen → Relays (aanpasbaar) en, wanneer u iemand uitnodigt of op een uitnodiging antwoordt, de inbox-relays van die persoon. Met niemand anders, behalve wat u zelf opvraagt (zie hieronder): ook niet met een openbare relay-index. "Uw account", hieronder, legt uit waarvoor elk ervan dient. Er is geen Herkos-server, geen pushserver en geen telemetrie. Elk relay ziet uw IP-adres en het tijdstip van elke verbinding.
| Wat | Wat de relays die het opslaan kunnen zien | Wat ze niet kunnen zien |
|---|---|---|
| Een privéafspraak (kind 32678) | Uw publieke sleutel, dat het een agenda-afspraak is (de kind ervan), een willekeurige identificatie, wanneer u ze hebt aangemaakt of voor het laatst gewijzigd, en ongeveer hoe groot ze is. Ze wordt alleen opgeslagen op uw relays, waar uw gasten ernaar zoeken; nooit op die van hen. | Titel, datum en tijd, tijdzone, herhaling, plaats, beschrijving, gasten, herinneringen. |
Uw agendalijsten (kind 32123) en herinneringsinstellingen (kind 30078, d=calendar-alarms) |
Uw publieke sleutel, dat ze bestaan en wanneer ze veranderen. | Welke afspraken erin staan, hun namen, de weergavesleutels, uw herinneringen. |
| Een uitnodiging (een gift wrap, kind 1059) | De publieke sleutel van de gast, en een tag k=1052 die zegt dat de envelop een agenda-uitnodiging bevat (zo vinden agenda-apps, ook die van Formstr, uitnodigingen zonder uw post te openen). Ze wordt alleen naar de eigen inbox-relays van de gast gestuurd, onder een eenmalige sleutel, met eigen willekeurige tijdstempels, en uitnodigingen voor dezelfde afspraak vertrekken in willekeurige volgorde, elk 5 tot 90 seconden na de vorige (de eerste na de afspraak zelf). De envelop draagt ook een vervaldatum, willekeurig gekozen tussen 60 en 90 dagen na verzending, zodat relays hem kunnen weggooien: die zegt niets over wanneer de afspraak is. |
Wie ze heeft verstuurd, om welke afspraak het gaat en welke andere gasten zijn uitgenodigd. |
Een privéantwoord op een uitnodiging (een gift wrap, kind 1059, tag k=1925) |
De publieke sleutel van de ontvanger (de organisator, of uzelf in uw eigen kopie) en dat de envelop een agenda-antwoord bevat. Het gaat alleen naar de inbox-relays van de ontvanger, met een eenmalige sleutel, willekeurige datums en een vervaldatum, net als uitnodigingen. | Wie antwoordt, op welke afspraak en wat. |
| Verwijderen (kind 5) | Uw publieke sleutel en de identificatie van wat u verwijdert. | — |
Een relay dat NIP-42-authenticatie vraagt, leert uw publieke sleutel; Calendar beantwoordt zo'n verzoek alleen voor uw eigen afspraken op uw eigen relays, en voor het lezen van uw eigen inbox. Verwijderen op Nostr is een verzoek: een relay kan zijn kopie bewaren, nog steeds versleuteld.
Wat niets in de afspraken kan verbergen: elke uitnodiging vertrekt vanaf uw IP-adres, en elke gast haalt de afspraak vanaf zijn eigen adres op bij uw relays. Een relay dat de inboxen van meerdere van uw gasten bewaart, kan zien dat hun uitnodigingen van hetzelfde adres kwamen. Alleen Tor of een VPN verbergt dat.
Uw account
Calendar maakt geen accounts aan: u logt in met een Nostr-identiteit die u al hebt, op een van deze manieren.
- Met een ondertekenapp op uw Android-telefoon (NIP-55, zoals Amber): de sleutel blijft in die app, en Calendar praat er rechtstreeks mee op de telefoon, zonder relay of netwerk ertussen. Het apparaat bewaart alleen uw publieke sleutel en welke app ondertekent. Calendar vraagt hem hetzelfde als een bunker (zie hieronder), nooit de enveloppen van uitnodigingen, en controleert elke ondertekende afspraak die terugkomt voordat hij die gebruikt.
- Met uw sleutel (
nsec, of een met een wachtwoord beveiligdencryptsec, geopend op het apparaat): die wordt bewaard in de beveiligde opslag van het besturingssysteem, onder een eigen naam van Calendar. Herkos Mail bewaart zijn accounts apart, en Calendar leest, wijzigt of verwijdert ze nooit: uitloggen bij de ene app logt u niet uit bij de andere. - Met een
bunker://-link: de sleutel blijft in uw ondertekenapp. Calendar praat ermee via de relays die de link noemt, en vraagt hem alleen om uw publieke sleutel, om te versleutelen en ontsleutelen (NIP-44) en om de eigen kinds van Calendar te ondertekenen; de enveloppen van uitnodigingen gaan er nooit doorheen, want die dragen eenmalige sleutels. Het apparaat bewaart alleen de verbinding (een sleutel die ervoor is gemaakt, de publieke sleutel van de ondertekenaar en zijn relays). Die relays zien uw IP-adres, de sleutels van de verbinding en wanneer er om handtekeningen wordt gevraagd; de verzoeken zijn versleuteld. - Met Nostr Connect (een QR-code): zoals de bunker, maar de verbinding loopt via de relays in Instellingen → Relays. Calendar voegt geen eigen relay toe, en ook geen relay van iemand anders.
Uw relays. Bij het inloggen zoekt Calendar uw lijsten (NIP-65, kind 10002, en uw inboxlijst, kind 10050) op de relays in Instellingen → Relays, via een aparte verbinding die u niet identificeert: een relay dat om authenticatie vraagt, krijgt een eenmalige sleutel, niet de uwe. Vanaf dan:
- worden uw afspraken, lijsten en versleutelde instellingen gepubliceerd op uw NIP-65-schrijfrelays. Zonder die lijst, op die in Instellingen, en de accountpagina meldt u dat;
- worden uw uitnodigingen en antwoorden gelezen van uw lees- en inbox-relays. Calendar beantwoordt NIP-42-authenticatie alleen op uw eigen relays, en alleen voor wat van u is;
- maakt de app, als u hem opent terwijl u bent ingelogd, nergens verbinding mee tot er iets nodig is;
- laat elke synchronisatie, als Instellingen → Relays een relay bevat dat op
dit apparaat draait (een adres
ws://127.0.0.1ofws://localhost, zoals de app Citrine), daar ook een kopie achter van uw eigen afspraken, lijsten en verwijderingen, precies zoals ze zijn ondertekend en nog steeds versleuteld. Daarvoor verlaat niets het apparaat, en zolang een ander relay een afspraak heeft, is dit nooit het relay waarin uw gasten wordt gezegd te zoeken. Andere apps op het apparaat die dat relay lezen, zien wat elk relay ziet.
De relays van uw gasten (besloten op 21 oktober 2026). Om iemand uit te
nodigen, moet de app weten waar die persoon ontvangt. Calendar zoekt diens
lijsten (10002 en 10050) alleen op de relays in Instellingen → Relays,
nooit op de openbare index van een derde (zoals purplepag.es): die dienst zou
zien vanaf welk adres u vraagt en naar wie, dat wil zeggen wie u uitnodigt.
Elke gast wordt apart opgezocht, in willekeurige volgorde, via een eigen
verbinding met een eenmalige sleutel, zodat die relays niet kunnen zien wie
samen met wie is uitgenodigd. Wat ze wel zien, zijn uw IP-adres en de publieke
sleutel van elke persoon die u opzoekt. Staan iemands lijsten niet op die
relays, dan markeert de app die persoon vóór het verzenden met "geen bekende
inbox", en bereikt de uitnodiging die persoon niet. Om die te vinden, voegt u
aan Instellingen → Relays een relay toe waar die persoon zijn lijsten
publiceert.
Wat er tussen uw apparaten wordt gesynchroniseerd, altijd versleuteld voor
u en op uw schrijfrelays: uw agendalijsten (met de sleutels van hun afspraken),
herinneringsinstellingen (d=calendar-alarms), de agenda's die u volgt
(d=calendar-subscriptions) en de uitnodigingen die u negeert of de afspraken
van anderen die u uit uw agenda haalt (kind 30078, d=calendar-declined:
alleen welke afspraak en wanneer, nooit de titel ervan). Relays zien dat ze
bestaan en wanneer ze veranderen, niet wat erin staat. De herinneringen die het
apparaat laat afgaan, zijn die van het account waarmee u bent ingelogd, nooit
die van een eerder account.
De kopie van uw sleutels. Calendar biedt aan een kopie op te slaan: een bestand met uw agendalijsten en de sleutels van hun afspraken, versleuteld met een wachtwoord dat u ervoor kiest (de versleuteling van NIP-49). Het wordt alleen geschreven waar u het opslaat; het gaat naar geen enkel relay of server. De naam bevat de datum, nooit het account. Om u eraan te herinneren, onthoudt het apparaat maar twee datums: die van de laatste kopie en die van het laatste "Nu niet".
Uitloggen laat u eerst zien wat er verloren gaat en biedt aan de kopie op te slaan. Daarna verwijdert het van dit apparaat uw sleutel (of de verbinding met de bunker) en de bewaarde agenda. Wat gepubliceerd is, blijft versleuteld op de relays staan. De toestemming die u in uw ondertekenapp hebt gegeven, trekt u in die app in.
Openbaar omdat u ervoor kiest
Deze staan uit tot u ze inschakelt, en de app laat zien wat elk ervan prijsgeeft voordat u dat doet:
- Openbare afspraken (kinds 31922/31923): alles erin — titel, tijd, plaats, beschrijving — is openbaar, gekoppeld aan uw publieke sleutel, en blijft openbaar: een openbare afspraak kan niet meer privé worden gemaakt.
- De bezetlijst (kind 31926): de tijden waarop u bezet bent in deze maand en de volgende twee, afgerond op 30 minuten (of 15), voor de agenda's die u kiest. Nooit wat, waar of met wie. Uitschakelen vraagt de relays hem te verwijderen.
- Deellinks (
herkos.app/e/…): de link is de sleutel. Iedereen die hem heeft, kan die afspraak lezen tot u hem intrekt, en het eerste deel ervan toont uw publieke sleutel. De sleutel staat na#, een deel van het adres dat browsers nooit naar een server sturen, dus noch Cloudflare noch wij zien hem. De pagina bevraagt de relays die in de link staan; als een daarvan geen bekend relay is, vertelt ze de bezoeker welke server het is en vraagt ze het eerst voordat ze verbinding maakt, omdat die server het IP-adres van de bezoeker zou zien. Intrekken versleutelt de afspraak opnieuw met een nieuwe sleutel; wie ze al heeft gelezen, houdt wat hij heeft gelezen. - Exports (
.ics): een bestand in platte tekst met uw titels en tijden. Het is niet versleuteld; bewaar het zoals elk ander privédocument. - De automatische kopie (
.ics, op de pagina Exporteren naar .ics): eenmaal per dag dat Calendar open is, een export van al uw agenda's in een map die u kiest, waarbij de laatste 7 bewaard blijven. Net als een export is die niet versleuteld, dus alles wat die map kan lezen (een andere app, een cloudmap die hem synchroniseert) kan uw titels en tijden lezen. Calendar schrijft en verwijdert daar alleen zijn eigen bestanden (herkos-calendar-auto-…ics), en onthoudt de map alleen op dit apparaat. - Probleemrapporten (bèta): de app maakt alleen een tekst klaar die u zelf kopieert en verstuurt. Die bevat de appversie, het platform, de taal, de tijdzone en of herinneringen kunnen afgaan, nooit uw afspraken, uw sleutel of uw account.
Herkos Calendar leest openbare antwoorden op uw openbare afspraken die door andere apps zijn geschreven (RSVP's, kind 31925, en verwijderingen, kind 84); het schrijft geen van beide.
Wat u zelf opvraagt
Deze verbindingen ontstaan alleen wanneer u erom vraagt:
- Agenda's die u volgt via hun adres (
.icsofwebcal): het apparaat vraagt de agenda rechtstreeks op bij de server van dat adres, alleen via https, om de paar uur, zonder cookies en zonder tussenpersoon van ons. Die server ziet uw IP-adres en wanneer u vraagt, en iedereen met het adres kan de agenda lezen. De lijst met adressen wordt bewaard op uw apparaat en op uw relays, versleuteld voor u (kind 30078,d=calendar-subscriptions). - Openbare Nostr-agenda's die u volgt (een
naddr…-link): ze worden om de paar uur opgevraagd bij uw relays en bij de relays die de link noemt, nooit bij andere. Die relays zien uw IP-adres en welke agenda u leest. Ze staan in dezelfde versleutelde lijst. - Feestdagen: die zitten in de app; ze volgen vraagt geen enkele server om iets.
- "Kijk of ze vrij zijn" (in de editor, wanneer u erop tikt): de app vraagt de openbare bezetlijst (kind 31926) van elke gast op bij de relays waar die persoon publiceert, zonder zich te identificeren. Die relays zien uw IP-adres en naar wie u vraagt.
- Bestanden van een afspraak: die staan versleuteld op een Blossom-server. Als u er een opent, downloadt de app het van die server, die uw IP-adres en de identificatie van het bestand ziet, nooit de inhoud.
Herkos Notes: wat relays zien
Notes praat met Nostr-relays, en met niemand anders. Er is geen Herkos-server, geen pushserver en geen telemetrie. Elk relay ziet uw IP-adres en het tijdstip van elke verbinding.
Welke relays. Als uw account een lijst met privérelays heeft (kind 10013, de
lijst die NIP-37 beschrijft), gebruikt Notes de relays daarin, zoals ze zijn, en
overschrijft het die lijst nooit; het zoekt die lijst op de relays in zijn
Instellingen en op de relays waar u publiceert (uw NIP-65-lijst). Anders gebruikt
het de relays in zijn Instellingen: standaard relay.formstr.app, nos.lol en
relay.primal.net, hoogstens acht, allemaal aanpasbaar. De Instellingen bieden
ook een lijst met bekende relays om met één tik toe te voegen; met geen ervan
wordt contact gemaakt tenzij u het toevoegt. Een relay mag ws:// zijn, een
onversleutelde verbinding, alleen als het op het apparaat of het thuisnetwerk
staat (localhost, privéadressen, .local-namen): de notities reizen nog steeds
versleuteld, maar iedereen op dat netwerk kan zien wat het relay ziet (de tabel
hieronder). Notes publiceert geen eigen relaylijst, tenzij u erom vraagt
(Relays → Opslaan als mijn lijst met privérelays). Dan publiceert het deze
relays als uw 10013, versleuteld met uw sleutel, op dezelfde relays waar het de
lijsten zoekt, en houdt het die lijst bij met wat u in Notes verandert: relays
zien uw publieke sleutel, dat de lijst bestaat en wanneer die verandert, niet de
relays erin. Een lijst die een andere app heeft geschreven, wordt nooit
overschreven: Notes gebruikt die zoals hij is.
Draait een van deze relays op dit apparaat (een adres ws://127.0.0.1 of
ws://localhost, zoals de app Citrine), dan laat Notes daar ook een kopie
achter van uw notities, notitieboeken en verwijderingen, precies zoals ze zijn
ondertekend en nog steeds versleuteld. Daarvoor verlaat niets het apparaat;
Notes leest nooit van dat relay, en een notitie die alleen dat relay heeft,
telt niet als geüpload. Andere apps op het apparaat die dat relay lezen, zien
wat elk relay ziet.
| Wat | Wat de relays die het opslaan kunnen zien | Wat ze niet kunnen zien |
|---|---|---|
| Een notitie (kind 31234, NIP-37) | Uw publieke sleutel; een willekeurige identificatie (d), gemaakt van een willekeurig getal en nooit van de titel; de tag k=30023, op elke notitie dezelfde, dus die zegt niets over wat u schrijft; wanneer u de notitie voor het laatst hebt gewijzigd; en ongeveer hoe groot ze is. |
Titel, tekst, labels, notitieboek, of ze vastgezet is, favoriet of in de prullenbak, en wanneer u ze hebt aangemaakt. |
| Een controlepunt (kind 1234), de geschiedenis van de notitie | Uw publieke sleutel, bij welke notitie het hoort (de tag a ervan wijst naar de identificatie van de notitie) en wanneer het is gemaakt. |
Wat er toen in de notitie stond. |
| Uw notitieboeken (kind 30078) | Uw publieke sleutel, dat de lijst bestaat en wanneer die verandert. De identificatie ervan is afgeleid van uw publieke sleutel, dus die is op al uw apparaten dezelfde. | De namen van uw notitieboeken, hoeveel het er zijn en welke notities in elk ervan staan. |
| Verwijderen (kind 5) | Uw publieke sleutel en de identificaties van wat u verwijdert: de notitie en haar controlepunten. | — |
| Een notitie die u deelt (kind 1059, een NIP-59-gift wrap) | De publieke sleutel van het account waarvoor ze bestemd is (p); de tag k=30023; een datum die willekeurig tot twee dagen terug is gezet; ongeveer hoe groot ze is. Ze is ondertekend met een sleutel die ervoor is gemaakt en één keer wordt gebruikt, niet met de uwe. |
Wie haar stuurt, wanneer, haar titel en haar tekst. Binnenin zitten, verzegeld (kind 13) en alleen voor dat account versleuteld, uw publieke sleutel en de notitie: alleen dat account kan ze openen, en het ziet wie haar heeft gestuurd. |
Wat niet verborgen kan worden. De d en k van een notitie en de a van een
controlepunt moeten leesbaar zijn: relays hebben ze nodig om een notitie door haar
nieuwere versie te vervangen en om haar geschiedenis te vinden. Een relay kan dus
tellen hoeveel notities u hebt, en zien wanneer u elk ervan bewerkt en hoe
vaak. Notes maakt dat grover, niet onzichtbaar: het bewaart hoogstens één
controlepunt per notitie voor elk uur bewerken, één wanneer u een notitie sluit
die veranderd is, en één van elke kant wanneer u een conflict oplost, nooit één per
keer opslaan, zodat uw schrijfritme niet minuut voor minuut wordt gepubliceerd.
Waarom uw notities nooit verlopen. NIP-37-concepten mogen een tag expiration
dragen (het voorbeeld ervan gebruikt 90 dagen), en een relay dat die respecteert,
verwijdert de gebeurtenis op die datum. Voor een notitieboek zou dat betekenen dat
notities verloren gaan zonder dat iemand heeft gevraagd ze te verwijderen, dus
Notes schrijft die tag nooit. De keerzijde daarvan: uw notities blijven op de
relays staan, versleuteld, tot u ze verwijdert, en verwijderen op Nostr is een
verzoek: een relay kan zijn kopie bewaren.
Een notitie delen. Notes stuurt de kopie naar de relays waar het andere account
zegt te lezen (zijn NIP-17-relays, kind 10050, of anders de leesrelays van zijn
NIP-65-lijst), die het op uw relays zoekt, en naar uw eigen relays, hoogstens
acht. Wat er reist, is wat er in de notitie staat (titel, tekst en labels), niet
uw notitieboek, markeringen of prullenbak; wat u daarna verandert, wordt niet
verstuurd. Het andere account houdt zijn kopie: Notes kan die niet terughalen, en
als u uw notitie verwijdert, wordt die kopie niet verwijderd. Om te ontvangen
vraagt Notes uw relays om gift wraps die aan uw sleutel zijn gericht met
k=30023, en opent ze op het apparaat. Weggooien haalt er een alleen van het
apparaat: een gift wrap is ondertekend met een sleutel die niemand bewaart, dus
geen van u beiden kan de relays vragen hem te verwijderen, en hij blijft daar
staan, door niemand anders dan u te lezen.
Zoeken is lokaal. Alles is versleuteld, dus geen enkel relay kan voor u zoeken. Notes downloadt en ontsleutelt uw notities en bouwt de index op het apparaat; de woorden waarnaar u zoekt, worden nergens heen gestuurd.
Een relay dat NIP-42-authenticatie vraagt, leert uw publieke sleutel; Notes beantwoordt dat met uw account. Notes vraagt uw relays ook om concepten die andere apps met uw sleutel hebben geschreven (kinds 31234 en het oudere 30024), om ze alleen-lezen te tonen, en publiceert daarbij niets. Als u inlogt met een externe ondertekenaar (een bunker of Nostr Connect), dragen diens relays uw versleutelde ondertekeningsverzoeken, en vraagt Notes hem alleen de kinds hierboven te ondertekenen (ook het zegel van een gedeelde notitie, kind 13; de gift wrap ervan wordt op het apparaat ondertekend, met de sleutel voor eenmalig gebruik). Met een ondertekenapp op je Android-telefoon (NIP-55, zoals Amber) praat Notes er rechtstreeks mee op de telefoon, zonder relay ertussen, vraagt het hetzelfde en controleert elk ondertekend event dat terugkomt voordat het wordt gebruikt.
Herkos Local Relay: wat het bewaart en met wie het praat
Herkos Local Relay is een Nostr-relay dat op uw eigen apparaat draait, voor de Herkos-apps en elke andere Nostr-client. Er zit geen server van ons achter, en het stuurt ons niets.
Wat het bewaart, op het apparaat. De gebeurtenissen die uw apps ernaar
schrijven en die het van uw relays ophaalt, in een database die versleuteld is
met een sleutel die in de beveiligde opslag van het besturingssysteem staat.
Daarnaast: de apps die u hebt gekoppeld en wat elk ervan mag doen; zijn
instellingen (settings.json: de poort, het quotum, het opschonen, of het
sessielogboek aanstaat); en die van de kopieën (backups.json: hoe vaak, de
map, de publieke sleutel waarvoor de kopieën worden versleuteld en het zout
ervan, wanneer de laatste is gemaakt). Niets daarvan is geheim, en het
wachtwoord van de kopieën wordt nooit opgeslagen. Op Windows en Linux zegt
relay.json in de map van de app, zolang het relay draait, op welke poort het
luistert, zodat de Herkos-apps het kunnen vinden. De app verwijderen wist de
database, en de sleutel ervan wordt waardeloos.
Wie verbinding kan maken. Het luistert alleen op 127.0.0.1 (poort 4873,
tenzij u die wijzigt): niets buiten het apparaat kan het bereiken. Elke app op
het apparaat kan dat adres bereiken, dus een app of een webpagina moet
gekoppeld zijn, door u op het scherm goedgekeurd, voordat ze kan schrijven, en
een webpagina die niet gekoppeld is, wordt geweigerd. Als u een app intrekt,
wordt de verbinding ermee meteen verbroken. Privégebeurtenissen (concepten,
privélijsten, herinneringen, de verzegelde enveloppen die u ontvangt) worden
alleen gegeven aan wie met NIP-42 bewijst dat hij de sleutel heeft waartoe ze
behoren. Het lokale netwerk en Tor zijn nog niet beschikbaar; wanneer ze komen,
staan ze uit tot u ze inschakelt, en vereisen ze TLS of een onion-dienst,
authenticatie en een lijst met toegestane sleutels.
| Wie | Wat zij kunnen zien | Wanneer |
|---|---|---|
| Uw relays (die in uw NIP-65-lijst) | Uw IP-adres; uw publieke sleutel, wanneer een relay om NIP-42-authenticatie vraagt; de openbare gebeurtenissen die u via Herkos Local Relay publiceert; en, om te synchroniseren, naar welke van uw gebeurtenissen het vraagt. | Wanneer u publiceert, en wanneer het synchroniseert (met negentropy, NIP-77, waar het relay dat aanbiedt). |
| De inbox-relays van degene naar wie u schrijft (diens NIP-17-lijst, kind 10050, of anders de leesrelays van diens NIP-65-lijst) | Uw IP-adres en de verzegelde envelop (NIP-59) die aan die persoon is gericht, verstuurd na een willekeurige wachttijd. Die wordt nooit naar uw eigen relays gestuurd. | Wanneer een app er een privébericht of privé-uitnodiging via verstuurt. |
Om te vinden waar iemand ontvangt, vraagt het dat aan uw relays. Uw privégebeurtenissen (concepten, privélijsten, herinneringen) verlaten het apparaat nooit. Het maakt nooit zijn eigen adres bekend (het staat in niemands NIP-65-lijst), zijn NIP-11-document zegt niet wie u bent, en er zijn geen analytics, geen telemetrie en geen crashrapporten. Op Android draait het als een dienst met een melding en de knop Stoppen daarin; het slaapt na 10 minuten zonder verbindingen, en een Herkos-app wekt het op het apparaat zelf, zonder pushserver.
Het sessielogboek staat standaard uit. Als u het inschakelt, wordt het alleen in het geheugen bewaard, de laatste 500 regels, en gewist wanneer het relay stopt: verbindingen, NIP-42-authenticatie, aangenomen of geweigerde gebeurtenissen en de gevraagde kinds, per kind en het begin van hun id, nooit hun inhoud.
Kopieën. De versleutelde kopie van de hele opslag wordt alleen geschreven waar u kiest: een map op het apparaat of op een externe schijf. Een map van een cloudclient (OneDrive, Google Drive, Dropbox, iCloud, Nextcloud, Herkos Drive…) wordt geweigerd. Ze wordt versleuteld met een eigen wachtwoord (scrypt en XChaCha20-Poly1305); de geplande kopieën voor de publieke sleutel die dat wachtwoord oplevert, zodat ze zonder het wachtwoord worden gemaakt. De laatste zeven worden bewaard. Zonder het wachtwoord kan niemand een kopie openen, ook wij niet, en als u het kwijtraakt, is de kopie verloren. De JSONL-export is niet versleuteld: die bevat uw privégebeurtenissen in platte tekst, en de app zegt dat voordat hij hem schrijft.
Opschonen verwijdert alleen gebeurtenissen van anderen: nooit de uwe, de enveloppen voor u of de kinds die uw apps beschermen; op basis van het quotum alleen na een kopie van de afgelopen dag. En zoals overal op Nostr is verwijderen een verzoek: wat al naar andere relays is gegaan, kan daar blijven staan.
Onze websites en Cloudflare
herkos.app (inclusief herkos.app/e/), app.herkos.app (de webversie van Mail), calendar.herkos.app en notes.herkos.app (de webversies van Calendar en Notes, zodra die gepubliceerd zijn) en fdroid.herkos.app (onze F-Droid-repository) zijn statische bestanden die worden geleverd door Cloudflare (Cloudflare Pages en R2). Zoals elke webhost ontvangt Cloudflare uw IP-adres, de user-agent van uw browser, het adres dat u opvraagt (zonder het deel na #) en het tijdstip, en het kan die in zijn logs bewaren volgens zijn eigen privacybeleid.
Wij plaatsen geen cookies en gebruiken geen analytics; de pagina's en de eigen bestanden van de webapps komen alleen van deze domeinen (daarna maken de webapps verbinding met de hierboven beschreven relays en servers), en wij bekijken geen logs per bezoeker. Downloads via Releases komen van GitHub, dat hetzelfde soort gegevens ziet onder zijn eigen beleid.
Openbaar van opzet
Nostr is een openbaar netwerk. Het volgende is zichtbaar voor iedereen die de relays bevraagt die u gebruikt, en is gekoppeld aan uw publieke sleutel:
- uw profiel (naam, afbeelding) en uw relay- en Blossom-serverlijsten;
- de NIP-32-labelgebeurtenissen die Herkos Mail publiceert wanneer u een e-mail als gelezen markeert, een ster geeft, archiveert of naar een map verplaatst — inclusief de naam van eigen mappen. Wie u een e-mail heeft gestuurd en het id ervan kent, kan dus zien wanneer u hem hebt gelezen. We zijn van plan deze te versleutelen; tot die tijd: wees u ervan bewust;
- in Herkos Calendar alleen wat u openbaar maakt (zie hierboven);
- in Herkos Notes helemaal geen inhoud, alleen het hierboven beschreven patroon: hoeveel notities u hebt en wanneer u ze bewerkt;
- via Herkos Local Relay alleen de openbare gebeurtenissen die uw apps publiceren, zoals bij elk relay.
Uw keuzes en rechten
- Al het bovenstaande staat onder uw controle in Instellingen → Netwerk en servers (relays, DM-relays, Blossom-servers, bridges) en Instellingen → Meldingen; in Herkos Calendar bepaalt u zelf de relays, de bezetlijst en elke deellink (Delen via link → Link intrekken); in Herkos Notes de relays (in de Instellingen ervan, of in uw eigen lijst met privérelays).
- In Herkos Local Relay staan de gekoppelde apps en wat elk ervan mag doen, de poort, het quotum, het opschonen, het sessielogboek en de kopieën in de eigen schermen ervan.
- Uitloggen bij Herkos Notes verwijdert de notities op dat apparaat, maar eerst verstuurt het wat alleen daar staat en vertelt het u hoeveel notities u zou verliezen; de notities op de relays blijven staan, en komen terug wanneer u opnieuw inlogt.
- U kunt uw sleutel exporteren, een account verwijderen (wat relays ook vraagt uw gegevens te wissen, NIP-62) of de app op elk moment opnieuw instellen.
- Omdat wij geen persoonsgegevens bewaren, kunnen wij verzoeken om inzage, rectificatie of wissing niet zelf beantwoorden; richt ze aan de beheerder van de betreffende relay, bridge, pushserver of webhost. Wij helpen u die te vinden.
- Herkos is niet bedoeld voor kinderen onder de 16 jaar.
Wijzigingen
Wij wijzigen dit document wanneer het gedrag van de app verandert, en noteren de
datum bovenaan. De bron van waarheid is PRIVACY.md in de repository; de
gepubliceerde pagina is daar een kopie van.
Contact: privacy@herkos.email · https://herkos.app
Andere talen
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 · 中文 · Ελληνικά · हिन्दी · 日本語 · 한국어 · Русский · Українська