Войти Бесплатно навсегда Начать

Неизменяемое хранилище

Ничто никогда не перезаписывается.

Любое другое хранилище редактирует данные на месте. Измените пароль, и старый исчезнет — не останется никаких записей о том, что он когда-либо существовал, никакой возможности доказать, что было истинным во вторник. Clavitor не перезаписывает. Каждое изменение записывает новую ревизию. История сохраняется. Запись полная.

Только добавление, до самого конца.

Учётные данные в Clavitor — это не строка, которую Вы редактируете. Это стек ревизий. Обновите пароль, и хранилище вставляет новую версию — оно никогда не затрагивает старую. Последняя ревизия — это текущее значение; каждая предыдущая ревизия остается нетронутой, на своем месте, в порядке.

01 — Запись

Новая ревизия при каждом изменении

Каждое обновление — это ВСТАВКА, никогда не ОБНОВЛЕНИЕ. Запись сохраняет единую стабильную идентификацию; номер версии увеличивается. Чтение учётных данных возвращает наивысшую версию — то же значение, которое Вы ожидаете — в то время как каждая предыдущая версия остается точно такой, какой была записана.

02 — Сохранение

История на весь срок службы хранилища

Старые ревизии сохраняются до тех пор, пока существует хранилище. История ротации, значение до утечки, поле в состоянии на любую дату — ничего из этого не отбрасывается. Прошлое — это не журнал, который, как Вы надеетесь, кто-то вел. Это сами данные.

03 — Удаление

Отметка об удалении, а не стирание

Удаление учётных данных записывает еще одну ревизию, которая помечает их как удаленные. Запись перестает разрешаться — но запись о том, что она существовала, и когда она была удалена, остается. Удаление, которое можно доказать, стоит больше, чем удаление, не оставляющее следов.

Почему это важно

Вопросы, на которые не может ответить изменяемое хранилище.

Когда каждое редактирование уничтожает предыдущее, целые классы вопросов становятся неразрешимыми. Неизменяемость решает их по своей сути.

"Какой ключ был в день инцидента?"

Ротированный секрет обычно исчезает в момент замены. Здесь значение, которое было активным в течение определенного периода, все еще находится в хранилище, в своей версии, с временной меткой, которая это подтверждает. Форензика перестает быть археологией.

"Кто это изменил и каким оно было до этого?"

Каждое обновление, удаление, изменение области видимости и изменение агента записывает событие аудита, связанное с новой ревизией. История и запись о том, кто ее сделал, — это одна и та же история, рассказанная двумя способами — и ни одна из них не может быть тихо перемотана назад. См. защищенный от несанкционированного доступа журнал аудита →

"Можем ли мы просто отменить это?"

Неудачная ротация, ошибочное редактирование, скомпрометированный агент, который перезаписал поле — когда ничего не уничтожается, восстановление предыдущего значения заключается в чтении более ранней версии, а не в восстановлении резервной копии и надежде, что она достаточно свежая.

"Что-нибудь изменилось, пока мы не смотрели?"

Оно не может измениться незаметно. Нет никакого изменения на месте, которое можно было бы пропустить. Текущее состояние — это ревизия с номером, автором и временной меткой — и каждое предыдущее состояние тоже.

Один принцип, все хранилище.

Неизменяемость — это не функция, прикрепленная к учётным данным. Это то, как построена каждая запись в Clavitor. Ваши записи, журнал аудита, записи о зашифрованных ключах, само содержание этих страниц — все только для добавления, все одинаково. В системе нет места, где бы истина перезаписывалась.

Реплицируется без конфликтов

Поскольку ревизия записывается один раз и никогда не изменяется, ее копирование на другую сторону планеты тривиально: однонаправленный курсор с явным подтверждением при приземлении строки. Нет редактирования для согласования, нет конфликта для разрешения, нет вопроса "какая копия правильная". Данные только для добавления имеют ровно одну историю.

Шифротекст, сохраненный — а не открытый текст, утечка

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

Единственное исключение

Мы документируем единственное место, где мы производим запись на месте.

Честность — часть дизайна. Существует ровно одно поле, которое записывается на месте, а не как новая ревизия: verified_at, маркер, который записывает когда учётные данные в последний раз работали. Это метаданные использования, а не изменение содержимого — поэтому они обновляют последнюю ревизию напрямую, и каждая отметка сама по себе регистрируется в журнале аудита. Мы рассказываем Вам об этом здесь, потому что незадокументированное исключение — это то, что делает заявление о неизменяемости пустым. Это единственное.

Удаление, выполненное правильно.

Только добавление не означает, что Вас никогда нельзя забыть. Это означает, что забвение является преднамеренным, полным и зафиксированным. Отметки об удалении для каждой ревизии обрабатывают обычный случай. Когда требуется реальное стирание — запрос GDPR, закрытие учетной записи — удаление охватывает все хранилище и необратимо, выполняется как преднамеренная операция, а не как тихое перезаписывание полей. Вас никогда не редактируют втихую; когда Вас удаляют, Вас удаляют намеренно и полностью.

Честное хранилище сохраняет свою историю.

Неизменяемость — это половина истории. Другая половина — это запись о том, кто к чему прикасался — связанная, засвидетельствованная и доказуемая.