Коротко. Relik — небольшой независимый проект для приватной переписки. Он предоставляется «как есть», без гарантий и без обещания бесперебойной работы. Тексты сообщений шифруются на устройстве и на сервере хранятся в зашифрованном виде. Служебные данные (кто, когда и с кем переписывался, email при регистрации) серверу видны — это честно описано ниже.
Relik — некоммерческий учебный/исследовательский проект. Это не компания, не оператор связи и не публичный сервис с поддержкой 24/7. Проект существует, чтобы показать работу сквозного шифрования в браузере (Web Crypto API) и на бесплатном бэкенде (Supabase). Доступ к регистрации ограничен инвайт-кодом.
Вы передаёте при регистрации: адрес электронной почты и пароль. Пароль хранится в виде криптографического хеша на стороне Supabase Auth; в открытом виде он не сохраняется и нам не известен.
Вы заполняете в профиле: отображаемое имя, @username, цвет аватара, изображение аватара (если загрузили), публичный ключ шифрования.
Сервер видит служебные данные (метаданные):
Сервер не видит: текст сообщений, содержимое фото, видео, файлов и голосовых — они шифруются на устройстве отправителя и расшифровываются только на устройствах участников чата.
Мы не обещаем «полной анонимности». Важно понимать ограничения:
Подробное и технически точное описание — в файле CRYPTO.md репозитория.
Сервис нельзя использовать для:
При получении обоснованной жалобы доступ может быть ограничен без предварительного уведомления. Технически администратор не может прочитать зашифрованные сообщения, но может удалить учётную запись и служебные записи.
Жалоба отправляется из меню сообщения («Пожаловаться») и содержит только метаданные: кто, на какое сообщение и когда. Выберите категорию: спам, мошенничество, угрозы, незаконный контент, другое.
Срок реакции — до 72 часов. Возможные решения: оставить без изменений, предупредить, ограничить доступ (бан на срок или навсегда), удалить сообщение. Содержание переписки модератору недоступно — решения принимаются по метаданным и повторным жалобам, поэтому в спорных случаях мы можем запросить контекст у заявителя.
Злоупотребление жалобами (массовые необоснованные обращения) также может привести к ограничению доступа.
Вы можете в любой момент удалить учётную запись самостоятельно: Настройки → Удалить аккаунт. Вместе с учётной записью удаляются профиль, членство в чатах, ваши сообщения, реакции, настройки и заявки в контакты. Действие необратимо.
Чаты, где вы были единственным участником, становятся недоступны. История переписки у собеседников может сохраниться в их локальном кэше — это особенность сквозного шифрования. Зашифрованные файлы (фото, видео, голосовые) могут оставаться в хранилище как «осиротевшие» объекты до ручной очистки.
Данные хранятся в облачном сервисе Supabase (за пределами Российской Федерации) и в локальном хранилище браузера (IndexedDB) на вашем устройстве. Серверная часть работает на бесплатном тарифе и может быть недоступна или очищена провайдером.
Приложение предоставляется на условиях «как есть» (as is) и «как доступно» (as available), без каких-либо явных или подразумеваемых гарантий, включая гарантии пригодности для конкретных целей, сохранности данных и бесперебойной работы.
Автор проекта не несёт ответственности за: утрату данных, прямой или косвенный ущерб, упущенную выгоду, последствия использования приложения третьими лицами, а также за действия пользователей, нарушающие законодательство. Ответственность за соблюдение местных законов при использовании приложения лежит на пользователе.
Проект небольшой, но мы не делаем вид, что закон нас не касается. Что учтено:
Что важно знать про локализацию. Ч. 5 ст. 18 152-ФЗ требует, чтобы запись, систематизация, накопление, хранение и извлечение персональных данных граждан РФ выполнялись с использованием баз данных на территории РФ. Сейчас серверная часть расположена в Supabase за пределами РФ: для семейного проекта по инвайтам это осознанное ограничение, но при публичном запуске в РФ базу потребуется перенести. Штраф по ч. 8 ст. 13.11 КоАП для гражданина — 30 000–50 000 ₽.
Уведомление Роскомнадзора. По ст. 22 152-ФЗ оператор обязан уведомить РКН о намерении обрабатывать персональные данные (реестр операторов: pd.rkn.gov.ru). Штраф за неуведомление по ч. 10 ст. 13.11 КоАП для гражданина — 5 000–10 000 ₽. Это действие выполняет владелец проекта, а не приложение.
Организатор распространения информации. По ст. 10.1 149-ФЗ сервис обмена сообщениями может быть отнесён к ОРИ с обязанностью хранить метаданные и предоставлять уполномоченным органам возможность декодирования сообщений. При сквозном шифровании последнее технически невыполнимо; практическое последствие для такого сервиса — предписание или блокировка, а не ответственность пользователей. Проект не позиционируется как публичный сервис и работает по инвайт-кодам.
Мы не обещаем «неприкосновенности»: ни один текст на сайте не отменяет закон. Задача документов — честно описать правила и снизить риск претензий к добросовестному разработчику.
Условия могут меняться. Актуальная редакция всегда доступна по этому адресу; дата редакции указана в начале страницы. Продолжение использования после изменений означает согласие с новой редакцией.
Вопросы по данным и работе сервиса: RelikSupp@ya.ru, через раздел «Настройки» в приложении или через issues в репозитории проекта на GitHub. Жалобы на нарушения — в течение 72 часов (см. раздел 4.1).
In short. Relik is a small independent project for private messaging. It is provided “as is”, with no warranties and no promise of uninterrupted operation. Message contents are encrypted on the device and stored encrypted on the server. Service data (who talked to whom and when, plus the email used at sign-up) is visible to the server — described honestly below.
Relik is a non-commercial educational/research project. It is not a company, not a telecom operator and not a public service with 24/7 support. It exists to demonstrate end-to-end encryption in the browser (Web Crypto API) on a free backend (Supabase). Sign-up is limited by an invite code.
Provided at sign-up: an email address and a password. The password is stored as a cryptographic hash by Supabase Auth; it is never stored or known in plain text.
Provided in the profile: display name, @username, avatar colour, avatar image (if uploaded), public encryption key.
The server can see metadata: who sent a message, when and in which chat; message size and attachment type; chat and group membership; last activity time; IP address and technical logs processed by Supabase as the hosting provider.
The server cannot see: message text, images, video, files and voice notes — these are encrypted on the sender’s device and decrypted only on participants’ devices.
See CRYPTO.md in the repository for the precise technical description.
You may not use the service for unlawful content, threats, harassment, extortion, fraud, coordinating illegal activity, spam or mass messaging of strangers, or infringing third-party rights. On a substantiated complaint, access may be restricted without prior notice. Technically the administrator cannot read encrypted messages, but can delete an account and service records.
A report is sent from the message menu and contains metadata only: who reported what message and when. Choose a category: spam, fraud, threats, illegal content, other.
Response time — within 72 hours. Possible outcomes: no action, a warning, restricted access (temporary or permanent ban), message removal. Moderators cannot read message content, so decisions rely on metadata and repeated reports; in disputed cases we may ask the reporter for context.
Abusing reports (mass unfounded complaints) may also lead to restricted access.
You can delete your account yourself at any time: Settings → Delete account. This removes the profile, chat memberships, your messages, reactions, settings and contact requests. The action is irreversible. Chats where you were the only member become unavailable. Copies may remain in other participants’ local caches — a property of end-to-end encryption. Encrypted files (photos, video, voice) may remain in storage as orphaned objects until manual cleanup.
Data is stored in the Supabase cloud (outside the Russian Federation) and in your browser’s local storage (IndexedDB) on your device. The backend runs on a free tier and may be unavailable or wiped by the provider.
The app is provided “as is” and “as available”, without any express or implied warranties, including fitness for a particular purpose, data preservation or uninterrupted operation. The author is not liable for data loss, direct or indirect damages, lost profits, consequences of third-party use, or for users’ unlawful actions. Users are responsible for complying with their local laws.
What is covered: this policy page is published (art. 18.1(2) of 152-FZ; missing policy is an administrative fine of RUB 1,500–3,000 for an individual under art. 13.11(3) of the Administrative Code); consent to personal data processing is a separate checkbox at sign-up (art. 9); data can be deleted in one click (art. 21); data collection is minimised (no phone, address, birth date, analytics or third-party trackers); message content is encrypted, so a server breach exposes ciphertext only.
Data localisation. Art. 18(5) of 152-FZ requires recording, systematisation and storage of Russian citizens’ personal data in databases located in Russia. The backend currently runs on Supabase outside Russia: an accepted limitation for a family-scale invite-only project, but a public launch in Russia would require moving the database. The administrative fine under art. 13.11(8) is RUB 30,000–50,000 for an individual.
Roskomnadzor notification. Under art. 22 of 152-FZ an operator must notify the regulator before processing personal data (operator registry at pd.rkn.gov.ru). Failure to notify carries a fine of RUB 5,000–10,000 for an individual (art. 13.11(10)). This is an action for the project owner, not something the app can do.
Organiser of information dissemination. Under art. 10.1 of 149-FZ a messaging service may be classified as an ORI with obligations to retain metadata and to give authorities the ability to decode messages. With end-to-end encryption the latter is technically impossible; the practical consequence is an order or blocking, not liability for users. The project is not positioned as a public service and requires an invite code.
These terms may change. The current revision is always available at this address; the revision date is shown at the top. Continued use after changes means acceptance of the new revision.
Questions about data and the service: RelikSupp@ya.ru, via “Settings” in the app, or via issues in the project repository on GitHub. Abuse reports are handled within 72 hours (see 4.1).