> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.humansecurity.com/applications/callout/llms.txt. # Callout Enforcer This guide describes how to install and configure self-hosted **HUMAN Callout Enforcer**. ### General information HUMAN Callout Enforcer is a service running on client premises, which communicates with the client's Envoy's ["ext_proc" (External Processing)](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter) filter.\ For every request Envoy sends Request Headers to Callout Enforcer and waits for the Status Response. Status Response could be either "pass" or "block and display Captcha page". ![](/_fern-img/3bab8172eb7e1f4e0a9616161072140913cc83658cbc0868996f9c695885fab0.webp) ### Details about HUMAN Callout Enforcer 1. by default it uses configuration file named `pxconf.json`, located in `/etc` folder 2. by default it listens on `50051` port 3. `perimeterx/px_callout_enforcer:latest` docker image contains HUMAN Callout Enforcer application ### Configure steps for Envoy and HUMAN Callout Enforcer 1. Configure Envoy's ext_proc filter [Details](https://docs.humansecurity.com/applications-and-accounts/docs/envoy-configuration) 2. Add a new "callout" cluster to Envoy configuration [Details](https://docs.humansecurity.com/applications-and-accounts/docs/envoy-configuration) 3. Configure HUMAN Callout Enforcer (`pxconf.json` file) [Details](https://docs.humansecurity.com/applications-and-accounts/docs/enforcer-configuration-1) 4. Pull and run `perimeterx/px_callout_enforcer:latest` docker image (mount `pxconf.json` to `/etc/pxconf.json` file in the container and expose 50051 port) [Details](https://docs.humansecurity.com/applications-and-accounts/docs/docker-image) ### Optional steps 1. Enable SSL/TLS certificate [Details](https://docs.humansecurity.com/applications-and-accounts/docs/advanced-configuration-2) ### Testing Complete example of both Envoy and HUMAN Callout Enforcer configuration and commands could be found here: [Complete Example](https://docs.humansecurity.com/applications-and-accounts/docs/complete-example) ## Docs - [Changelog](https://docs.humansecurity.com/applications/callout/changelog/llms.txt) - [Supported Features](https://docs.humansecurity.com/applications/callout/supported-features.md) - [Envoy configuration](https://docs.humansecurity.com/applications/callout/envoy-configuration.md) - [Enforcer Configuration](https://docs.humansecurity.com/applications/callout/configuration.md) - [Advanced Configuration](https://docs.humansecurity.com/applications/callout/advanced-configuration.md) - [Docker Image](https://docs.humansecurity.com/applications/callout/docker-image.md) - [Complete Example](https://docs.humansecurity.com/applications/callout/complete-example.md)