Перейти к основному содержимому

Команды

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

Организации и роли

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

Политика задаётся для каждой организации: требование двухфакторной аутентификации, требование подтверждения устройства до синхронизации, ограничение способов входа и предельная длительность сессии. Требование записи сессий — это требование раскрытия, применяемое клиентом, и оно так и помечено, а не как техническая гарантия.

Группы, приглашения и доступ к ключу

Доступ выдаётся группам пользователей, а не отдельным людям, везде, где это возможно, — тогда новому участнику не нужна отдельная выдача для каждой коллекции.

Когда приглашение принято, членство действует немедленно, а доступ к ключу явно остаётся ожидающим. Сервер не может изготовить конверт с ключом для нового участника; авторизованный разблокированный клиент упаковывает ключ содержимого для каждого его устройства. До этого новый участник может скачать шифротекст, который не сможет прочитать, и интерфейс об этом говорит.

Отзыв и смена ключей

Удаление участника или отзыв устройства немедленно отзывает доступ на сервере и возвращает список коллекций, которым теперь нужен перевыпуск ключей. Выполнить его может только клиент, у которого есть текущий ключ.

Смена ключей защищает будущее содержимое. То, что человеку было выдано законно, может у него остаться. Любой продукт, намекающий на обратное, говорит неправду о том, как работает шифрование.

Исходные документы

Эта страница кратко излагает файлы ниже. Полный и авторитетный текст — в них.

  • docs/ARCHITECTURE.md

    Путь в репозитории
  • contracts/openapi.yaml

    Путь в репозитории