Команды
Общий доступ, не общие секреты
Обычно команда делится доступом к серверам через пароль в документе. Это другой способ.
Общие хранилища
У общего хранилища свой ключ. Когда вы даёте кому-то доступ, этот ключ запечатывается на его открытый ключ — на вашей машине. Так сервер распределяет, кто что может открыть, никогда не держа того, чем открывают.
Выдача подписана, поэтому скомпрометированный клиент не подделает такую, которая выглядит как выданная администратором. Удаление человека из команды снимает его доступы в той же транзакции: нет промежутка, в котором бывший коллега уже вне команды, а хранилище ему всё ещё присылают. То, что он уже скачал, остаётся на его машине вместе с ключом, который это открывает, а сменить ключ хранилища Termiyo не умеет — поэтому меняйте важное на самих серверах.
Совместная сессия
Отправьте ссылку, и коллега подключится к терминалу, в котором вы уже работаете. Он ждёт, пока вы его впустите, и начинает в режиме чтения — право печатать выдаётся отдельно и осознанно, каждому по отдельности.
Поток терминала идёт по прямому соединению между двумя машинами. Наш сервис только знакомит вас и дальше к этому не причастен: он никогда не видит ни нажатия клавиши, ни строки вывода. Отзыв права записи забирает его у всех, у кого оно уже было, немедленно.
Что видит сервис
Какому аккаунту принадлежит запись, какого она размера и когда менялась в последний раз. Не то, что внутри. Ни имени хоста, ни имени пользователя, ни пароля, ни ключа.
Это свойство устройства, а не обещание: шифрование происходит на вашей машине прежде, чем что-либо уйдёт, и ключ её не покидает.
Роли
- Owner
- Всё, включая оплату и удаление команды.
- Администратор
- Приглашать и удалять участников, создавать и раздавать хранилища.
- Участник
- Пользоваться выданными ему хранилищами.
- Аудитор
- Читает журнал активности команды, как любой участник. Без доступа к хранилищам.
Развернуть у себя
Сервис синхронизации — небольшое приложение на Node поверх SQLite. Если ваши данные не могут покидать вашу сеть, запустите его там: настольное приложение принимает адрес сервера, и в шифровании ничего не меняется, потому что оно никогда не зависело от того, кто хостит.
- Один процесс, одна база, без очереди и без объектного хранилища
- Тот же API, что у размещённого сервиса
- Клиенты указывают на него по URL