Cubechat — це месенджер, який працює напряму між пристроями. Повідомлення йдуть від телефона до телефона через Bluetooth Low Energy, а за бажанням — ще й через публічні релеї, які переносять їх запечатаними. Тут немає облікового запису Cubechat, немає сервера повідомлень Cubechat і немає жодної бази даних компанії, де лежали б ваші розмови.
Ця політика описує, що саме застосунок робить з даними, разом із тими частинами, які приватними не є. Месенджер, який перебільшує свою приватність, небезпечніший за той, у якого її немає зовсім.
Цей документ написаний із вихідного коду і не є юридичною консультацією — перед тим, як на нього покладатися, дайте його на перевірку юристу.
Володілець даних: Kuzminyo
Контакт: cubechatble@gmail.com
Якщо ви перебуваєте в Європейському економічному просторі, Великій Британії або Україні, ви маєте права, описані в розділі 11.
Cubechat ніколи не питає електронну пошту, номер телефона, справжнє ім’я чи пароль. Реєструватися ні для чого.
Коли ви вперше відкриваєте застосунок, він створює на вашому пристрої криптографічну пару ключів. Ця пара і є вашою особистістю. Її копії немає ні в кого, зокрема й у нас. Ім’я та фото профілю обираєте ви, зберігаються вони на вашому пристрої й надсилаються лише тим, з ким ви справді спілкуєтеся.
Наслідок, який варто розуміти: оскільки в нас немає облікового запису, ми не можемо відновити ані вашу особистість, ані контакти, ані історію, якщо ви загубите пристрій або видалите застосунок. З нашого боку немає з чого відновлювати.
Усе перелічене зберігається лише на вашому телефоні, у базах даних, зашифрованих AES, ключ від яких лежить в Android Keystore або iOS Keychain:
Історія залишається на телефоні, якщо ви самі не виберете повідомлення й не натиснете «Поскаржитися». Тоді надсилається лише вибраний уривок, описаний нижче. Локальні копії зникають, коли ви видаляєте застосунок, користуєтеся екстреним стиранням або коли спрацьовує налаштований вами вимикач на випадок мовчання.
Діагностичний журнал залишається на пристрої, доки ви свідомо не експортуєте його й не надішлете комусь. У ньому є фрагменти відкритих ключів, час, стани транспорту та повідомлення про помилки. У ньому немає тексту повідомлень, фотографій чи вашого місцезнаходження.
Повідомлення між пристроями поруч зашифровані наскрізно за протоколом Noise (схеми XX та IK) з X25519, ChaCha20-Poly1305 і BLAKE2s та підписані Ed25519. Вони йдуть напряму з одного пристрою на інший або стрибають через інші пристрої Cubechat, які прочитати їх не можуть.
Ідентифікатор Bluetooth, який застосунок повідомляє в ефір, періодично змінюється, тож пасивний спостерігач не може стежити за одним пристроєм цілий день лише за адресою.
Будь-хто в радіусі Bluetooth може побачити, що поруч є пристрій із Cubechat і що відбувається зашифрований обмін. Прочитати його він не може.
Коли інтернет-резерв увімкнено, повідомлення, яке не вдалося доставити мережею пристроїв, публікується на публічних релеях Nostr, і вони передають його одержувачу. Релей отримує повідомлення вже запечатаним і підписаним — розшифрувати його він не може.
Але релей дізнається метадані, і це найважливіше застереження в цій політиці: він бачить, які два відкриті ключі Nostr обмінялися кадром, коли саме та якого розміру той кадр був. Мережа Bluetooth цього не розкриває.
Саме тому до вересня 2026 року ця можливість була типово вимкнена. Тепер вона типово увімкнена: з вимкненою людина поза радіусом Bluetooth просто не отримає повідомлення, доки ви не опинитеся поруч. Вимкнути можна будь-коли — Профіль → Інтернет-резерв, — і екстрене стирання теж її вимикає.
Релеї працюють під керуванням сторонніх осіб, не наших. Типовий список можна змінити в застосунку.
Ключ кімнати виводиться з її назви та пароля. Будь-хто, хто знає і те, і те, може читати кімнату. Кімнати не мають випереджувальної секретності, а пароль кімнати вартий рівно тієї обережності, з якою ви його передали.
Файли, які ви надсилаєте комусь поруч через AirDrop, ідуть напряму з одного телефона на інший — типово через Bluetooth, як і будь-яке повідомлення. Вони також можуть іти через локальну мережу Wi-Fi, коли обидва телефони в ній, зашифровані ключем, який існує лише для цього передавання; сервер тут не задіяний.
Поки відкрита сторінка AirDrop або для отримання ввімкнено «Усі», ваш телефон можуть знайти люди поруч, навіть якщо в профілі вимкнено «Помітність поруч». На цей час він відповідає на Bluetooth-рукостискання телефонів, яких не знає, і відкрито, без шифрування передає свій підписаний анонс — ваш відкритий ключ, нікнейм і фото профілю — телефонам, з якими з’єднаний, а ті передають його далі мережею.
Якщо на сторінці AirDrop прикласти телефони один до одного, ваш телефон ще й сам з’єднається з іншим, щоб вони могли обмінятися файлами чи контактними картками. Щойно ви йдете зі сторінки (або «Усі» саме вимикається через десять хвилин), телефон знову відповідає лише тим, хто його вже знає.
Щоб розбудити телефон із повністю закритим застосунком, Cubechat тримає одну невелику службу за адресою
push.cubechat.tech. Це єдиний сервер, яким ми керуємо; та сама машина також ретранслює
голосові дзвінки, описані в розділі 5.1.
Вона типово увімкнена, і її можна вимкнути. Вмісту повідомлень вона не бачить ніколи.
Операційна система вашого телефона питає окремо, перш ніж показати бодай одне сповіщення, і якщо ви там відмовите — не реєструється нічого. Вимкнення перемикача в застосунку видаляє ваш запис зі служби. До вересня 2026 року ця можливість була вимкнена, доки її не увімкнуть; тепер вона починає увімкненою, бо месенджер, чиї сповіщення працюють лише поки він і так відкритий, своєї роботи не виконує.
Для кожного зареєстрованого телефона вона зберігає:
| Що | Навіщо |
|---|---|
Ваш відкритий ключ Nostr (npub) | Адреса, за якою чекати на пошту |
| Токен пристрою APNs або FCM | Адреса телефона, якому дзвонити |
Код мови (en або uk) | Щоб напис був мовою, яку ви читаєте |
Платформа (ios / android) | Щоб обрати між Apple і Google |
| Який вузол Apple відповів | Щоб не витрачати зайвий запит щоразу |
| Час реєстрації | Щоб застарілий запис можна було замінити |
Служба стежить за релеями, чи немає подій на вашу адресу, і просить Apple або Google подзвонити вашому телефону. Текст напису — незмінний рядок: «New message» або «Нове повідомлення», бо служба нічого не може розшифрувати й сказати їй більше нічого. Саме повідомлення забирає й відкриває ваш телефон.
Реєстрації підписані криптографічно, тож ніхто не може зареєструвати токен на чужий ключ. Вимкнення цієї можливості в застосунку видаляє ваш запис зі служби. Якщо ви видалите застосунок, запис залишиться, доки Apple або Google не відмовлять у доставці, після чого його буде видалено автоматично.
Apple і Google теж причетні. Служба сповіщень Apple (iOS) та Firebase Cloud Messaging (Android) отримують токен пристрою й сам факт надсилання сповіщення. Вмісту повідомлення вони не отримують. До цієї обробки застосовуються їхні власні політики конфіденційності.
Журнали сервера зберігаються для експлуатаційних потреб і містять скорочені фрагменти відкритих ключів та результати доставки, а не вміст.
Дзвінок встановлюється зашифрованими повідомленнями, як і будь-яке інше повідомлення, а його звук іде через ретранслятор дзвінків (TURN) на тому самому сервері. Звук зашифрований між двома телефонами (DTLS-SRTP): ретранслятор його пересилає, але почути не може.
Мережеві метадані ретранслятор бачить: IP-адреси обох телефонів, коли відбувся дзвінок, скільки тривав і скільки даних передав. Щоб скористатися ним, ваш телефон просить у служби короткочасний доступ запитом, підписаним вашим ключем. Ми не записуємо дзвінки. Журнали ретранслятора, які зберігаються для роботи й захисту служби, можуть містити ці IP-адреси та час сеансів; звуку в них немає ніколи.
Типово обидва телефони бачать лише адресу ретранслятора, а не одне одного. Якщо ви увімкнете в профілі прямі дзвінки, дзвінок може з’єднатися напряму між телефонами, і тоді телефон співрозмовника може побачити вашу IP-адресу.
Cubechat використовує ваше місцезнаходження для двох речей і лише тоді, коли ви самі про це просите: щоб надіслати локацію в чат і щоб показувати себе друзям на карті. Нічим не діляться, доки ви цього не оберете. Під час першого знайомства застосунок про місцезнаходження не питає.
Показ себе на карті. Він вимкнений, доки ви його не ввімкнете. Перш ніж увімкнути, застосунок питає, чи дозволяєте ви показувати своє місцезнаходження на карті, і ви можете відмовитися. Якщо ви вимкнете показ, а потім увімкнете знову, він спитає ще раз.
Фонове місцезнаходження («Завжди»). Запитується лише після того, як ви погодилися показувати себе на карті, і використовується лише для оновлення цієї позначки. Надавати його не обов’язково: без нього позначка оновлюється лише поки Cubechat відкритий.
Блокування. Будь-який контакт можна заблокувати з його профілю. Заблокований контакт не отримує від вас місцезнаходження, позначку, яку ви вже йому показали, одразу буде відкликано, а його місцезнаходження не малюється на вашій карті.
Надсилання локації в чат один раз зчитує вашу позицію й надсилає її, як повідомлення, у чат, який ви обрали, на час, який ви обрали.
Що бачать сторонні служби:
Ані першого, ані другого не уникнути, поки карта на екрані, і ані до першого, ані до другого не доходить, якщо ви не відкриваєте вкладку «Карта».
Ці дозволи використовуються лише для того, що ви робите свідомо: сфотографувати, щоб надіслати, записати голосове повідомлення, прикріпити зображення чи документ. Нічого не записується у фоні й нічого нікуди не вивантажується, окрім тієї розмови, у яку ви це надсилаєте, — зашифрованим.
Отримані файли зберігаються всередині приватного сховища застосунку.
Коли ви натискаєте «Поскаржитися», застосунок надсилає підписану скаргу через HTTPS на наш push-сервер. Вона містить ваш відкритий ключ підпису, причину й необов’язковий коментар, відкритий ключ особи (і її Nostr-ключ, якщо ваш телефон його знає) або відбиток автора каналу, а для скарги на конкретне повідомлення — його тип, час і вибраний текст або підпис до 4000 символів (надіслане місцезнаходження чи картка контакту йде як однорядкова назва, без вмісту). Скарга на канал також містить назву каналу. Звичайні повідомлення, на які ви не скаржитеся, не надсилаються нам. Без мережі скарга чекає у зашифрованому сховищі телефона до семи днів і підписується знову перед надсиланням.
Розробник розглядає скарги через приватного бота модерації в Telegram. Бот передає Telegram як сторонній службі причину, примітку, скорочені ключі скаржника й адресата та до 1000 символів уривка вибраного повідомлення. Сервер зберігає скаргу, доки її не буде розглянуто, а потім видаляє її автоматично через 90 днів після рішення; нерозглянута скарга зберігається, доки рішення не буде ухвалено. Після бану сервер публікує підписаний список лише відкритих ключів особистостей, Nostr-ключів і відбитків авторів каналів. Застосунки завантажують його, щоб приховати заблокованих. Текст скарги й ваш коментар до публічного списку не потрапляють. Забанений ключ залишається в цьому публічному списку, доки розробник не зніме бан, — видалення скарги через 90 днів на сам бан не впливає.
Завантаження списку банів. Кожна копія застосунку завантажує цей список з
push.cubechat.tech/banned під час запуску й раз на шість годин, поки застосунок відкритий,
— незалежно від того, чи увімкнені сповіщення або ретранслятори. Запит не містить нічого про вас — ні
ключа, ні токена — лише те, що видно з будь-якого з’єднання: вашу IP-адресу. Список однаковий для
всіх.
Фільтр образливого вмісту працює лише на вашому телефоні. Нічого з того, що він згортає, нікуди не надсилається.
У Профілі → Cube ID можна зайняти коротке ім’я на кшталт @dima, щоб вас знаходили без
QR-коду. Це не обліковий запис: немає пароля, пошти чи номера телефона, а ім’я належить ключу на вашому
телефоні.
Що зберігає id.cubechat.tech, поки у вас є ім’я: саме ім’я; вашу публічну
картку контакту — ті самі відкриті ключі, нікнейм і відбиток аватара, що й у QR-коді; налаштування «Хто
може писати мені з інтернету»; час, коли ім’я було зайняте й востаннє продовжене. Кожна зміна підписана
вашим ключем. Після зміни імені старе ще 30 днів вказує на вас, щоб його не зайняв хтось інший.
Ідентифікатори підписаних запитів зберігаються до години для захисту від повторів. Образливе ім’я, яке
прибрав модератор, залишається у списку заблокованих імен разом із причиною, щоб його не видали знову.
Ім’я публічне. Будь-хто, хто його знає, отримує вашу картку контакту і може вам написати — хіба що ви оберете «Ніхто», тоді сервер картку не видає. Зворотного пошуку «ключ → ім’я» немає, каталогу імен теж. Ім’я разом із вашим Nostr-ключем також відповідає за стандартом Nostr NIP-05.
IP-адреса вашого запиту використовується лише в пам’яті сервера, щоб обмежити частоту запитів, і до бази імен не записується.
Скільки зберігається. Застосунок сам продовжує ім’я раз на тиждень; ім’я, яке не продовжували 6 місяців, видаляється. «Звільнити» видаляє його одразу. Екстрене стирання теж намагається його звільнити, але не чекає сервер довше трьох секунд — без мережі ім’я зникне через 6 місяців. Ім’я забаненого ключа видаляється. Резервні копії бази імен зберігаються 14 днів.
Cubechat уміє створювати зашифровану резервну копію листування та зашифровано переносити його з телефона на телефон. І те, і те захищене парольною фразою, яку обираєте ви, і те, і те лишається під вашим контролем — файл потрапляє туди, куди ви його покладете.
Якщо ви втратите парольну фразу, копію відновити неможливо. Ключа в нас немає.
id.cubechat.tech одразу (розділ 7b).Якщо до вас застосовуються GDPR, GDPR Великої Британії або Закон України «Про захист персональних даних», ви маєте право на доступ, виправлення, стирання, обмеження обробки та перенесення своїх персональних даних, а також право заперечувати проти обробки.
На практиці ці права здебільшого задовольняються самою будовою застосунку: реєстрацію у службі сповіщень можна стерти, вимкнувши сповіщення. Подані вами скарги також зберігаються на нашому сервері; щодо доступу чи видалення зверніться до нас. Ретранслятор дзвінків із розділу 5.1 зберігає метадані з’єднань лише для роботи й захисту служби. З усього іншого або зі скаргою звертайтеся на адресу з розділу 1. Ви також маєте право поскаржитися до наглядового органу своєї країни.
Правова підстава, де вона потрібна: згода — для служби сповіщень і для показу місцезнаходження. І те, і те скасовується будь-якої миті зсередини застосунку, і за обома стоїть запит дозволу операційної системи, на який відповідаєте ви самі: відмова там означає, що не збирається нічого, хай там що показує перемикач у застосунку. Законний інтерес покриває підтримання служби сповіщень у безпечному й робочому стані та розгляд скарг про зловживання, які ви подаєте самі.
Cubechat призначений для дорослих віком від 18 років. Він не призначений для дітей. Якщо ви вважаєте, що дитина надала нам персональні дані — зокрема реєстрацію у службі сповіщень або подану скаргу, — напишіть нам, і їх буде видалено.
Cubechat побудований так, щоб бути приватним, а його криптографія перевірена на опублікованих тестових векторах. Незалежного аудиту він не проходив, і це варто зважити.
Відомі обмеження, названі прямо, бо ви маєте право їх знати:
Якщо ця політика суттєво зміниться, застосунок про це скаже, а дата вгорі зміниться. Чинна версія завжди опублікована за адресою cubechat.tech/privacy.
Пишіть на cubechatble@gmail.com з будь-яким питанням щодо цієї політики, щоб скористатися правом із розділу 11 або щоб повідомити про проблему з безпекою.
Cubechat is a peer-to-peer messenger. Messages travel directly between phones over Bluetooth Low Energy, and optionally through public relays that carry them sealed. There is no Cubechat account, no Cubechat message server, and no company database holding your conversations.
This policy describes exactly what the app does with data, including the parts that are not private, because a messenger that overstates its privacy is more dangerous than one that has none.
This document is written from the source code and is not legal advice; have it reviewed before you rely on it.
Controller: Kuzminyo
Contact: cubechatble@gmail.com
If you are in the European Economic Area, the United Kingdom or Ukraine, you have the rights described in section 11.
Cubechat never asks for an email address, a phone number, a real name or a password, and there is nothing to sign up for.
When you first open the app it generates a cryptographic key pair on your device. That key pair is your identity. Nobody, including us, holds a copy. Your display name and profile photo are chosen by you, stored on your device, and sent only to people you actually communicate with.
A consequence you should understand: because we hold no account, we cannot restore your identity, your contacts or your history if you lose the device or delete the app. There is nothing on our side to restore from.
All of the following is stored only on your phone, in AES-encrypted databases whose key is held in the Android Keystore or the iOS Keychain:
This history stays on the phone unless you choose a message and tap Report; that report sends only the selected excerpt described below. Local copies are removed when you uninstall the app, use Emergency Wipe, or when the dead man’s switch you configured fires.
The diagnostic log stays on the device unless you deliberately export it and send it to somebody. It contains public key fragments, timings, transport states and error messages. It does not contain message text, photos or your location.
Messages between nearby phones are encrypted end-to-end using the Noise Protocol (XX and IK patterns) with X25519, ChaCha20-Poly1305 and BLAKE2s, and signed with Ed25519. They pass directly from one device to another, or hop through other Cubechat devices that cannot read them.
The Bluetooth identifier the app advertises rotates periodically, so a passive observer cannot follow one device across the day by its address alone.
Anyone within Bluetooth range can observe that a Cubechat device is present and that encrypted traffic is occurring. They cannot read it.
When Internet fallback is on, a message the mesh could not deliver is published to public Nostr relays, which forward it to the recipient. The relay receives the message already sealed and signed; it cannot decrypt it.
A relay does learn metadata, and this is the most important disclosure in this policy: it can see which two Nostr public keys exchanged a frame, when, and how large it was. The Bluetooth mesh does not leak this.
This feature was off by default until September 2026 for exactly that reason. It is now on by default, because with it off a message to somebody out of Bluetooth range simply does not arrive until you are near each other again. You can turn it off at any time in Profile → Internet fallback, and Emergency Wipe switches it off too.
The relays are operated by unrelated third parties, not by us. The default list is editable in the app.
A room’s key is derived from its name and password. Anyone who knows both can read the room. Rooms are not forward-secret, and a room password is only as good as the care taken in sharing it.
Files you send someone nearby through AirDrop travel directly between the two phones, by default over Bluetooth like any other message. They may also travel over the local Wi-Fi network when both phones are on one, encrypted with a key that exists only for that transfer; no server is involved.
While the AirDrop page is open, or “Everyone” is switched on for receiving, your phone can be found by people nearby even if “Discoverable nearby” is off in your profile. For that time it answers Bluetooth handshakes from phones it does not know, and sends its signed announcement unencrypted — your public key, nickname and profile picture — to the phones it is linked to, which pass it on through the mesh.
Holding two phones together on the AirDrop page also makes your phone connect to the other one by itself, so the two can exchange files or contact cards. When you leave the page (or “Everyone” switches itself off after ten minutes), your phone goes back to answering only people who already know it.
To wake a phone whose app is fully closed, Cubechat runs one small service at
push.cubechat.tech. This is the only server we operate; the same machine also relays voice
calls, described in section 5.1.
It is on by default, and you can switch it off. It never sees message content.
Your phone’s operating system asks separately before any notification can be shown, and if you decline there, nothing is registered at all. Turning the switch off in the app deletes your entry from the service. Before September 2026 this feature was off until switched on; it now starts on, because a messenger whose notifications only work while it is already open is not doing the job.
For each phone that registers, it stores:
| What | Why |
|---|---|
Your Nostr public key (npub) | The address to watch for incoming mail |
| The APNs or FCM device token | The address of the phone to ring |
Language code (en or uk) | So the banner is in a language you read |
Platform (ios / android) | To choose between Apple and Google |
| Which Apple host answered | To avoid a wasted round trip on every push |
| Timestamp of the registration | So a stale entry can be replaced |
The service watches the relays for events addressed to your public key and asks Apple or Google to ring your phone. The banner text is a fixed string — “New message” or “Нове повідомлення” — because the service cannot decrypt anything and has nothing else to say. The message itself is fetched and opened by your phone.
Registrations are cryptographically signed, so nobody can register a token against somebody else’s key. Turning the feature off in the app deletes your entry from the service. Uninstalling the app leaves the entry until the token is refused by Apple or Google, at which point it is deleted automatically.
Apple and Google are involved. Apple Push Notification service (iOS) and Firebase Cloud Messaging (Android) receive the device token and the fact that a notification was sent. They do not receive message content. Their own privacy policies apply to that processing.
Server logs are kept for operational purposes and contain shortened public key fragments and delivery outcomes, not content.
A voice call is set up with encrypted messages, like any other message, and its audio is carried through a call relay (TURN) on the same server. The audio is encrypted between the two phones (DTLS-SRTP); the relay forwards it and cannot listen to it.
The relay does see network metadata: the IP addresses of both phones, when a call took place, how long it lasted and how much data it carried. To use it, your phone asks the service for short-lived access with a request signed by your key. We do not record calls. The relay’s server logs, kept for operating and securing the service, can contain those IP addresses and session times; they never contain audio.
By default both phones only ever see the relay’s address, not each other’s. If you turn on direct calls in your profile, a call may connect phone to phone instead, and then the other person’s phone can see your IP address.
Cubechat uses your location for two things, and only when you ask for them: sending a location into a chat, and showing yourself on the map to friends. Nothing is shared until you choose to. The app does not ask for location during the first-run introduction.
Showing yourself on the map. This is off until you turn it on. Before it turns on, the app asks whether you allow your location to be shown on the map, and you can decline. It asks again if you turn it off and later back on.
Background location (“Always”). Only requested once you have agreed to be shown on the map, and only used to keep that pin current. Granting it is optional: without it, your pin updates only while Cubechat is open.
Blocking. You can block any contact from their profile. A blocked contact receives no location from you, a pin you had already shown them is withdrawn at once, and their location is not drawn on your map.
Sending a location in a chat reads your position once and sends it, like a message, to the chat you chose, for the time you choose.
Third parties who see something:
Neither of these is avoidable while a map is on screen, and neither is reached unless you open the Map tab.
These permissions are used only for what you explicitly do: take a photo to send, record a voice message, attach a picture or a document. Nothing is captured in the background, and nothing is uploaded anywhere except to the conversation you send it to, encrypted.
Media you receive is stored inside the app’s private container.
When you tap Report, the app sends a signed complaint over HTTPS to our push service. It contains your public signing key, the reason and optional note, the reported person’s public identity key (and their Nostr public key, when your phone knows it) or channel-author fingerprint, and, if you reported a specific message, its type, time and selected text or caption (up to 4,000 characters; a shared location or contact card goes as its one-line label, not its contents). A channel report also names the channel. Nothing is sent for an ordinary message you do not report. If you are offline, the report waits in encrypted storage on your phone for up to seven days and is signed again when delivery resumes.
The developer reviews reports through a private Telegram moderation bot. The bot forwards the reason, note, a shortened reporter and target key, and up to 1,000 characters of the selected message excerpt to Telegram, a third-party service. The server keeps the report until it is decided, then deletes it 90 days after the decision; an undecided report is kept until it is. A decision to ban publishes a signed list containing public identity keys, Nostr public keys and channel-author fingerprints only. Every app can download that public list to suppress banned senders. The list never contains report text or your note. The banned key itself stays on that public list until the developer lifts the ban — the 90-day deletion above is for the report, not the ban.
The ban list download. Every copy of the app fetches that list from
push.cubechat.tech/banned when it starts and every six hours while it is open, whether or
not push or the relays are switched on. The request carries nothing about you — no key, no token — only
what any connection shows, your IP address. The list is the same for everyone.
The offensive-content filter runs on your phone only. Nothing about what it folds is sent anywhere.
In Profile → Cube ID you can take a short name such as @dima, so people can find you
without a QR code. It is not an account: there is no password, e-mail or phone number, and the name
belongs to the key on your phone.
What id.cubechat.tech keeps while you have a name: the name itself; your
public contact card — the same public keys, nickname and avatar digest a QR code carries; your “Who can
message me from the internet” setting; when the name was taken and last renewed. Every change is signed
by your key. After a rename the old name keeps pointing at you for 30 days so nobody else can take it.
The ids of signed requests are kept for up to an hour to stop replays. An offensive name removed by a
moderator stays on a list of blocked names, with the reason, so it is not handed out again.
The name is public. Anyone who knows it gets your contact card and can write to you — unless you choose “Nobody”, and then the server hands out no card at all. There is no reverse lookup from a key to a name, and no directory of names. The name and your Nostr key are also answered under the Nostr NIP-05 standard.
Your IP address is used only in the server’s memory to limit request rates, and is not written to the name database.
How long it is kept. The app renews the name once a week; a name not renewed for 6 months is deleted. “Release” deletes it at once. Emergency Wipe also tries to release it but does not wait for the server longer than three seconds — offline, the name disappears after 6 months. The name of a banned key is removed. Backups of the name database are kept for 14 days.
Cubechat can produce an encrypted backup of your conversations and an encrypted phone-to-phone transfer. Both are protected by a passphrase you choose, and both stay under your control — the file goes wherever you put it.
If you lose the passphrase, the backup cannot be recovered. We do not hold a key.
id.cubechat.tech at once (section 7b).If the GDPR, the UK GDPR or Ukraine’s law on personal data protection applies to you, you have the right to access, correct, erase, restrict and port your personal data, and to object to processing.
Push registrations can be erased by switching push off. Submitted reports are also held by our service; contact us to request access or deletion. The call relay in section 5.1 keeps connection metadata only for operating and securing the service. For anything else, or to complain, use the contact address in section 1. You may also complain to your national supervisory authority.
Legal basis, where one is required: consent for the push service and for location sharing. Both are revocable at any moment from inside the app, and both sit behind an operating-system permission prompt that you answer yourself — declining it means nothing is collected, whatever the in-app switch says. Legitimate interest covers keeping the push service secure and operational and reviewing abuse reports you choose to submit.
Cubechat is intended for adults aged 18+. It is not directed at children. If you believe a child has provided us with personal data — which, given section 2, could include a push registration or a submitted report — contact us and it will be deleted.
Cubechat is built to be private and its cryptography is implemented against published test vectors. It is not audited by a third party, and you should weigh that.
Known limitations, stated plainly because you deserve to know them:
If this policy changes materially, the app will say so and the date at the top will change. The current version is always published at cubechat.tech/privacy.
Write to cubechatble@gmail.com with any question about this policy, to exercise a right described in section 11, or to report a security problem.