Детали статьи

Что на самом деле значит «готов к аудиту» и почему это спросят инвесторы
ИнженерияСтартапыГайды

Что на самом деле значит «готов к аудиту» и почему это спросят инвесторы

Вернуться назад

Формулировку «готов к аудиту» используют настолько свободно, что она рискует стать украшением. Поэтому вот определение, достаточно узкое, чтобы его можно было опровергнуть: система готова к аудиту, если компетентный человек со стороны может проверить, как она работает, у кого какой доступ и что когда изменилось, — не спрашивая никого из тех, кто её строил.

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

Восемь свойств, которые проверяют

  1. Воспроизводимая установка. Новый инженер клонирует репозиторий и запускает проект локально меньше чем за час, пользуясь только документацией.
  2. Осмысленное покрытие тестами. Не процент, а покрытие именно там, где ходят деньги, проверяются права и обрабатываются персональные данные.
  3. Контроль доступа на уровне данных. Авторизация применяется там, где данные читаются, а не проверяется поэкранно в интерфейсе.
  4. Журнал аудита. Кто что и когда изменил — для любой записи, о которой может спросить регулятор, клиент или суд.
  5. Происхождение зависимостей. Полный перечень стороннего кода с лицензиями и задокументированный процесс обновления.
  6. Восстановимость. Резервные копии, которые хотя бы раз восстанавливали, и записанное целевое время восстановления, которое кто-то реально измерял.
  7. Записанные архитектурные решения. Не схемы того, что есть, а фиксация того, что выбрали, что отвергли и почему.
  8. Нет единых точек отказа в людях. Ничто в продакшене не требует доступности одного конкретного человека.

Почему это коммерческий вопрос, а не технический

Каждое из восьми свойств превращается в деньги в момент, который выбираете не вы:

  • Корпоративный клиент присылает анкету по безопасности. Готовность означает, что вы вернёте её за два дня, а не за две недели, и закроете сделку в этом квартале.
  • Инвестор заказывает техническое due diligence. Готовность означает вывод «существенных замечаний нет» вместо списка, который превращается в поправку к оценке.
  • Уходит ключевой инженер. Готовность означает передачу дел, а не археологические раскопки.
  • Случается инцидент. Готовность означает, что вы можете точно сказать, какие записи затронуты, — а это часто разница между уведомлением и кризисом.

Ни к чему из этого нельзя подготовиться по требованию. К моменту, когда анкета придёт, состояние вашей системы уже зафиксировано.

Самопроверка

Сделайте её сегодня. Это займёт полдня и не требует технических навыков — только умение задавать вопросы:

  • Попросите инженера развернуть проект на чистой машине только по документации и засеките время.
  • Возьмите одну клиентскую запись и спросите, кто изменил её последним, когда и откуда. Засеките время ответа.
  • Спросите, когда последний раз восстанавливали резервную копию — не делали, а именно восстанавливали.
  • Спросите, какие сторонние библиотеки есть в продукте и под какими лицензиями. Если это занимает больше пяти минут, значит, не задокументировано.
  • Спросите, что сломается, если самый давний инженер будет недоступен две недели.

Обнаруженные пробелы обычно невелики по отдельности и серьёзны в совокупности. Большинство команд закрывает их за четыре-шесть недель — но только пока ответа никто не ждёт.

Готовность к аудиту — это не сертификат, который получают. Это способность доказывать факты о собственной системе по чужому графику.

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

Теги