Supported Features

The following features are supported in Callout Enforcer:

Advanced Blocking Response (ABR)

In specific cases (e.g., XHR post requests), a full captcha page render might not be an option. In such cases the advanced blocking response returns a JSON object containing all the information needed to render a customized captcha challenge implementation - be it a popup modal, a section on the page, etc. This allows for flexibility and customizability in terms of how the captcha pages are displayed.

Block Page Captcha

A captcha page is one of the possible response types returned to the client as a result of a request blocked by the enforcer. In the case of a request with a high risk score, the user receives an HTML page presenting a captcha challenge to solve.

Bypass Monitor Header

When enabling the enforcer for the first time, it is recommended to do so in monitor mode to collect data before actually starting to block user requests. Prior to switching the module mode to active_blocking entirely, it's also crucial to verify that the full blocking flow works as expected. This feature activates the full blocking flow even while in monitor mode if a particular header is present on the request.

CSS Ref

Provides a way to include an additional custom .css file to add to the block page.

Cookie V3

The latest version of our risk cookie, which includes encrypted content and more relevant information regarding the user (e.g., the risk score is between 0 and 100).

CORS Support

Support for cross-origin requests by the Enforcer, this will prevent allowed cross-origin requests from getting blocked by browsers.

Credentials Intelligence

Enables HUMAN to extract credentials from incoming requests and flag credentials that have been compromised. This includes a suite of various configurations and requires access to the HTTP request and response bodies.

Custom Cookie Header

Allows to set a header name which is used to extract the HUMAN cookies, instead of using the request cookies property.

Custom Logo

Adds a custom logo to the block page that will be shown to users. This aligns the block page with the customer's brand.

Custom Parameters

This feature enriches activities sent from the enforcer to HUMAN with additional custom data. This data can include user information, session IDs, or other data that HUMAN should have access to. These custom parameters are defined by a configurable function that must return an object that contains these custom parameters. There is a limit of 10 custom parameters.

Enforced Routes

Defines a regular expression of all route which should always be enforced with no exceptions.

Filter By Route

Routes (endpoints) specified by a regular expression will not be blocked, regardless of the score they receive. A client request to an allowed route will not generate any risk or async activities.

Filter By User Agent

Filters out requests according to their user agent value, avoiding unnecessary traffic in the enforcer verification flow and reducing operation costs.

Filter By Extension

HUMAN does not enforce static assets such as images and documents. To prevent unnecessary API calls to HUMAN servers and needless computation, the enforcer filters all requests with a valid static file extension.

Filter by HTTP Method

Filters out requests according to their HTTP Method, avoiding unnecessary traffic in the enforcer verification flow and reducing operation costs.

First Party

To prevent suspicious or unwanted behavior on the client side, some browsers or extensions (such as an Adblock extension) may deny the frontend JavaScript code from making requests to other domains. This prevents the HUMAN sensor from making requests to the HUMAN backends, which greatly limits HUMAN's detection capabilities. To avoid this problem, first_party enables the enforcer to be used as a proxy for HUMAN servers, and to serve content to the browser from a first party endpoint (i.e., an endpoint on the customer’s domain).

JS Ref

Provides a way to include a custom JS script to add to the block page. This script will run after the default JS scripts.

Mobile Support

The enforcer recognizes and handles requests coming from HUMAN Mobile SDK. Because mobile apps do not add cookies as part of the HTTP requests, the HUMAN cookies are sent as headers instead. Mobile user-agents may change during the flow of the app, so the mobile 'cookies' are not signed with user-agent and are considered as tokens.

Module Enable

This feature serves as an on/off switch for the entire module, providing a way to enable and disable all HUMAN capabilities quickly and easily.

Monitored Routes

Enables certain endpoints to be monitored rather than enforced by HUMAN, even when the enforcer is in active blocking mode.

Sensitive Headers

The HUMAN detector requires information about the HTTP request as part of its bot detections. Certain headers may contain information that should not be forwarded to other servers, including the HUMAN backend. Configuring these header names as sensitive headers will remove these headers from requests sent to other backends by HUMAN.

Sensitive Routes

Certain endpoints may require more stringent protection from bot attacks (e.g., endpoints that execute payments or handle personal information). In these cases, routes can be configured as sensitive routes, meaning risk API calls will be made even if the request contains a valid, unexpired cookie.

VID Extraction

The visitor ID (VID) is an identifier used by HUMAN to identify clients during and across sessions. The VID is crucial for detection, and any mishandling of this feature could decrease its accuracy.

Telemetry Command

The enforcer_telemetry activity is sent to HUMAN servers whenever the enforcer receives a telemetry command. This activity provides information directly to HUMAN about the current environment and configuration of the enforcer.