1) Правовой статус и термины
- Эта страница дополняет Политику конфиденциальности и Условия использования.
- Политика публикации исходного кода, спецификаций и аудитов вынесена на страницу Transparency.
- Технические протокольные спецификации (threat model, message/call protocol, transport) находятся в Docs.
- Публичные audit-репозитории опубликованы на GitHub: whisper-chatstore, ksmp-whisper-core и ksmp-server-boundary (source-available лицензия, без права использования в продуктах).
- E2E-контент — данные, шифруемые на устройстве отправителя и расшифровываемые только на устройстве получателя.
- Транспортное шифрование — TLS/WSS защита канала клиент ↔ сервер.
- Метаданные — служебные данные маршрутизации и эксплуатации (время, IP/сеть, device/session id, anti-abuse, billing).
2) Модель угроз и границы защиты
- Мы проектируем эту модель для защиты от перехвата трафика в сети, наблюдения на транзите и компрометации промежуточных узлов доставки.
- Мы не можем устранить риски при компрометации конечного устройства пользователя (malware, root/jailbreak, фишинг).
- При первом контакте без верификации ключей сохраняется TOFU-риск, характерный для E2E-систем.
3) KSMP Whisper Ultra OOB: защита сообщений (E2E)
- Для сообщений в KSMP Whisper Ultra OOB используется Signal Protocol (адаптированная реализация для Kasty) с Double Ratchet логикой.
- Согласование ключей: X25519 (Curve25519 KeyAgreement).
- Идентификационные ключи: Ed25519; для повышенного доверия используются SAS/QR сценарии верификации.
- Производные ключи: HKDF (SHA-256). Шифрование полезной нагрузки: AES-GCM (AEAD) с аутентифицируемыми заголовками.
- Identity-ключи хранятся локально в Keychain (ThisDeviceOnly); удаление локального хранилища удаляет ключевой материал устройства.
4) KSMP Whisper / WhisperStreamVoice: безопасность звонков
- Профиль звонков KSMP Whisper использует производную от Signal криптомодель эволюции ключей; полная совместимость со всеми внешними реализациями Signal-звонков не заявляется.
- Инициализация звонка в профиле KSMP Whisper требует E2E-параметров на backend-границе (e2eVersion=1 и ephemeral public key инициатора).
- Технология WhisperStreamVoice применяется для медиапути и качества передачи в звонке.
- Секрет комнаты звонка мы вычисляем на клиентах через ECDH и не создаём на сервере как рабочий plaintext call secret.
- Медиа кадры звонка шифруются AES-GCM; nonce формируется из sender-prefix и монотонного счётчика.
- Поддерживается эволюция ключей в звонке (session/periodic/per-packet режимы в зависимости от политики клиента).
- Транспорт: TLS/WSS + relay-инфраструктура.
5) Что не является E2E и что сервер обрабатывает
- Публичная лента, открытые комментарии, публичные профили, реакции и репосты не являются E2E-контентом.
- Обычные чаты, создаваемые стандартным способом (включая создание через профиль и через токен), не относятся к E2E-режиму KSMP Whisper.
- В нашей проектной модели Whisper-сообщения не хранятся как серверная история сообщений; мы обрабатываем relay и служебные события.
- Для Whisper E2E оффлайн-доставки сервер может временно хранить только шифротекст до 72 часов; в relay-only режиме доставка идет только при одновременном онлайне сторон.
- Автоматическая модерация применяется только к открытому контенту (видео публичного фида, открытые комментарии, аватары, стикеры).
- Мы обрабатываем метаданные, необходимые для доставки, anti-abuse, эксплуатации, поддержки и биллинга.
6) Законные запросы и раскрытие данных
- При получении юридически действительного запроса мы раскрываем только данные, которыми фактически располагаем.
- Для E2E-сценариев серверная инфраструктура не предназначена для хранения plaintext полезной нагрузки; такие данные могут быть технически недоступны к раскрытию.
- Открытый текст E2E-коммуникаций семейства KSMP Whisper (включая Whisper Ultra OOB и WhisperStreamVoice) не передается и не раскрывается по запросам, поскольку технически недоступен серверу.
- Метаданные, регистрационные и сервисные журналы могут раскрываться в пределах применимого законодательства.
7) Хранение, удаление, восстановление
- В отдельных приватных режимах ключевой материал является device-bound.
- Удаление локального защищённого хранилища, сброс устройства или потеря ключей могут сделать прошлые E2E-данные недоступными.
- Мы не гарантируем восстановление E2E-истории, если это нарушает модель безопасности ключей.
8) Ограничения и отказ от абсолютных гарантий
- Ни одна система не обеспечивает абсолютную защиту от всех угроз.
- Компрометация конечного устройства пользователя может снизить фактический уровень защиты независимо от протокола передачи.
- Сетевые ограничения (маршрутизация, фильтрация, потери пакетов) могут влиять на доступность и качество связи без нарушения криптографической схемы.
9) Обязанности пользователя по безопасности
- Используйте сложный пароль, 2FA и биометрию на устройстве.
- Не передавайте коды подтверждения, токены входа и данные учётной записи третьим лицам.
- Проверяйте активные сеансы и отключайте неизвестные устройства.
10) Уязвимости, инциденты, обновления
- О найденных уязвимостях и подозрительной активности сообщайте в security-канал поддержки.
- Мы можем обновлять этот документ при изменении архитектуры безопасности, криптографических режимов или юридических требований.
- Дата «Обновлено» указывает действующую редакцию.
11) Контакты
По вопросам безопасности пишите нам: support@kasty.ch. По юридическим вопросам: legal@kasty.ch.