Юридический взгляд на проект Корни (Korni)

Версия 4.1. Актуально для архитектуры, основанной на журнале подписанных фактов и локальной репликации данных.


1. О чём этот документ

Документ описывает техническую архитектуру фреймворка «Корни» и анализирует её с точки зрения законодательства Российской Федерации.

Фреймворк находится в стадии разработки, его код распространяется открыто. Цель документа — корректно оценить юридические риски, а не дать инструкции по обходу закона. Автор не одобряет и не поощряет использование фреймворка для незаконных целей.


2. Что такое «Корни» технически

«Корни» — это клиентский фреймворк для приложений, который:

  • предоставляет приложению локальную базу данных (БД);
  • все изменения БД фиксируются в виде подписанных цифровой подписью пользователя фактов (записей);
  • факты собираются в неизменяемый журнал (append‑only log);
  • из этого журнала БД приложения может быть перестроена в любое время;
  • журнал превращается в набор файлов на диске пользователя;
  • файлы кодируются, разбиваются на части, сжимаются и распределяются по служебным папкам для производительности;
  • ни пользователь, ни внешний наблюдатель не могут понять содержимое файлов без приложения, но данные внутри фактов хранятся в открытом виде (не зашифрованы).

Ключевое уточнение: фреймворк не использует шифрование для сокрытия содержимого. Цифровая подпись служит исключительно для подтверждения авторства и целостности, а не для того, чтобы сделать данные недоступными для прочтения.

Сам фреймворк не интерпретирует данные и не знает их смысла.


3. Главное различие: данные vs. информация (в пример: модель OSI)

В сетевых моделях (OSI/TCP/IP) физический, канальный, сетевой и транспортный уровни работают с байтами и пакетами. Смысл появляется только на уровне приложений.

  • Байты, файлы, пакеты — объективная реальность, не имеющая встроенного смысла.
  • Информация (в смысле ст. 2 Федерального закона №149‑ФЗ) — это осмысленные сведения, которые человек или приложение могут интерпретировать.

Фреймворк «Корни» оперирует байтами и файлами на диске пользователя. Сам по себе он не формирует и не распространяет осмысленную информацию. Приложение, использующее фреймворк, может придать смысл этим байтам, но это уже действие на уровне приложения, за которое отвечает само приложение и пользователь.

Это не «обход закона», а констатация технического факта: разные уровни стека протоколов решают разные задачи.


4. О статусе организатора распространения информации (ОРИ)

Ст. 10.1 Закона «Об информации» обязывает ОРИ идентифицировать пользователей, хранить логи, предоставлять ключи шифрования и блокировать доступ к запрещённой информации.

Почему «Корни» (как фреймворк) не является ОРИ

  1. Фреймворк не предоставляет услуги передачи информации — это локальная БД, которая не требует сети.
  2. Фреймворк не идентифицирует пользователей и не может этого делать: ключи подписей генерируются самими пользователями и не передаются автору.
  3. Фреймворк не хранит логи передач между разными пользователями, потому что в нём нет встроенных передач.
  4. Фреймворк не имеет технической возможности удалять данные на чужих компьютерах — файлы принадлежат пользователям.

Если кто‑то создаёт приложение на базе фреймворка и организует публичный обмен файлами с незнакомцами, то именно разработчик этого приложения может попасть под признаки ОРИ. Автор фреймворка не несёт за это ответственности.


5. О шифровании, подписи и требованиях о ключах

5.1. Фреймворк не шифрует данные

Фреймворк «Корни» не использует шифрование для сокрытия содержимого.

Все факты хранятся и передаются в открытом виде (на уровне байтов). Цифровая подпись:

  • подтверждает авторство (доказывает, что факт создан именно этим пользователем);
  • гарантирует целостность (факт не был изменён после подписания).

Подпись не скрывает содержимое факта. Она лишь удостоверяет его происхождение.

5.2. Требования о ключах (ст. 10.1 ч. 4.1) не применимы

Ст. 10.1, часть 4.1 Закона «Об информации» обязывает ОРИ предоставлять ключи только при использовании «дополнительного кодирования электронных сообщений» — то есть шифрования, которое делает содержимое недоступным для прочтения третьими лицами.

Поскольку «Корни» не использует шифрование, требования части 4.1 статьи 10.1 неприменимы к самому фреймворку и к приложениям, использующим его без добавления собственного слоя шифрования.

5.3. Если приложение добавляет шифрование

Если разработчик конкретного приложения самостоятельно добавляет шифрование поверх данных (шифрует факты перед записью в БД), то именно разработчик приложения должен обеспечивать выполнение требований ч. 4.1 ст. 10.1 (хранение и предоставление ключей по запросу).

Автор фреймворка «Корни» за это ответственности не несёт, так как:

  • шифрование не является частью фреймворка;
  • ключи шифрования генерируются и хранятся на стороне приложения (или пользователя);
  • фреймворк не имеет к ним доступа и не может их предоставить.

5.4. Рекомендация разработчикам приложений

Если вы разрабатываете приложение на базе «Корней» и планируете использовать шифрование данных, проконсультируйтесь с юристом о том, как выполнить требования ст. 10.1 ч. 4.1. Возможные способы:

  • хранить ключи шифрования на сервере приложения (с согласия пользователя);
  • использовать схемы разделения ключей, позволяющие предоставить доступ по судебному решению;
  • отказаться от шифрования, если оно не требуется для вашей задачи.

Использование шифрования без возможности предоставить ключи по законному требованию может создать для вас (как для ОРИ) риск привлечения к ответственности по ст. 13.31 КоАП РФ или ст. 274.2 УК РФ.


6. О передаче файлов (синхронизации)

Фреймворк не содержит встроенных сетевых протоколов и не навязывает способов синхронизации. Пользователи могут:

  • вообще не синхронизировать файлы (работать локально);
  • синхронизировать только внутри закрытой доверенной группы (например, рабочий коллектив, семья);
  • использовать публичные сети обмена файлами (что не рекомендуется автором).

Если пользователи синхронизируют папки с файлами фреймворка через публичные каналы с незнакомцами, то к ним (к пользователям) могут применяться нормы о распространении информации. Наличие цифровой подписи под каждым фактом позволяет правоохранительным органам при достаточных усилиях идентифицировать злоумышленника.


7. О хранении «непонятных» файлов

Пользователь не обязан знать содержимое всех файлов на своём компьютере, особенно если они закодированы, сжаты и разбиты. Ст. 2.1 КоАП РФ и ст. 24 УК РФ требуют вины: умысла или неосторожности. Если пользователь технически не может понять, какой смысл содержится в файлах (инструментарий фреймворка не даёт такой возможности), то состав правонарушения отсутствует.

Если пользователь случайно обнаружил запрещённые данные, он должен их удалить или сообщить об этом. Фреймворк позволяет удалять отдельные факты из локальной БД. Однако автор фреймворка не может гарантировать удаление этих данных на компьютерах других пользователей, поскольку они ему не принадлежат.


8. Лицензия на передачу данных (короткая версия)

Для случаев, когда пользователи обмениваются файлами, созданными фреймворком, рекомендуется следующая лицензия‑оферта:

Лицензия на синхронизацию данных (уровень байтов)

  1. Участник А (получатель) запрашивает копии файлов с указанными именами, не зная их содержимого.
  2. Участник Б (отправитель) может добровольно передать копии этих файлов, но не обязан.
  3. Передача рассматривается как техническая синхронизация байтов на низком уровне. Смысл файлов определяется только прикладным ПО.
  4. Ни одна из сторон не несёт ответственности за содержимое файлов, если они не знали и не могли знать об их противоправном характере (ст. 2.1 КоАП РФ, ст. 24 УК РФ).
  5. Если сторона узнала, что полученные данные содержат запрещённую информацию, она обязана немедленно их удалить и не распространять дальше.
  6. Использование фреймворка для заведомого распространения детской порнографии, экстремизма, призывов к насилию и иной явно запрещённой информации запрещено и влечёт прекращение действия лицензии.

Настоящая лицензия не отменяет действия законов РФ и не может служить оправданием умышленных нарушений.


9. Что делать, если появилась запрещённая информация

  1. Пользователь должен удалить соответствующие факты из своей локальной БД (технически возможно) и, по возможности, уведомить других участников группы о необходимости удаления.
  2. Разработчик приложения на базе фреймворка должен предусмотреть механизм фильтрации или блокировки подписанных фактов (например, по ключу автора, по хешу).
  3. Автор фреймворка не может удалять данные на чужих машинах, но может выпустить обновление, которое научит приложения игнорировать факты от определённых ключей или с определёнными метками.

Ст. 15.1 149‑ФЗ требует от организатора распространения прекратить доступ. Если система спроектирована без единого центра управления, закон не может требовать невозможного (ст. 14 УПК РФ — неустранимые сомнения в пользу обвиняемого). Тем не менее, автор рекомендует не проектировать систему как неуправляемую, а всегда оставлять техническую возможность для удаления или игнорирования данных на уровне приложения.


10. Об авторском праве и ответственности

  • Фреймворк сам по себе не нарушает авторские права. Нарушение может совершить только пользователь, если он передаёт чужой контент без разрешения.
  • Автор фреймворка не одобряет пиратство и не даёт инструкций по его совершению.
  • Техническая невозможность централизованной блокировки — это свойство децентрализованных архитектур, а не призыв к нарушению.
  • Автор поддерживает добросовестное использование и рекомендует правообладателям использовать открытые лицензии (Creative Commons и т.п.), а пользователям — уважать чужой труд.

11. Заключение. Юридически безопасная позиция

  • «Корни» — это инструмент (фреймворк), функционально нейтральный к содержанию.
  • Автор не организует распространение информации, не владеет ключами пользователей, не может удалять файлы на их компьютерах.
  • Автор не призывает нарушать закон и осуждает любое использование фреймворка для распространения заведомо запрещённой информации.
  • Каждый факт в системе подписан ключом пользователя — это позволяет правоохранительным органам при необходимости найти нарушителя, не требуя от автора фреймворка невозможного.
  • Ответственность за содержание передаваемых данных несут сами пользователи и (в части прикладного использования) разработчики конечных приложений.

Данный документ носит информационный характер и не является юридической консультацией. Для полноценной защиты рекомендуется обратиться к квалифицированному юристу, специализирующемуся на ИТ‑праве.


* Эта статья заменяет собой предыдущие версии «Юридического взгляда на проект корни». Старые версии следует удалить во избежание разночтений.