Что записывается и что нельзя стереть
Что записывается и что нельзя стереть
В журнал попадает каждое изменение
Кто, что, когда, над какой записью и с каким результатом. Отдельный набор тестов утверждает, что не осталось изменяющего маршрута без записи в журнале, — это проверяемое утверждение, а не намерение.
Удалить запись приложение не может
Права на `UPDATE`, `DELETE` и `TRUNCATE` журнала у приложения отозваны на уровне базы данных, и попытка отклоняется триггером. Значит, стереть след не может ни ошибка в коде, ни тот, кто получил доступ к учётной записи приложения.
Это защита правами и резервной копией, а не криптографической цепочкой: у записей нет связывающих хэшей, и мы этого не утверждаем. Администратор самой базы данных — отдельный уровень доверия, и он остаётся человеком, а не механизмом.
Секреты в журнал не попадают
Пароли, ключи и токены затираются на входе в журнал, а не при чтении. Отдельная эксплуатационная проверка ищет в записях то, что похоже на учётные данные, и сообщает число найденного.
Основание: docs/SECURITY_MODEL.md, apps/api/src/db/sql/*_audit*.sql. Страница описывает то, что есть в этой
сборке, а не то, что запланировано.