Безопасность, спроектированная как фундамент
Мы провели независимый аудит логики ещё до запуска. Каждое решение в списке — это закрытая в коде угроза, а не теоретический пункт в чек-листе.
AES-256-GCM для найденных данных
Никаких оригиналов ПДн в открытом виде. Только солёный hash для поиска повторов и зашифрованный blob с версионированием ключа.
HMAC-цепочка аудита
Каждая запись подписана от предыдущей. Разрыв цепочки виден сразу — отчёт целостности встроен в UI.
RLS на уровне БД
Изоляция данных тенантов реализована политиками Postgres, а не на уровне приложения. Невозможно «забыть» where org_id.
Префиксные ключи + bcrypt
Ключи `ain_live_{role}_{32hex}`. В БД лежит bcrypt-хеш и 8-символьный префикс для индекса. Поиск без раскрытия секрета.
Защита OCR от DoS
Лимиты до OCR: 5 MB, 4096×4096, 3 изображения / запрос. SHA-256 дедупликация. Per-org rate-limit.
Проверка потока без слепых зон
Sliding window 50 символов + stateful Aho-Corasick. Сущности на границе чанков не теряются.