Політика конфіденційності Herkos
Останнє оновлення: 29 жовтня 2026 року. Канонічна адреса: https://herkos.app/privacy
Переклад. Це переклад, наданий для зручності. У разі розбіжностей переважну силу має англійська версія.
Herkos Mail, Herkos Calendar, Herkos Notes і Herkos Local Relay — вільні застосунки з відкритим кодом для мережі Nostr, які видає проєкт Herkos («ми»). Herkos Calendar, Herkos Notes і Herkos Local Relay ще перебувають у розробці. Цей документ пояснює, які дані обробляють застосунки та наші сайти, куди вони йдуть і хто може їх бачити. Ми писали його, щоб його читали, а не проглядали побіжно: якщо щось тут вас здивує, напишіть нам на privacy@herkos.email.
Коротка версія
- Herkos не має системи облікових записів, власного сервера й аналітики. Ми не отримуємо ні ваших повідомлень, ні подій, ні нотаток, ні контактів, ні ключа, ні відомостей про те, як ви користуєтеся застосунком.
- Ваш відкритий ключ Nostr — це ваша особистість у мережі. Усе, що ви публікуєте в Nostr (профіль, списки релеїв, мітки), прив'язане до нього й видиме релеям, якими ви користуєтеся.
- Пошта між користувачами Nostr зашифрована наскрізним шифруванням (NIP-17). Пошта на звичайні адреси та з них проходить через міст (bridge), який може її прочитати.
- Деякі необов'язкові функції надсилають дані третім особам (push-сповіщення, відкладене надсилання). Вони вимкнені, доки ви їх не ввімкнете, і цей документ називає кожну з них.
- Події календаря шифруються на вашому пристрої. Релеї бачать, що у вас є події, приблизно якого вони розміру й коли вони змінюються, але не те, що в них написано. Публічні події, список зайнятості та посилання для спільного доступу стають публічними за вашим вибором, кожне окремо. Щоб дізнатися, де отримують пошту ваші гості, Calendar питає лише ваші релеї, ніколи — сторонній індекс.
- Нотатки шифруються на вашому пристрої для вашого власного ключа. Релеї не можуть їх прочитати, але бачать, скільки у вас нотаток і коли ви редагуєте кожну з них. Пошук виконується на вашому пристрої: слова, які ви шукаєте, ніколи його не залишають. Нотатка, якою ви ділитеся, надходить лише до вибраного вами облікового запису, запечатана: релеї не бачать ні того, хто її надіслав, ні того, що в ній.
- Herkos Local Relay зберігає ваші події на вашому пристрої, зашифровані, і
слухає лише там (
127.0.0.1). Він спілкується лише з вашими релеями та з вхідними релеями людей, яким ви пишете; приватні події ніколи не залишають пристрій. Його копії йдуть лише до вибраної вами папки, ніколи — у хмару. - Наші сайти (
herkos.appі його піддомени) обслуговує Cloudflare, який, як і будь-який вебхостинг, бачить вашу IP-адресу. Вони не встановлюють cookie і не використовують аналітики.
Дані, що залишаються на вашому пристрої
- Ваш приватний ключ (nsec) при вході з його допомогою зберігається в захищеному сховищі операційної системи (Android Keystore, зв'язка ключів iOS/macOS, диспетчер облікових даних Windows, libsecret у Linux, зашифроване локальне сховище у вебверсії). Якщо ви входите через віддалений застосунок для підпису («bunker» NIP-46), ключ взагалі не потрапляє на пристрій.
У браузері такого захищеного сховища немає. Ключ зберігається в локальному сховищі сайту й щоразу під час підписання проходить через JavaScript, тож розширення з доступом до всіх сторінок, вразливість XSS або підмінене розгортання можуть його прочитати; і, на відміну від встановленого застосунку, вебсторінка щоразу віддає новий код. У вебверсії користуйтеся віддаленим застосунком для підпису або особою, яку не шкода втратити.
- Ваша поштова скринька: розшифровані листи, вкладення, мітки, папки та
контакти кешуються в локальній базі даних, щоб застосунок працював без мережі.
Ця база не зашифрована понад те, що надає операційна система; блокування
застосунку (PIN або біометрія) — це бар'єр зручності, а не шифрування даних у
спокої. В Android застосунок виключено з хмарних резервних копій і копіювання
між пристроями.
- PIN блокування застосунку: зберігається як хеш із сіллю та розтягуванням
ключа (PBKDF2), ніколи у відкритому вигляді. Herkos Calendar і Herkos Notes
мають кожен власний PIN, який зберігається так само.
- Ваш календар (Herkos Calendar): події, списки, ключі перегляду й
нагадування, які ви можете читати, кешуються на пристрої, зашифровані запис
за записом ключем, що зберігається в захищеному сховищі операційної системи.
У браузері календар зберігається лише в пам'яті й щоразу заново завантажується
з релеїв. Нагадування подає сам пристрій: Calendar не використовує
push-сервер. Якщо ви вирішите приховувати назви в нагадуваннях, вони
повідомлятимуть лише «Подія» і коли вона починається. Ваш ключ Calendar
зберігається окремо від ключів Herkos Mail (див. «Ваш обліковий запис» у
розділі про Calendar).
- Ваші нотатки (Herkos Notes): нотатки, їхня історія, блокноти й пошуковий
індекс кешуються на пристрої, зашифровані запис за записом ключем, що
зберігається в захищеному сховищі операційної системи. У браузері вони
зберігаються так само, у сховищі браузера для сайту (IndexedDB), а ключ теж
лежить у браузері: на комп'ютері, яким користуються й інші, це мало захищає.
Якщо браузер нічого не зберігає для сайту (приватне вікно, заблоковані дані
сайту), вони зберігаються лише в пам'яті, і без з'єднання писати не можна.
Нотатка, яку ви заблокуєте, отримує власний пароль; без нього ніхто не може
відкрити цю нотатку, зокрема й ми. Резервна копія ваших нотаток — це файл,
який записується лише туди, куди ви його зберігаєте, і шифрується власним
паролем. Автоматична копія, яка створюється щотижня, якщо ви її не
вимкнете, — це файл у папці на пристрої (Herkos Notes/backups у ваших
Документах), зашифрований ключем вашого облікового запису; зберігаються
останні п'ять, і вона нікуди не надсилається (у браузері її немає). Нотатки,
якими з вами діляться інші облікові записи, чекають в «Отримані від інших» на
пристрої, зашифровані, як і решта, доки ви їх не збережете або не відхилите.
- Ваш релей (Herkos Local Relay): його події, спряжені застосунки, його налаштування і куди йдуть його копії; див. його власний розділ нижче.
Усе це можна стерти в Налаштування → Більше → Скинути застосунок або видаливши обліковий запис.
Дані, що залишають ваш пристрій, і кому вони йдуть
Ця таблиця стосується Herkos Mail. Herkos Calendar, Herkos Notes і Herkos Local Relay мають власні розділи нижче.
| Одержувач | Що він бачить | Коли |
|---|---|---|
| Релеї Nostr (типовий список у Налаштування → Мережа, змінюваний) | Вашу IP-адресу, ваш відкритий ключ, події, які ви публікуєте (профіль, списки релеїв, список серверів Blossom, мітки NIP-32, зашифровані налаштування), і адресовані вам зашифровані «gift wrap» разом із часом. Вміст gift wrap релеї прочитати не можуть. Релей, який вимагає автентифікації NIP-42, дізнається ваш відкритий ключ, навіть якщо ви лише читаєте. | Завжди, доки застосунок синхронізується. В Android — також із закритим застосунком, приблизно кожні 15 хвилин, коли фонова перевірка замінює push-сервер. |
| Сервери Blossom (змінювані) | Вашу IP-адресу та відкритий ключ, а також зашифровані блоби листів понад 32 КБ і їхніх вкладень. Ключ для розшифрування блоба передається лише всередині зашифрованого повідомлення. | Коли ви надсилаєте або відкриваєте великий лист. |
Мости (типово uid.ovh, змінювані) |
Повний вміст будь-якого листа, який ви надсилаєте на звичайну адресу (Gmail, Outlook…) або отримуєте з неї, і псевдонім ім'я@bridge, який ви реєструєте. Мости — незалежні оператори з власними умовами конфіденційності; Herkos їх не обслуговує. |
Коли ви користуєтеся особистістю @bridge або пишете на адресу поза Nostr. |
| Сервери NIP-05 (домен адреси, яку ви вводите) | Що хтось запитав, чи є ім'я@домен користувачем Nostr. |
Коли ви додаєте одержувача користувач@домен. |
Push-сервер (api.nmail.li за замовчуванням, його веде початковий проєкт Nostr Mail; змінюється в Налаштуваннях → Сповіщення, де його можна й повністю вимкнути) |
Ваш відкритий ключ, push-токен пристрою (кінцева точка UnifiedPush), мову сповіщень і — оскільки він стежить за релеями замість вас — коли ви отримуєте пошту (але не що в ній). | Лише якщо ви ввімкнете сповіщення для облікового запису. Вимкнення просить сервер видалити підписку. Під час зміни сервера те саме просять у попереднього сервера. |
DVM планувальника (сервіс Nostr, який обслуговує третя сторона, див. NostrConfig.schedulerDvm) |
Ваш відкритий ключ, уже зашифровані повідомлення для публікації, їхні релеї призначення та запланований час. | Лише якщо ви користуєтеся функцією «надіслати пізніше». |
Віддалений застосунок для підпису / релеї для NIP-46 (relay.nsec.app і резервні) |
Ваш відкритий ключ і зашифровані запити на підпис. | Лише якщо ви входите через bunker або застосунок для підпису. |
| Сервери зображень (будь-який сервер, на який вказує профіль або лист) | Вашу IP-адресу та момент, коли зображення завантажується. Зображення профілю завантажується з адреси, яку його власник вказав у своєму профілі, лише якщо ви ввімкнете Завантажувати фото профілю (зображення ваших власних облікових записів завантажуються завжди); тоді той, хто керує цим сервером, може дізнатися, коли ви переглядали повідомлення або контакт цієї людини. Зображення в листах типово заблоковані; щойно ви їх завантажите (Завантажити зображення або налаштування Завжди завантажувати зображення), їхні сервери, часто сервер відправника, дізнаються, що ви відкрили лист, і коли. Фонове зображення, яке ви додаєте за його адресою, завантажується з цього сервера. | Зображення профілю: лише якщо ви їх увімкнете (ваші — завжди). Зображення в листах: лише якщо ви їх завантажите. |
Сам Herkos не отримує нічого з цього. Немає ані звітів про збої, ані телеметрії.
Herkos Calendar: що бачать релеї
Calendar спілкується з релеями Nostr: з релеями вашого облікового запису (ваші списки NIP-65 і вхідних релеїв), з релеями в Налаштування → Релеї (змінюваними) і, коли ви когось запрошуєте або відповідаєте на запрошення, з вхідними релеями цієї людини. Більше ні з ким, крім того, що ви запитуєте самі (нижче): і з публічними індексами релеїв теж ні. «Ваш обліковий запис» нижче пояснює, для чого потрібен кожен із них. Немає ні сервера Herkos, ні push-сервера, ні телеметрії. Кожен релей бачить вашу IP-адресу і час кожного з'єднання.
| Що | Що бачать релеї, які це зберігають | Чого вони не бачать |
|---|---|---|
| Приватна подія (kind 32678) | Ваш відкритий ключ, те, що це подія календаря (її kind), випадковий ідентифікатор, коли ви її створили чи востаннє змінили, і приблизно її розмір. Вона зберігається лише на ваших релеях, де її шукають ваші гості; ніколи — на їхніх. | Назву, дату й час, часовий пояс, повторення, місце, опис, гостей, нагадування. |
Ваші списки календарів (kind 32123) і налаштування нагадувань (kind 30078, d=calendar-alarms) |
Ваш відкритий ключ, те, що вони існують, і коли вони змінюються. | Які події вони містять, їхні назви, ключі перегляду, ваші нагадування. |
| Запрошення («gift wrap», kind 1059) | Відкритий ключ гостя і тег k=1052, який каже, що в конверті лежить запрошення до календаря (саме так календарні застосунки, зокрема Formstr, знаходять запрошення, не відкриваючи вашу пошту). Воно надсилається лише на власні вхідні релеї гостя, під одноразовим ключем, із власними випадковими часовими мітками, а запрошення на ту саму подію виходять у випадковому порядку, кожне через 5–90 секунд після попереднього (перше — після самої події). Конверт також містить дату закінчення терміну, вибрану випадково між 60 і 90 днями після надсилання, щоб релеї могли його видалити: вона нічого не каже про те, коли подія. |
Хто його надіслав, про яку подію йдеться і кого ще запросили. |
Приватна відповідь на запрошення (gift wrap, kind 1059, тег k=1925) |
Відкритий ключ отримувача (організатора або ваш — у вашій власній копії) і те, що в конверті відповідь календаря. Надсилається лише на вхідні релеї отримувача, з одноразовим ключем, випадковими датами й терміном дії, як запрошення. | Хто відповідає, на яку подію і що. |
| Видалення (kind 5) | Ваш відкритий ключ та ідентифікатор того, що ви видаляєте. | — |
Релей, який вимагає автентифікації NIP-42, дізнається ваш відкритий ключ; Calendar відповідає на такий запит лише для ваших власних подій на ваших власних релеях і для читання ваших власних вхідних. Видалення в Nostr — це прохання: релей може зберегти свою копію, як і раніше зашифровану.
Чого ніщо в подіях не приховає: кожне запрошення виходить з вашої IP-адреси, а кожен гість забирає подію з ваших релеїв зі своєї. Релей, що зберігає вхідні кількох ваших гостей, може зрозуміти, що їхні запрошення прийшли з однієї адреси. Приховати це може лише Tor або VPN.
Ваш обліковий запис
Calendar не створює облікових записів: ви входите з обліковим записом Nostr, який у вас уже є, одним із цих способів.
- Через застосунок для підпису на вашому телефоні Android (NIP-55, наприклад Amber): ключ лишається в цьому застосунку, і Calendar спілкується з ним напряму на телефоні, без релея чи мережі між ними. Пристрій зберігає лише ваш відкритий ключ і те, який застосунок підписує. Calendar просить у нього те саме, що й у bunker (див. нижче), ніколи — конверти запрошень, і перевіряє кожну підписану подію, що повертається, перш ніж її використати.
- Із вашим ключем (
nsecабо захищений паролемncryptsec, який відкривається на пристрої): він зберігається в захищеному сховищі операційної системи під власною назвою Calendar. Herkos Mail зберігає свої облікові записи окремо, і Calendar ніколи їх не читає, не змінює й не видаляє: вихід з одного застосунку не виводить вас з іншого. - Через посилання
bunker://: ключ залишається у вашому застосунку для підпису. Calendar спілкується з ним через релеї, указані в посиланні, і просить у нього лише ваш відкритий ключ, шифрування й розшифрування (NIP-44) та підпис власних kinds подій Calendar; конверти запрошень через нього ніколи не проходять, бо вони мають одноразові ключі. Пристрій зберігає лише з'єднання (ключ, створений для нього, відкритий ключ застосунку для підпису та його релеї). Ці релеї бачать вашу IP-адресу, ключі з'єднання і коли запитуються підписи; самі запити зашифровані. - Через Nostr Connect (QR-код): як із bunker, але з'єднання йде через релеї в Налаштування → Релеї. Calendar не додає жодного релея ні свого, ні чийогось іще.
Ваші релеї. Під час входу Calendar шукає ваші списки (NIP-65, kind 10002, і ваш список вхідних релеїв, kind 10050) на релеях у Налаштування → Релеї через окреме з'єднання, яке вас не ідентифікує: релей, що вимагає автентифікації, отримує одноразовий ключ, а не ваш. Відтак:
- ваші події, списки й зашифровані налаштування публікуються на ваших релеях для запису зі списку NIP-65. Без цього списку — на релеях із Налаштувань, і сторінка облікового запису про це повідомляє;
- ваші запрошення й відповіді читаються з ваших релеїв для читання та вхідних релеїв. Calendar відповідає на автентифікацію NIP-42 лише на ваших власних релеях і лише для того, що належить вам;
- після відкриття з виконаним входом застосунок нікуди не під'єднується, доки щось не знадобиться;
- якщо в Налаштування → Релеї є релей, що працює на цьому пристрої (адреса
ws://127.0.0.1абоws://localhost, наприклад застосунок Citrine), кожна синхронізація також залишає на ньому копію ваших власних подій, списків і видалень — точно такими, якими їх було підписано, і досі зашифрованими. Для цього ніщо не покидає пристрій, і поки подія є на іншому релеї, цей релей ніколи не буде тим, де вашим гостям кажуть її шукати. Інші застосунки на пристрої, які читають цей релей, бачать те саме, що бачить будь-який релей.
Релеї ваших гостей (рішення від 21 жовтня 2026 року). Щоб когось
запросити, застосунку треба знати, де ця людина отримує пошту. Calendar
шукає її списки (10002 і 10050) лише на релеях у Налаштування → Релеї,
ніколи — у публічному індексі третьої сторони (як-от purplepag.es): цей
сервіс побачив би адресу, з якої ви питаєте, і про кого ви питаєте, тобто
кого ви запрошуєте. Кожного гостя шукають окремо, у випадковому порядку,
через власне з'єднання з одноразовим ключем, тож ці релеї не можуть
зрозуміти, кого запрошено разом із ким. Натомість вони бачать вашу IP-адресу
та відкритий ключ кожної людини, яку ви шукаєте. Якщо чиїхось списків на цих
релеях немає, застосунок перед надсиланням позначає цю людину як «вхідні
невідомі», і запрошення до неї не доходить. Щоб її знайти, додайте в
Налаштування → Релеї релей, де вона публікує свої списки.
Що синхронізується між вашими пристроями, завжди зашифроване для вас і на
ваших релеях для запису: ваші списки календарів (із ключами їхніх подій),
налаштування нагадувань (d=calendar-alarms), календарі, на які ви підписані
(d=calendar-subscriptions), і запрошення, які ви ігноруєте, або чужі події,
які ви прибираєте зі свого календаря (kind 30078, d=calendar-declined: лише
яка подія і коли, ніколи — її назва). Релеї бачать, що вони існують і коли
змінюються, але не що в них написано. Нагадування, які подає пристрій,
належать обліковому запису, з яким ви ввійшли, ніколи — попередньому.
Копія ваших ключів. Calendar пропонує зберегти копію: файл із вашими списками календарів і ключами їхніх подій, зашифрований паролем, який ви для нього обираєте (шифром NIP-49). Він записується лише туди, куди ви його зберігаєте; він не йде на жоден релей чи сервер. Його назва містить дату, ніколи — обліковий запис. Для нагадування пристрій пам'ятає лише дві дати: останньої копії та останнього «Не зараз».
Вихід спершу показує, що буде втрачено, і пропонує зберегти копію. Потім він видаляє з цього пристрою ваш ключ (або з'єднання з bunker) і збережений календар. Те, що було опубліковано, залишається на релеях, зашифроване. Дозвіл, який ви дали у своєму застосунку для підпису, відкликається в тому застосунку.
Публічне за вашим вибором
Ці функції вимкнені, доки ви їх не ввімкнете, і застосунок перед цим показує, що розкриває кожна з них:
- Публічні події (kinds 31922/31923): усе, що в них є, — назва, час, місце, опис — публічне, пов'язане з вашим відкритим ключем і залишається публічним: публічну подію не можна знову зробити приватною.
- Список зайнятості (kind 31926): час, коли ви зайняті цього місяця і наступних двох, округлений до 30 хвилин (або 15), для вибраних вами календарів. Ніколи — що, де чи з ким. Вимкнення просить релеї його видалити.
- Посилання для спільного доступу (
herkos.app/e/…): посилання і є ключ. Будь-хто, у кого воно є, може читати цю подію, доки ви його не відкличете, а його перша частина показує ваш відкритий ключ. Ключ стоїть після#— у тій частині адреси, яку браузери ніколи не надсилають на сервер, тож ні Cloudflare, ні ми його не бачимо. Сторінка звертається до релеїв, указаних у посиланні; якщо якийсь із них не є широко відомим релеєм, вона повідомляє відвідувачеві, що це за сервер, і питає перед з'єднанням, бо цей сервер побачить IP-адресу відвідувача. Відкликання перешифровує подію новим ключем; хто вже її прочитав, зберігає прочитане. - Експорт (
.ics): звичайний текстовий файл із вашими назвами й часом. Він не зашифрований; зберігайте його як будь-який інший особистий документ. - Автоматична копія (
.ics, на сторінці Експорт у .ics): раз на день, коли Calendar відкритий, — експорт усіх ваших календарів у вибрану вами папку зі збереженням 7 останніх. Як і експорт, вона не зашифрована, тож усе, що може читати цю папку (інший застосунок, хмарна папка, яка її синхронізує), може прочитати ваші назви й час. Calendar записує й видаляє там лише власні файли (herkos-calendar-auto-…ics) і запам'ятовує папку лише на цьому пристрої. - Звіти про проблеми (бета): застосунок лише готує текст, який ви копіюєте й надсилаєте самі. Він містить версію застосунку, платформу, мову, часовий пояс і те, чи можуть спрацьовувати нагадування, але ніколи — ваші події, ваш ключ чи ваш обліковий запис.
Herkos Calendar читає публічні відповіді на ваші публічні події, написані іншими застосунками (RSVP, kind 31925, і вилучення учасників, kind 84); сам він не пише ні того, ні іншого.
Що ви запитуєте самі
Ці з'єднання відбуваються, лише коли ви про них просите:
- Календарі, на які ви підписані за адресою (
.icsабоwebcal): пристрій запитує календар безпосередньо в сервера за цією адресою, лише через https, кожні кілька годин, без cookie і без жодного нашого посередника. Сервер бачить вашу IP-адресу й час запиту, а будь-хто, хто має адресу, може читати календар. Список адрес зберігається на вашому пристрої та на ваших релеях, зашифрований для вас (kind 30078,d=calendar-subscriptions). - Публічні календарі Nostr, на які ви підписані (посилання
naddr…): запитуються кожні кілька годин у ваших релеїв і в релеїв, указаних у посиланні, і ні в яких інших. Ці релеї бачать вашу IP-адресу і який календар ви читаєте. Вони зберігаються в тому самому зашифрованому списку. - Свята: вбудовані в застосунок; підписка на них нічого не запитує в жодного сервера.
- «Перевірити, чи вони вільні» (у редакторі, коли ви натискаєте): застосунок запитує публічний список зайнятості (kind 31926) кожного гостя в релеїв, на яких ця людина публікує, не називаючи себе. Ці релеї бачать вашу IP-адресу і про кого ви питаєте.
- Файли події: зберігаються в зашифрованому вигляді на сервері Blossom. Коли ви відкриваєте файл, застосунок завантажує його з цього сервера, який бачить вашу IP-адресу та ідентифікатор файлу, але ніколи — його вміст.
Herkos Notes: що бачать релеї
Notes спілкується з релеями Nostr і більше ні з ким. Немає ні сервера Herkos, ні push-сервера, ні телеметрії. Кожен релей бачить вашу IP-адресу і час кожного з'єднання.
Які релеї. Якщо ваш обліковий запис має приватний список релеїв (kind
10013, список, який описує NIP-37), Notes використовує релеї з нього такими, як
вони є, і ніколи його не перезаписує; цей список він шукає на релеях зі своїх
налаштувань і на релеях, де ви публікуєте (ваш список NIP-65). Інакше він
використовує релеї зі своїх налаштувань: типово relay.formstr.app, nos.lol
і relay.primal.net, не більше восьми, і всі їх можна змінити. У налаштуваннях
також є список відомих релеїв, які можна додати одним дотиком; жоден із них не
отримує запитів, доки ви його не додасте. Релей може використовувати ws://,
тобто з'єднання без шифрування, лише якщо він на пристрої або в домашній мережі
(localhost, приватні адреси, імена .local): нотатки й тоді передаються
зашифрованими, але будь-хто в цій мережі може бачити те, що бачить релей
(таблиця нижче). Notes не публікує власного списку релеїв, якщо ви його про це
не попросите (Реле → Зберегти як мій список особистих реле). Тоді він публікує
ці релеї як ваш список 10013, зашифрований вашим ключем, на тих самих релеях, де
шукає списки, і оновлює його відповідно до того, що ви змінюєте в Notes: релеї
бачать ваш відкритий ключ, те, що список існує, і коли він змінюється, але не
релеї в ньому. Список, який написав інший застосунок, ніколи не перезаписується:
Notes використовує його таким, як він є.
Якщо одне з цих реле працює на цьому пристрої (адреса ws://127.0.0.1 або
ws://localhost, наприклад застосунок Citrine), Notes залишає на ньому й
копію ваших нотаток, блокнотів і видалень — саме такими, якими їх було
підписано, і досі зашифрованими. Для цього ніщо не залишає пристрій; Notes
ніколи не читає з цього реле, а нотатка, яка є лише на ньому, не вважається
завантаженою. Інші застосунки на пристрої, що читають це реле, бачать те саме,
що бачить будь-яке реле.
| Що | Що бачать релеї, які це зберігають | Чого вони не бачать |
|---|---|---|
| Нотатка (kind 31234, NIP-37) | Ваш відкритий ключ; випадковий ідентифікатор (d), створений із випадкового числа й ніколи — з назви; тег k=30023, однаковий у всіх нотатках, тож він нічого не каже про те, що ви пишете; коли ви востаннє її змінили; і приблизно її розмір. |
Назву, текст, мітки, блокнот, чи вона закріплена, чи в обраному, чи в кошику, і коли ви її створили. |
| Контрольна точка (kind 1234), історія нотатки | Ваш відкритий ключ, до якої нотатки вона належить (її тег a вказує на ідентифікатор нотатки) і коли її створено. |
Що було написано в нотатці тоді. |
| Ваші блокноти (kind 30078) | Ваш відкритий ключ, те, що список існує, і коли він змінюється. Його ідентифікатор виводиться з вашого відкритого ключа, тож він однаковий на всіх ваших пристроях. | Назви ваших блокнотів, скільки їх і які нотатки в кожному. |
| Видалення (kind 5) | Ваш відкритий ключ та ідентифікатори того, що ви видаляєте: нотатки та її контрольних точок. | — |
| Нотатка, якою ви ділитеся (kind 1059, gift wrap NIP-59) | Відкритий ключ облікового запису, для якого вона призначена (p); тег k=30023; дату, випадково зсунуту назад на строк до двох днів; приблизно її розмір. Її підписано ключем, створеним для неї й використаним один раз, а не вашим. |
Хто її надіслав, коли, її назву й текст. Усередині, запечатані (kind 13) і зашифровані лише для того облікового запису, лежать ваш відкритий ключ і нотатка: відкрити їх може лише той обліковий запис, і він дізнається, хто її надіслав. |
Чого не приховати. d і k нотатки та a контрольної точки мають бути
читабельними: вони потрібні релеям, щоб замінювати нотатку її новішою версією
й знаходити її історію. Тож релей може порахувати, скільки у вас нотаток, і
побачити, коли ви редагуєте кожну з них і як часто. Notes робить цю картину
грубішою, але не невидимою: він зберігає щонайбільше одну контрольну точку на
нотатку за кожну годину редагування, одну — коли ви закриваєте змінену
нотатку, і по одній для кожної сторони, коли ви розв'язуєте конфлікт, але
ніколи — по одній на кожне збереження, тож ритм вашого письма не публікується
щохвилини.
Чому термін ваших нотаток ніколи не спливає. Чернетки NIP-37 можуть мати
тег expiration (у його прикладі — 90 днів), і релей, який його дотримується,
видаляє подію в цю дату. Для блокнота це означало б втрату нотаток, видалити
які ніхто не просив, тож Notes ніколи його не записує. Зворотний бік: ваші
нотатки залишаються на релеях, зашифровані, доки ви їх не видалите, а
видалення в Nostr — це прохання: релей може зберегти свою копію.
Як ділитися нотаткою. Notes надсилає копію на релеї, з яких, за даними
іншого облікового запису, той читає (його релеї NIP-17, kind 10050, або ж релеї
для читання з його списку NIP-65; Notes шукає їх на ваших релеях), а також на
ваші власні релеї, щонайбільше вісім. Передається те, що є в нотатці (назва,
текст і мітки), а не ваш блокнот, позначки чи кошик; те, що ви зміните потім,
не надсилається. Інший обліковий запис зберігає свою копію: Notes не може її
забрати, а видалення вашої нотатки її не видаляє. Щоб отримувати, Notes запитує
у ваших релеїв gift wrap, адресовані вашому ключу з k=30023, і відкриває їх
на пристрої. Відхилення видаляє gift wrap лише з пристрою: його підписано
ключем, якого ніхто не зберігає, тож жоден із вас не може попросити релеї його
видалити, і він лишається там, але прочитати його можете лише ви.
Пошук — локальний. Усе зашифровано, тож жоден релей не може шукати за вас.
Notes завантажує й розшифровує ваші нотатки та будує індекс на пристрої; слова,
які ви шукаєте, нікуди не надсилаються.
Релей, який вимагає автентифікації NIP-42, дізнається ваш відкритий ключ; Notes відповідає йому від імені вашого облікового запису. Notes також запитує у ваших релеїв чернетки, які інші застосунки написали вашим ключем (kinds 31234 і старіший 30024), щоб показати їх лише для читання, і при цьому нічого не публікує. Якщо ви входите через віддалений застосунок для підпису (bunker або Nostr Connect), його релеї передають ваші зашифровані запити на підпис, і Notes просить його підписувати лише перелічені вище kinds (зокрема печатку нотатки, якою ви ділитеся, kind 13; її gift wrap підписується на пристрої одноразовим ключем). З застосунком для підпису на вашому телефоні Android (NIP-55, наприклад Amber) Notes спілкується напряму на телефоні, без реле посередині, просить у нього те саме й перевіряє кожну повернуту підписану подію, перш ніж її використати.
Herkos Local Relay: що він зберігає і з ким спілкується
Herkos Local Relay — це релей Nostr, який працює на вашому власному пристрої, для застосунків Herkos і будь-якого іншого клієнта Nostr. За ним не стоїть жоден наш сервер, і він нічого нам не надсилає.
Що він зберігає на пристрої. Події, які записують у нього ваші застосунки,
і ті, що він приносить із ваших релеїв, у базі даних, зашифрованій ключем, що
зберігається в захищеному сховищі операційної системи. Поруч із нею: застосунки,
які ви спрягли, і що може робити кожен із них; його налаштування
(settings.json: порт, квота, очищення, чи ввімкнено журнал сеансу); і
налаштування копій (backups.json: як часто, папка, відкритий ключ, для якого
шифруються копії, і його сіль, коли було зроблено останню). Ніщо з цього не є
секретом, а пароль копій ніколи не зберігається. У Windows і Linux, поки він
працює, relay.json у папці застосунку вказує, на якому порту він слухає, щоб
застосунки Herkos могли його знайти. Видалення застосунку стирає базу даних, і
її ключ стає марним.
Хто може під'єднатися. Він слухає лише на 127.0.0.1 (порт 4873, якщо ви
його не зміните): ніщо поза пристроєм не може до нього дістатися. До цієї
адреси може дістатися будь-який застосунок на пристрої, тож застосунок або
вебсторінку треба спряжити, з вашим схваленням на екрані, перш ніж вони
зможуть писати, а неспряжену вебсторінку відхиляють. Відкликання застосунку
одразу його від'єднує. Приватні події (чернетки, приватні списки, нагадування,
запечатані конверти, які ви отримуєте) видаються лише тому, хто доведе через
NIP-42, що має ключ, якому вони належать. Локальна мережа й Tor поки
недоступні; коли вони з'являться, вони будуть вимкнені, доки ви їх не
ввімкнете, і вимагатимуть TLS або onion-сервісу, автентифікації та списку
дозволених ключів.
| Хто | Що він бачить | Коли |
|---|---|---|
| Ваші релеї (ті, що у вашому списку NIP-65) | Вашу IP-адресу; ваш відкритий ключ, коли релей вимагає автентифікації NIP-42; публічні події, які ви публікуєте через нього; і, для синхронізації, про які з ваших подій він питає. | Коли ви публікуєте і коли він синхронізується (через negentropy, NIP-77, якщо релей це підтримує). |
| Вхідні релеї того, кому ви пишете (його список NIP-17, kind 10050, або ж релеї для читання з його списку NIP-65) | Вашу IP-адресу і запечатаний конверт (NIP-59), адресований цій людині, надісланий після випадкової затримки. Він ніколи не надсилається на ваші власні релеї. | Коли застосунок надсилає через нього приватне повідомлення чи запрошення. |
Щоб дізнатися, де хтось отримує пошту, він питає ваші релеї. Ваші приватні події (чернетки, приватні списки, нагадування) ніколи не залишають пристрій. Він ніколи не оголошує власну адресу (її немає в жодному списку NIP-65), його документ NIP-11 не каже, хто ви, і немає ні аналітики, ні телеметрії, ні звітів про збої. В Android він працює як сервіс зі сповіщенням і його кнопкою Зупинити; він засинає після 10 хвилин без з'єднань, і застосунок Herkos будить його на самому пристрої, без push-сервера.
Журнал сеансу типово вимкнений. Якщо ви його ввімкнете, він зберігається лише в пам'яті, останні 500 рядків, і стирається, коли релей зупиняється: з'єднання, автентифікація NIP-42, прийняті чи відхилені події та запитувані kinds — за kind і початком їхнього ідентифікатора, ніколи — їхній вміст.
Копії. Зашифрована копія всього сховища записується лише туди, куди ви обираєте: у папку на пристрої або на зовнішньому диску. Папку хмарного клієнта (OneDrive, Google Drive, Dropbox, iCloud, Nextcloud, Herkos Drive…) відхиляють. Копія шифрується вашим власним паролем (scrypt і XChaCha20-Poly1305); заплановані — для відкритого ключа, який дає цей пароль, тож вони створюються без нього. Зберігаються сім останніх. Без пароля ніхто не може відкрити копію, зокрема й ми, а якщо ви його втратите, копію буде втрачено. Експорт у JSONL не зашифрований: він містить ваші приватні події у відкритому вигляді, і застосунок попереджає про це, перш ніж його записати.
Очищення видаляє лише події інших людей: ніколи ваші, конверти для вас чи kinds, які захищають ваші застосунки; за квотою — лише після копії за останню добу. І, як усюди в Nostr, видалення — це прохання: те, що вже потрапило на інші релеї, може там залишитися.
Наші сайти та Cloudflare
herkos.app (включно з herkos.app/e/), app.herkos.app (вебверсія Mail),
calendar.herkos.app і notes.herkos.app (вебверсії Calendar і Notes, коли
їх буде опубліковано) і
fdroid.herkos.app (наш репозиторій F-Droid) — це статичні файли, які
обслуговує Cloudflare (Cloudflare Pages і R2). Як і будь-який вебхостинг,
Cloudflare отримує вашу IP-адресу, user agent вашого браузера, адресу, яку
ви запитуєте (без частини після #), і час, і може зберігати їх у своїх журналах
відповідно до своєї політики конфіденційності.
Ми не встановлюємо cookie і не використовуємо аналітики; сторінки та власні файли вебзастосунків завантажуються лише з цих доменів (потім вебзастосунки з'єднуються з релеями та серверами, описаними вище), і ми не переглядаємо журнали щодо окремих відвідувачів. Завантаження з Releases надходять із GitHub, який бачить дані того самого роду відповідно до власної політики.
Публічне за задумом
Nostr — публічна мережа. Наведене нижче видно кожному, хто звернеться до релеїв, якими ви користуєтеся, і пов'язане з вашим відкритим ключем:
- ваш профіль (ім'я, зображення) та списки релеїв і серверів Blossom;
- події міток NIP-32, які публікує Herkos Mail, коли ви позначаєте лист прочитаним, ставите зірочку, архівуєте або переміщуєте до папки — включно з назвою власних папок. Тож той, хто надіслав вам листа і знає його ідентифікатор, може дізнатися, коли ви його прочитали. Ми плануємо їх шифрувати; доти майте це на увазі;
- у Herkos Calendar — лише те, що ви робите публічним (див. вище);
- у Herkos Notes — жодного вмісту, лише описана вище картина: скільки у вас нотаток і коли ви їх редагуєте;
- через Herkos Local Relay — лише публічні події, які публікують ваші застосунки, як і з будь-яким релеєм.
Ваш вибір і ваші права
- Усе перелічене під вашим контролем у Налаштування → Мережа та сервери (релеї, релеї особистих повідомлень, сервери Blossom, мости) і Налаштування → Сповіщення; у Herkos Calendar релеї, список зайнятості й кожне посилання для спільного доступу (Поділитися посиланням → Відкликати посилання) ви змінюєте самі; у Herkos Notes — релеї (у його налаштуваннях або у вашому власному приватному списку релеїв).
- У Herkos Local Relay спряжені застосунки й те, що може робити кожен із них, порт, квота, очищення, журнал сеансу й копії — на його власних екранах.
- Вихід із Herkos Notes видаляє нотатки на цьому пристрої, але спершу застосунок надсилає те, що є лише на ньому, і повідомляє, скільки нотаток ви втратили б; нотатки на релеях залишаються й повертаються, коли ви знову входите.
- Ви можете експортувати свій ключ, видалити обліковий запис (це також просить релеї стерти ваші дані, NIP-62) або скинути застосунок будь-коли.
- Оскільки ми не зберігаємо персональних даних, ми не можемо самі відповідати на запити про доступ, виправлення чи видалення; надсилайте їх операторові відповідного релея, моста, push-сервера чи вебхостингу. Ми допоможемо визначити, хто це.
- Herkos не призначений для дітей до 16 років.
Зміни
Ми змінимо цей документ, коли зміниться поведінка застосунку, і запишемо дату
вгорі. Джерелом істини є PRIVACY.md у репозиторії; опублікована сторінка — його
копія.
Контакт: privacy@herkos.email · https://herkos.app
Інші мови
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 · 中文 · Ελληνικά · हिन्दी · 日本語 · 한국어 · Русский · Українська