Как мы шифруем, подписываем и позволяем развернуть весь control plane у себя.
Caldyr поставляется со стандартными криптографическими примитивами — подписи Ed25519 поверх цепочки хешей, обёртывание ключей по командам — и публикует публичный ключ аудита вашей компании. Здесь нет уникальной магии: ценность в интеграции и операционных гарантиях.
Где это работает
Что вы можете проверить сами.
Не «мы обещаем». Криптографическое доказательство. Проверяемая криптография. Self-host, когда этого требует аудитор.

Какие ключи у вас, а какие у нас
- Личное хранилище: сквозное шифрование, ключ не покидает браузер
- Argon2id: пароль → мастер-ключ
- Опциональная авторазблокировка через WebAuthn
- Данные команды: командный ключ у нашего сервиса хранения, он может их расшифровать
- Для личного хранилища заметок депонирования нет; для командных ключей — есть
Мы подписываем всё
- Цепочка аудита на Ed25519 для каждой компании
- Хеш-цепочка строк с защитой от подделки
- Публичный эндпоинт с ключом компании
- Аутентификация отправки в SIEM (Enterprise): none, bearer, mTLS, JWT или Sentinel OAuth2 / общий ключ
- Криптографически подписанные релизы
Изолируйте сеть, если нужно
- Self-hosted подписанный мега-tarball
- Лицензия JWS от клиента
- Бутстрап внутреннего CA на Caddy
- Сервер обновлений опрашивается, без push
- Нулевая телеметрия третьих сторон: control plane ничего не «звонит домой»
Проверьте сами
Настоящая цепочка аудита из 5 строк, встроенная прямо в эту страницу. Пересчитайте каждый хеш SHA-256, проверьте каждую подпись Ed25519, прямо сейчас, в вашем браузере.
| ts | event | prev_hash | hash | sig | status |
|---|---|---|---|---|---|
| 2026-06-30T09:12:04Z | session.spawn | 00000000…000000 | 1fc9478e…d23310 | OyglWI4l…HbCQ== | |
| 2026-06-30T09:14:51Z | permission.approved | 1fc9478e…d23310 | f51cd7d3…62b875 | DJELgYNW…mFBQ== | |
| 2026-06-30T09:21:37Z | secret.access | f51cd7d3…62b875 | 0951657e…440f92 | kkygR5aa…eyBA== | |
| 2026-06-30T09:44:02Z | policy.updated | 0951657e…440f92 | 5fd659a7…20aa98 | e4dkZY5U…lkCA== | |
| 2026-06-30T10:03:19Z | session.closed | 5fd659a7…20aa98 | 99022532…b4952f | MFUtvbrJ…6vCw== |
Ещё не проверено; нажмите «Проверить цепочку».
Что мы видим и чего не видим
Четыре разных утверждения слишком часто сводят к одному слову: шифрование при передаче, шифрование в состоянии покоя, обработка приложением в открытом виде и сквозное шифрование. Только последнее означает, что мы не можем это прочитать. Ниже — разбивка по классам данных для управляемого сервиса.
| Класс данных | Может ли Caldyr это прочитать? |
|---|---|
| Заметки личного хранилища | Нет. Шифруются в браузере; ключ заметки обёрнут только вашим ключом и не депонируется. Вход использует OPAQUE: браузер доказывает, что знает парольную фразу, не отправляя ни её, ни её хэш, а мы храним только регистрационную запись, которую не можем открыть. Оговорка: код, который выводит ваши ключи, выполняется в браузере, но доставляется нашим сервером, поэтому это верно для кода в том виде, в каком он отдан. |
| Секреты | Да. Значение приходит к нам читаемым; мы шифруем его в состоянии покоя командным ключом, который наш сервис хранения может распаковать, и возвращаем открытый текст запросившему сервису. |
| Командная база знаний | Да. Тела записей шифруются в состоянии покоя командным ключом; заголовки, теги и поисковые эмбеддинги хранятся незашифрованными, чтобы записи можно было перечислять и искать. |
| Сохранённые транскрипты сессий | Зависит от аккаунта. Solo (без команды): хост шифрует вывод агента ключом, производным от вашего ключа заметок, до отправки, поэтому мы его прочитать не можем; открытыми хранятся только события состояния, стоимости и завершения без содержимого. Команда в обычном режиме: шифруется в состоянии покоя командным ключом и расшифровывается через сервис хранения для воспроизведения, то есть да. Команда в сквозном режиме: шифруется на хосте, мы не можем прочитать. |
| То, что вы вводите в сессии | Нет, для Solo-сессий и для команд в сквозном режиме. Браузер шифрует ввод и стартовый промпт до отправки ключом, производным от вашего ключа заметок (Solo), или командным ключом; хост расшифровывает, мы передаём только шифртекст. Вводы нумеруются, поэтому хост отклоняет повторно отправленный. Мы по-прежнему видим, что ввод был, когда и его размер. Команды вне режима и Solo-сессии, запущенные workflow, вызовом API exec или до этого выпуска, сохраняют ввод в открытом виде, его защищают изоляция арендаторов и контроль доступа. |
| Живые потоки сессий и ключевые кадры воспроизведения | Да. Живые кадры проходят через хаб в открытом виде, чтобы их можно было смотреть в реальном времени; сохранённые ключевые кадры воспроизведения шифруются в состоянии покоя ключом команды. |
| Строки журнала аудита | Да. Строки аудита связаны хэшем и подписаны Ed25519, но не зашифрованы, и ключ подписи у нас. Их ценность в том, что вы можете их проверить, а не в том, что мы не можем их изменить. |
| Метаданные сессий и данные аккаунта | Да. Хост, пользователь, команда, время, статус, e-mail аккаунта и название компании — обычные колонки, защищённые row-level security. Для Solo-сессий и сессий команд в сквозном режиме описательная запись сессии шифруется на клиенте, мы её прочитать не можем. Данные карты остаются у платёжного провайдера. |
Self-host и air-gap
Криптография — тот же код. Меняется значение слова «мы»: при self-host якорная пара ключей генерируется на вашем хосте при установке и к нам не попадает, поэтому командные ключи может распаковать ваш оператор, а не наш. Air-gap-установки проверяют подпись релиза и лицензию офлайн; ничего не отправляется нам обратно. Выбор облачной модели по-прежнему отправляет промпты её провайдеру.
Таблица описывает уровень приложения. Транспорт везде — TLS, хранилище хостов шифруется в состоянии покоя; ни то, ни другое не делает данные нечитаемыми для сервиса, который ими управляет.
Если вы оценивали альтернативы, вот как мы выглядим на их фоне.
| Anthropic Console | Caldyr | |
|---|---|---|
| Бюджеты по командам | ◐ только организация | ✓ |
| Цепочка подписей аудита (Ed25519) | ✗ | ✓ |
| Отправка в SIEM (Enterprise) | ✗ | ✓ |
| Self-host в изолированной сети | ✗ | ✓ |
| Личное хранилище со сквозным шифрованием | N/A | ✓ |
| Воспроизведение сессий (xterm) | ✗ | ✓ |
| Провижининг SCIM 2.0 (Enterprise) | ◐ | ✓ |
| Время до первого агента | часы | ≈ 10 мин после одобрения |
| LLM-шлюзы | Caldyr | |
|---|---|---|
| Управляемый уровень | запрос/ответ API модели | выполнение агента на хосте |
| Захват сессии + xterm-воспроизведение | – | ✓ |
| Транскрипт шифруется в состоянии покоя (ключ на каждую команду) | – | ✓ |
| Подписанная цепочка аудита (Ed25519) | логи доступа | ✓ |
| Подключение хоста + RBAC по командам | – | ✓ |
| Атрибуция расходов | на API-ключ | на репозиторий · команду · сессию |
| Self-host в изолированной сети | частично | ✓ |
Дополняем, а не конкурируем: шлюзы маршрутизируют API-трафик; Caldyr доказывает, кто запустил какого агента, над чем и под каким ключом, и ограничивает расходы. Работает поверх любого шлюза.
| Сделать самим | Caldyr | |
|---|---|---|
| Бюджеты по командам | ✗ | ✓ |
| Цепочка подписей аудита (Ed25519) | собирать самим | ✓ |
| Отправка в SIEM (Enterprise) | ✗ | ✓ |
| Self-host в изолированной сети | зависит | ✓ |
| Личное хранилище со сквозным шифрованием | зависит | ✓ |
| Воспроизведение сессий (xterm) | ✗ | ✓ |
| Провижининг SCIM 2.0 (Enterprise) | ✗ | ✓ |
| Время до первого агента | недели | ≈ 10 мин после одобрения |
Дайте аудиторам доказательства, а не обещания.
Без обязательств, только 30-минутный разбор. Ваши ключи, ваши данные и подписанные доказательства для аудиторов.