Choose an allowlisting method
Web Bot Auth
Preferred where supported. Verify Firmly’s cryptographic HTTP message signatures without exchanging a shared secret.
Header-based
Broadly compatible. Match a merchant-specific
x-agentic-auth value while preserving the direct edge path.IP-based
Fallback only. Match Firmly’s fixed egress addresses when the security product cannot verify request identity.
Why request identity is preferred
Firmly runs on distributed edge infrastructure. Web Bot Auth and header-based allowlisting preserve that architecture because identity travels with each request to the merchant’s CDN or WAF. IP allowlisting instead requires Firmly to route traffic through a limited set of fixed egress paths before it can reach the merchant. Request-level identity:- Preserves direct routing from Firmly’s distributed edge to the merchant’s edge.
- Identifies the request even when CDNs and reverse proxies obscure or replace source IP addresses.
- Avoids concentrating merchant traffic through fixed egress locations and the additional network path they require.
- Keeps access control independent of Firmly’s network topology.
Web Bot Auth (preferred)
Firmly signs outbound requests using Web Bot Auth and publishes the corresponding public key directory. This lets the merchant verify Firmly cryptographically without relying on source IP addresses or a shared secret.Cloudflare lists FirmlyAI Bot as a verified intermediary agent. Its registered Signature Agent URL is
https://api.firmly.online/.well-known/http-message-signatures-directory.Cloudflare-protected merchants
Cloudflare validates Firmly’s Web Bot Auth signatures and recognizes matching requests as FirmlyAI Bot. Configure the merchant’s bot and WAF policies to permit FirmlyAI Bot on the integration routes. Where the Cloudflare plan supports per-operator controls, use the FirmlyAI Bot entry or its BotBase detection ID rather than allowing all automated traffic. See Cloudflare’s Web Bot Auth documentation for verification behavior and plan-specific controls.Other edge providers
The edge provider or origin must support Web Bot Auth or RFC 9421 HTTP message-signature validation. It must retrieve Firmly’s public key from the URL inSignature-Agent and validate Signature-Input and Signature before applying the allow policy.
1
Confirm support
Confirm that the merchant’s CDN, WAF, API gateway, or origin can recognize FirmlyAI Bot or validate Web Bot Auth signatures.
2
Create the allow policy
Permit verified FirmlyAI Bot requests on the hostnames and routes required for the integration. Keep normal controls for requests that are unsigned or fail verification.
3
Preserve signature headers
Ensure proxies do not remove or rewrite
Signature-Agent, Signature-Input, or Signature before validation occurs.4
Confirm completion
Notify
ops@firmly.ai that the policy is ready and identify the domain and environments. Firmly will enable signed requests and run verification.Header-based allowlisting
Firmly uses thex-agentic-auth request header with a unique shared-secret value for each merchant. Exchange the value through a secure channel; do not publish it in tickets, source code, or documentation.
1
Obtain the merchant-specific value
Coordinate with Firmly to generate and securely exchange the
x-agentic-auth value for the merchant domain.2
Create an exact-match rule
Match header name
x-agentic-auth and the complete, case-sensitive secret value. Do not use a prefix, substring, or example value.3
Allow the matching request
Configure the matching request to bypass the controls that would otherwise block Firmly, such as managed WAF rules, bot checks, and rate limits. Keep all normal controls for requests that do not match.
4
Prioritize and scope the rule
Evaluate the rule before blocking and rate-limiting rules. Scope it to the merchant hostnames and routes Firmly needs when the security product supports that restriction.
5
Confirm completion
Notify
ops@firmly.ai that configuration is complete and identify the domain. Share the secret only through the agreed secure channel. Firmly will enable the same value on outbound requests and run verification.For zero-downtime secret rotation, temporarily allow both the old and new values. Remove the old rule only after Firmly confirms that requests using the new value succeed.
IP allowlisting (fallback)
Use the following outbound addresses only when Web Bot Auth and header-based matching are unavailable. This method does not use request-level identity.1
Create the IP sets
Add all four IPv4 entries above. Add both IPv6 ranges when the security product and merchant endpoint support IPv6. Products that separate address families require distinct IPv4 and IPv6 sets.
2
Match the actual source address
Configure the rule at the network layer that receives Firmly’s source address. If an upstream CDN replaces that address, use Web Bot Auth or header-based allowlisting instead of trusting an arbitrary forwarded-IP header.
3
Allow the matching request
Permit matching requests to bypass the blocking, bot-management, and rate-limiting controls required for the Firmly integration. Do not disable those controls globally.
4
Apply the rule to all integration hosts
Cover every staging and production hostname provided to Firmly. Confirm that the rule is evaluated before conflicting block rules.
5
Confirm completion
Send the domain, environments, and allowlisted ranges to
ops@firmly.ai. Firmly will route verification traffic through the fixed egress path and confirm the result.Verification criteria
Firmly verifies the selected method before integration testing continues:- Requests reach the expected merchant endpoint without a WAF block, bot challenge, or rate-limit response.
- Web Bot Auth rules recognize FirmlyAI Bot or validate its HTTP message signature; unsigned or invalid requests continue through the merchant’s normal security policy.
- Header-based rules recognize only the complete merchant-specific value; requests without it continue through the merchant’s normal security policy.
- IP-based rules recognize Firmly traffic through the fixed egress path.
- Catalog and cart validation can run without intermittent access failures.