Getting started Community Training Tutorials Documentation APIs, AI & Tools
AIDR Endpoint
Policy Name |
CrowdStrike AIDR Guardrails Policy |
Summary |
Evaluates OpenAI-format LLM prompts and responses against CrowdStrike Falcon AI Detection and Response (AIDR), rejecting or redacting flagged content |
Category |
LLM |
First Omni Gateway version available |
v1.14.0 |
Release Notes |
|
Returned Status Codes |
403 - Forbidden: Content rejected by CrowdStrike AIDR |
503 - Service Unavailable: AIDR call failed, timed out, or returned a verdict the policy can’t use (only when fail-open is disabled) |
The CrowdStrike Falcon AI Detection and Response (AIDR) Guardrails policy provides content moderation for LLMs by evaluating prompts and responses against CrowdStrike Falcon AIDR. The policy sends the conversation to AIDR and enforces the returned verdict at the gateway before the request reaches the upstream LLM (request phase) or before the response is returned to the client (response phase).
The policy supports only OpenAI Chat Completions format traffic, because the AIDR API accepts only that format.
An AIDR collector token is both the credential and the link to your AIDR policy. Which detectors run, their thresholds, redaction rules, and whether a detection rejects content are all configured in the Falcon console, not in the gateway policy. Changes you make in the Falcon console take effect without needing to modify the gateway policy.
The policy turns each AIDR verdict into one of these gateway actions:
Allow: Content that AIDR doesn’t reject is forwarded unchanged. Detections from an AIDR policy in report-only mode are allowed.
Redact: When Enable Transformation is enabled and AIDR returns redacted content, the policy replaces the original content with the redacted content and forwards it.
Reject: When AIDR rejects the content, the client receives an HTTP 403 response that names the triggered detectors.
The policy rejects content only when the AIDR verdict says to reject it. Detections alone never cause a rejection.
The policy operates in two independent phases:
Request phase: Sends the prompt messages to AIDR as an input event. Rejected prompts never reach the LLM.
Response phase: Sends the LLM completion to AIDR as an output event before returning it to the client.
Both phases are enabled by default.
Before configuring this policy, you need:
A CrowdStrike AIDR for Agents subscription. AIDR for Workforce collectors aren’t supported.
An AIDR Application collector token, issued from the Falcon console. The AIDR policy assigned to the collector determines how content is evaluated.
The AIDR endpoint URL for the CrowdStrike cloud that hosts your Falcon tenant. The cloud is the only data residency control AIDR offers, so choose it deliberately. Each URL includes the /aidr/aiguard path:
US-1: https://api.crowdstrike.com/aidr/aiguard
US-2: https://api.us-2.crowdstrike.com/aidr/aiguard
EU-1: https://api.eu-1.crowdstrike.com/aidr/aiguard
Prompts and responses leave your network when they’re sent to CrowdStrike for evaluation. Ensure the Omni Gateway can reach the AIDR host outbound. To keep content out of CrowdStrike logs, configure content logging exclusions in the Falcon console.
Traffic in any other format, non-POST requests, and requests without a JSON body pass through unscanned.
When you apply the policy from the UI, the following parameters are displayed:
| Element | Required | Description |
|---|---|---|
AIDR Endpoint |
Yes |
Base URL of the AIDR API for the CrowdStrike cloud that hosts your Falcon tenant: |
Collector Token |
Yes |
AIDR Application collector token. The token authenticates each call and selects the AIDR policy assigned to the collector. The collector must belong to an AIDR for Agents subscription. This value is sensitive and is never logged. |
Moderate Request |
No |
When enabled (default), the policy evaluates the prompt messages against AIDR before forwarding them to the upstream LLM. Rejected prompts never reach the LLM. |
Moderate Response |
No |
When enabled (default), the policy evaluates the LLM completion against AIDR before returning it to the client. Streaming responses ( |
| Element | Required | Description |
|---|---|---|
Request Collector Token |
No |
Collector token to use for the request phase, so prompts can use a different AIDR policy. When not set, the policy uses Collector Token. |
Response Collector Token |
No |
Collector token to use for the response phase, so completions can use a different AIDR policy. When not set, the policy uses Collector Token. |
Application ID |
No |
Application identifier sent on every AIDR call. Use it to identify this API on the AIDR Findings page. |
Collector Instance ID |
No |
Identifier that distinguishes gateway instances or environments that share one collector. |
Enable Transformation |
No |
When enabled, the policy replaces the original content with the redacted content that AIDR returns. If the redacted content doesn’t match the original messages one for one, the policy doesn’t apply it and handles the call as failed. See Fail Open and Fail Closed. Default: disabled. |
Enable Unredact |
No |
When enabled, the policy restores redacted values in the LLM response, so the LLM never sees the original sensitive values but the client does. Requires Enable Transformation and Moderate Request. See Redact and Unredact. Default: disabled. |
Sampling Rate |
No |
Percentage of requests sent to AIDR for evaluation. Must be between |
History Depth |
No |
Maximum number of prior conversation turns sent to AIDR on each call. |
API Timeout (ms) |
No |
Timeout for each AIDR call in milliseconds. Must be between |
Fail Open |
No |
Determines behavior when an AIDR call fails, times out, or returns a verdict the policy can’t use:
|
The CrowdStrike AIDR Guardrails policy integrates with CrowdStrike Falcon AIDR to evaluate LLM prompts and responses.
The policy supports independent evaluation for request and response:
Request Phase (when Moderate Request is enabled):
The policy checks that the request is a POST request in OpenAI format with a JSON body. Other traffic passes through unscanned.
The policy decides whether to sample the request, based on Sampling Rate. Requests that aren’t sampled are allowed without evaluation in both phases.
The policy sends the prompt messages, limited by History Depth, to AIDR as an input event, with Application ID and Collector Instance ID.
The policy enforces the AIDR verdict. If the prompt is allowed, the policy forwards it to the upstream LLM. If AIDR redacts the prompt and Enable Transformation is enabled, the policy forwards the redacted prompt. If AIDR rejects the prompt, the policy returns HTTP 403.
Response Phase (when Moderate Response is enabled):
The policy buffers the LLM response. For a streaming response, the policy rebuilds the full completion from the stream.
The policy sends the completion to AIDR as an output event.
The policy enforces the AIDR verdict. If the completion is allowed, the policy returns it unchanged, or with redacted values restored when Enable Unredact is enabled. If AIDR redacts the completion and Enable Transformation is enabled, the policy returns the redacted completion. If AIDR rejects the completion, the policy replaces the response with an HTTP 403 response.
| For streaming responses, the policy can’t apply redacted content or restore redacted values. If AIDR redacts a streaming response, the policy handles the call as failed. See Fail Open and Fail Closed. |
When Enable Transformation and Enable Unredact are both enabled, the policy can keep sensitive values from the LLM while still returning them to the client:
In the request phase, AIDR redacts sensitive values in the prompt, and the policy forwards the redacted prompt to the LLM.
In the response phase, the policy asks AIDR to restore the redacted values in the LLM completion before returning it to the client.
Only reversible redaction configured in the Falcon console (format-preserving encryption) can be restored. Values replaced with a placeholder, for example, <US_SSN>, can’t be restored.
The response phase restores values only when AIDR allows the completion. If AIDR redacts the completion, the client receives the redacted completion.
If restoring values fails, Fail Open determines the result. When Fail Open is disabled, the policy returns HTTP 503. When Fail Open is enabled, the client receives the redacted completion.
The policy handles these conditions as a failed call:
The AIDR call returns an error or times out.
AIDR returns a verdict that doesn’t say whether to reject the content.
AIDR returns redacted content that the policy can’t apply to the original messages, or to a streaming response.
When Fail Open is disabled, the policy rejects the request or response with HTTP 503. When Fail Open is enabled, the policy allows the traffic unscanned.
The following examples demonstrate common configuration patterns for the CrowdStrike AIDR Guardrails policy.
Only the two required fields. Both phases are evaluated, every request is sampled, and failed calls are rejected with a 5000 ms timeout.
- policyRef:
name: crowdstrike-aidr-guardrails-policy-v1-0-impl
namespace: default
config:
aidrEndpoint: https://api.crowdstrike.com/aidr/aiguard
collectorToken: "${CROWDSTRIKE_AIDR_COLLECTOR_TOKEN}"
An EU-1 endpoint, separate collectors for prompts and completions, and application and instance identifiers for the AIDR Findings page.
- policyRef:
name: crowdstrike-aidr-guardrails-policy-v1-0-impl
namespace: default
config:
aidrEndpoint: https://api.eu-1.crowdstrike.com/aidr/aiguard
collectorToken: "${CROWDSTRIKE_AIDR_COLLECTOR_TOKEN}"
advancedConfiguration:
requestCollectorToken: "${CROWDSTRIKE_AIDR_INPUT_TOKEN}"
responseCollectorToken: "${CROWDSTRIKE_AIDR_OUTPUT_TOKEN}"
applicationId: checkout-assistant
collectorInstanceId: gateway-prod-eu
apiTimeoutMs: 8000
Redacts sensitive values before the prompt reaches the LLM, restores them in the response to the client, and evaluates 25% of requests to limit AIDR usage.
- policyRef:
name: crowdstrike-aidr-guardrails-policy-v1-0-impl
namespace: default
config:
aidrEndpoint: https://api.crowdstrike.com/aidr/aiguard
collectorToken: "${CROWDSTRIKE_AIDR_COLLECTOR_TOKEN}"
advancedConfiguration:
enableTransformation: true
enableUnredact: true
samplingRate: 25
Only the prompt is evaluated, only the last 10 conversation turns are sent to AIDR, and if AIDR is unreachable the request proceeds unscanned.
- policyRef:
name: crowdstrike-aidr-guardrails-policy-v1-0-impl
namespace: default
config:
aidrEndpoint: https://api.us-2.crowdstrike.com/aidr/aiguard
collectorToken: "${CROWDSTRIKE_AIDR_COLLECTOR_TOKEN}"
moderateRequest: true
moderateResponse: false
advancedConfiguration:
historyDepth: 10
failOpen: true