У текстового редактора Google Docs есть масса достоинств, но есть и один недостаток, который в определенных случаях оказывается весьма серьезным: то, что ты в нем напишешь, будет храниться на сервере Google. CryptPad — это онлайновый коллаборативный редактор, который пересылает данные только в зашифрованном виде, а для разрешения конфликтов правок использует блокчейн.

В CryptPad встроено целых пять редакторов: WYSIWYG Pad, предназначенный для текстовых документов, Code Pad для кода, а также редактор несложных презентаций с синтаксисом Markdown и средство для создания опросов. Выбирай любой и создавай документ.

Поделиться ссылкой для совместной работы не составляет труда: копируй адрес из адресной строки и отправляй всем, кого хочешь пригласить к редактированию. Если планируешь только показать документ, но не давать вносить правки, жми на кнопку с глазом, и она выдаст соответствующую ссылку.

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

Увы, по функциональности CryptPad во многом не дотягивает до Google Docs. К примеру, здесь нет системы контроля версий, комментариев и подсветки позиции курсоров других пользователей (компоненты CKEditor и CodeMirror, которые используются в CryptPad, просто не поддерживают такой функции).

Исходники CryptPad и его базового компонента под названием ChainPad открыты — их можно скачать с GitHub и развернуть на своем сервере. Кстати, используя чужой CryptPad, будь осторожен: его код может быть модифицирован таким образом, чтобы пересылать ключ шифрования на сервер или, наоборот, присылать с сервера вредоносный JavaScript. О теоретической возможности подобных атак предупреждают сами разработчики.

Оставить мнение

Check Also

Секретный код. Прячем конфиденциальную информацию внутри своих приложений для Android

Наверное, каждый программист хоть раз в жизни сталкивался с необходимостью спрятать информ…