Сегодня важный рубеж в развитии проекта: мы официально выпускаем encrypted1on1 v1.0.0 — первый стабильный production-релиз. Платформа даёт командам структурированное пространство для встреч 1-на-1, где сервер физически не может прочитать заметки, фидбек и цели участников.
Зачем встречам 1-на-1 нужна архитектура Zero-Knowledge
Встречи 1-на-1 аккумулируют самые деликатные разговоры в любой организации: честную обратную связь, сомнения в эффективности, обсуждение зарплат и промоушенов, сигналы выгорания и глубоко личные обстоятельства.
Обычные облачные SaaS-сервисы, корпоративные wiki и документы требуют безоговорочно верить администраторам баз данных, облачным провайдерам и сотрудникам техподдержки.
В encrypted1on1 мы заменили слепое доверие математикой. Всё содержимое анкет шифруется прямо в браузере с помощью современных криптографических примитивов до отправки на сервер. Даже тот, кто имеет полный root-доступ к серверу или дампу базы данных, видит исключительно непрозрачный шифротекст.
Что вошло в версию 1.0.0
Релиз v1.0.0 вобрал в себя месяцы архитектурной полировки, аудита безопасности и реальной практики проведения встреч. Вот ключевые возможности:
- Сквозное шифрование анкет (End-to-End Encryption): ключевые пары X25519 для каждого участника, симметричное шифрование содержимого XChaCha20-Poly1305 и вывод ключей через Argon2id на основе пароля пользователя.
- Асинхронная подготовка: руководитель и сотрудник заранее формулируют повестку, отмечают блокеры и выставляют честные оценки настроения и рабочей нагрузки до созвона.
- Сквозные цели и чекпоинты: договорённости и квартальные цели не теряются в архивах — они автоматически переносятся в следующие циклы встреч до тех пор, пока не будут завершены.
- Приватная аналитика и тренды: сводный отчёт за период со спарклайнами динамики настроения и прогресса целей, отрендеренными через inline-SVG прямо в браузере — без внешних скриптов, трекеров и без серверной агрегации открытого текста.
- Полноценное управление аккаунтами: гибкие режимы регистрации (по инвайтам, только через администратора или самостоятельная регистрация с подтверждением по корпоративному email-домену), безопасная смена пароля и полный клиентский экспорт расшифрованных данных в JSON.
Надёжная инженерная архитектура
Мы проектировали encrypted1on1 с упором на многоуровневую защиту (defense-in-depth):
- Тесты на утечки «чёрного ящика»: e2e-тесты на Playwright с двумя реальными браузерными сессиями, которые выполняют полный цикл криптографических операций и инспектируют сырую базу данных, математически доказывая отсутствие открытого текста на диске и в API.
- Строгие заголовки безопасности: строгая Content Security Policy (CSP), проверка целостности Subresource Integrity (SRI) для всех фронтенд-файлов и принудительный HSTS.
- Защищённый Docker-образ: запуск от имени непривилегированного пользователя в связке FrankenPHP + Caddy с автоматическим получением HTTPS-сертификатов и встроенными проверками здоровья (HEALTHCHECK).
- Быстрое хранилище: SQLite с включённым режимом Write-Ahead Logging (WAL) по умолчанию для параллельных операций записи, а также документированный путь миграции на MySQL для масштабных внедрений.
Быстрый старт и запуск в Docker
Развернуть encrypted1on1 можно буквально одной командой через официальный образ из GitHub Container Registry:
docker pull ghcr.io/aleksejs1/encrypted1on1:1.0.0Если вы хотите оценить интерфейс без локальной установки, посетите интерактивную песочницу demo.private1on1.eu — она работает без регистрации и содержит реалистичную историю встреч на всех языках интерфейса.
Исходный код полностью открыт под лицензией AGPLv3 и доступен в репозитории на GitHub.
