Canonical default bank
builtin.default.v1 с 10 стабильными asset IDs доступен после Clean Install.
Challenge в AntiPF — отдельный управляемый контур: protocol/authorization, image bank, fallback provider, health/readiness и восстановление assets. В 10.050 встроенный canonical pack отделён от пользовательских картинок, чтобы Update/Repair не ломал рабочие Challenge.
10.050 отделяет immutable встроенные assets от mutable customer assets. Canonical файлы восстанавливаются из подписанного release package, а пользовательские изображения сохраняются или регенерируются из private source.
builtin.default.v1 с 10 стабильными asset IDs доступен после Clean Install.
Upload/enable/disable/delete и private source остаются installation-specific.
Broken preview или missing active asset должны давать DEGRADED/ERROR, а не READY.
Смешивание release-файлов и пользовательских derivatives в одном каталоге приводило к потерям при Full Repair. В 10.050 source of truth разделён.
Signed release содержит immutable challenge-defaults и manifest.
Оригиналы пользователя хранятся в Private Storage.
Public WebP создаётся транзакционно и валидируется.
Metadata ↔ private source ↔ public variant сверяются.
Broken custom bank может безопасно перейти на builtin.default.v1.
Missing canonical восстанавливается из package, custom derivative — из private source.
Модуль нужен и для проверки посетителя, и для безопасной эксплуатации самого Challenge-контура.
10 встроенных объектов со stable IDs, RU/EN labels, manifest и hash validation.
Подробнее →Свои изображения сохраняются отдельно и имеют приоритет при явной настройке.
Подробнее →Если metadata/source есть, а public WebP пропал, maintenance/repair может пересобрать derivative.
Подробнее →Проверяет file readability и фактическую HTTP-доступность assets вне visitor hot path.
Подробнее →Успешный Challenge может выдавать доверительный сигнал через отдельный authorization protocol.
Подробнее →При поломке image bank используется здоровый fallback вместо loop.
Подробнее →File exists недостаточно: активный provider, required assets, protocol, authorization и fallback должны быть работоспособны.
Challenge имеет смысл применять после evidence и hard-rules, а не показывать всем подряд.
Risk прогнозирует Challenge, а успешный ответ улучшает reputation.
Challenge может добавить evidence, но не должен автоматически считать любой fail доказанным click-fraud.
Health сверяет builtin/custom assets и восстанавливает допустимые derivatives.
Владелец может использовать custom bank, сохраняя builtin fallback.
Upload проходит decode/validation, public derivative создаётся через temp + atomic rename, а partial files очищаются при ошибке. HTTP self-check не выполняется на каждом visitor request.
В поставку 10.050 входит canonical builtin bank изображений Challenge. Наличие и пригодность конкретных ресурсов проверяются Health/Readiness после установки; пользовательские assets сохраняются отдельно от файлов релиза.
Рабочие custom assets должны сохраняться. Встроенные и пользовательские файлы имеют разный lifecycle и разные sources of truth.
При наличии metadata и валидного private source maintenance/repair может безопасно пересоздать public derivative.
Нет как обычные custom assets. Canonical files управляются package lifecycle; пользователь может выбирать bank, но не удалять release content через обычный UI.
Можно оставить встроенный bank, добавить собственные изображения и сначала проверить readiness/fallback без агрессивного показа каждому посетителю.