Challenge Studio

Challenge Studio: проверять подозрительный трафик без challenge-loop и сломанных assets

Challenge в AntiPF — отдельный управляемый контур: protocol/authorization, image bank, fallback provider, health/readiness и восстановление assets. В 10.050 встроенный canonical pack отделён от пользовательских картинок, чтобы Update/Repair не ломал рабочие Challenge.

Protocol v2Builtin 10/10 packCustom assets preservedFallback & self-healing
Challenge health
Protocolopaque · single-use
READY
Builtin pack10 / 10 assets
READY
Custom variantsmetadata/source/public
HEALTHY
Overallrenderable + fallback
READY
Overall READY допустим только когда активный Challenge реально отображается и required assets доступны.
Human verification

Challenge должен быть последним контролируемым шагом, а не новой причиной отказа сайта

10.050 отделяет immutable встроенные assets от mutable customer assets. Canonical файлы восстанавливаются из подписанного release package, а пользовательские изображения сохраняются или регенерируются из private source.

BUILTIN

Canonical default bank

builtin.default.v1 с 10 стабильными asset IDs доступен после Clean Install.

CUSTOM

Свои изображения

Upload/enable/disable/delete и private source остаются installation-specific.

HEALTH

Правдивая readiness

Broken preview или missing active asset должны давать DEGRADED/ERROR, а не READY.

Архитектура

Два класса assets и один проверяемый lifecycle

Смешивание release-файлов и пользовательских derivatives в одном каталоге приводило к потерям при Full Repair. В 10.050 source of truth разделён.

01
Builtin source

Signed release содержит immutable challenge-defaults и manifest.

02
Custom source

Оригиналы пользователя хранятся в Private Storage.

03
Derivative

Public WebP создаётся транзакционно и валидируется.

04
Health

Metadata ↔ private source ↔ public variant сверяются.

05
Fallback

Broken custom bank может безопасно перейти на builtin.default.v1.

06
Repair

Missing canonical восстанавливается из package, custom derivative — из private source.

Anti-loop invariant. Отсутствующая картинка не должна запускать бесконечную перезагрузку Challenge.
Что умеет модуль

Что даёт Challenge Studio

Модуль нужен и для проверки посетителя, и для безопасной эксплуатации самого Challenge-контура.

01

Canonical image bank

10 встроенных объектов со stable IDs, RU/EN labels, manifest и hash validation.

Подробнее →
02

Custom image bank

Свои изображения сохраняются отдельно и имеют приоритет при явной настройке.

Подробнее →
03

Self-healing derivatives

Если metadata/source есть, а public WebP пропал, maintenance/repair может пересобрать derivative.

Подробнее →
04

Readiness diagnostics

Проверяет file readability и фактическую HTTP-доступность assets вне visitor hot path.

Подробнее →
05

Visitor Authorization

Успешный Challenge может выдавать доверительный сигнал через отдельный authorization protocol.

Подробнее →
06

Fallback provider

При поломке image bank используется здоровый fallback вместо loop.

Подробнее →
Readiness & evidence

READY означает «можно реально показать посетителю»

File exists недостаточно: активный provider, required assets, protocol, authorization и fallback должны быть работоспособны.

READY
Полный контур доступенActive Challenge renderable, assets readable, fallback available.
DEGRADED
Есть восстанавливаемая проблемаНапример missing custom derivative при валидном private source.
ERROR
Challenge нельзя безопасно отдатьАктивный bank/provider повреждён без рабочего fallback.
NO_DATA
Нет custom assetsНормально, если используется builtin bank.
Практическое применение

Когда Challenge особенно полезен

Challenge имеет смысл применять после evidence и hard-rules, а не показывать всем подряд.

ANTI-BOT

Подозрительная automation-сессия

Risk прогнозирует Challenge, а успешный ответ улучшает reputation.

Связанный сценарий →
ADS

Сомнительный рекламный визит

Challenge может добавить evidence, но не должен автоматически считать любой fail доказанным click-fraud.

Связанный сценарий →
CUSTOM

Собственный визуальный набор

Владелец может использовать custom bank, сохраняя builtin fallback.

Связанный сценарий →
Безопасность

Challenge не должен становиться точкой отказа

Upload проходит decode/validation, public derivative создаётся через temp + atomic rename, а partial files очищаются при ошибке. HTTP self-check не выполняется на каждом visitor request.

FAQ

Вопросы про Challenge Studio

Есть ли встроенные картинки после установки?

В поставку 10.050 входит canonical builtin bank изображений Challenge. Наличие и пригодность конкретных ресурсов проверяются Health/Readiness после установки; пользовательские assets сохраняются отдельно от файлов релиза.

Пропадут ли мои изображения при обновлении?

Рабочие custom assets должны сохраняться. Встроенные и пользовательские файлы имеют разный lifecycle и разные sources of truth.

Что если public WebP удалился?

При наличии metadata и валидного private source maintenance/repair может безопасно пересоздать public derivative.

Можно ли удалить встроенные картинки?

Нет как обычные custom assets. Canonical files управляются package lifecycle; пользователь может выбирать bank, но не удалять release content через обычный UI.

Следующий шаг

Настроим Challenge под ваш сценарий

Можно оставить встроенный bank, добавить собственные изображения и сначала проверить readiness/fallback без агрессивного показа каждому посетителю.