
Capabilities
- Violation Scoring: Continuous 0-1 scale violation detection with configurable thresholds
- Custom Natural Language Rules: Define safety rules in plain English without code
- Policy Management: Use pre-built policies from GraySwan platform or create custom ones
- Indirect Prompt Injection (IPI) Detection: Identify hidden instructions in user inputs
- Mutation Detection: Detect attempts to manipulate or alter content
- Reasoning Modes: Choose from fast (“off”), balanced (“hybrid”), or thorough (“thinking”) analysis
Configuration Fields
Request Header Metadata
For each GraySwan monitor call, Bifrost includes sanitized incoming request headers in GraySwanmetadata.headers. This gives GraySwan request context for correlation and policy analysis, such as x-request-id, x-correlation-id, traceparent, x-tenant-id, x-org-id, content-type, and content-length.
Credential-bearing headers are excluded. Bifrost does not send authorization, proxy-authorization, x-api-key, api-key, x-goog-api-key, x-bf-vk, x-bf-api-key, x-bf-api-key-id, cookie, set-cookie, or grayswan-api-key in GraySwan metadata.
This is metadata only: these values are added to the JSON body sent to GraySwan, not forwarded as outbound HTTP headers, and they cannot override the configured GraySwan API key.
Streaming Output and Tool Calls
For text-only streaming responses, Bifrost forwards output to the client normally and does not call Cygnal. If Bifrost detects a supported tool call, it stops forwarding further chunks to the client, accumulates the remaining chunks until the model response is complete, and sends the full accumulated response and earlier conversation to Cygnal in one request. If Cygnal allows the response, Bifrost sends the held chunks to the client. If Cygnal blocks it, the tool call and later content are not sent. Any text sent before Bifrost detects the tool call remains visible to the client. Bifrost recognizes Chat Completions tool calls and Responses API function-call and custom tool-call events.If the same rule also uses another output guardrail profile, Bifrost waits for that profile to check the completed response. GraySwan’s text-only behavior only skips the GraySwan call; it does not bypass the other profile. See Streaming Output Guardrails for the shared behavior.
Custom Rules Example

Detection Features
- Real-time violation scoring
- Multi-rule evaluation
- IPI attack detection
- Content mutation monitoring
- Detailed violation descriptions with rule attribution

