Skip to main content

Policy Controls Catalog

Verdictan has policy controls for requests, tools, output, routing, and audit paths. This catalog shows the primary controls. It also gives starter snippets.

Request, tool, and routing controls

  • data-routing-policy: filter which configured providers can receive traffic.
  • prompt-injection: detect jailbreak and prompt-injection signals before upstream calls.
  • pii-detector: redact or block sensitive identifiers and apply buffered response redaction.
  • hipaa-phi-detector: add HIPAA-style PHI heuristics on top of the shared redaction pipeline.
  • rbac: enforce role, identity, and sensitivity-based access rules.
  • agent-firewall: allow or deny tool use and enforce per-request action or transaction limits.
  • cjis-mode: enforce CJIS-style request constraints.
  • dlp-filter: apply broader data-loss-prevention pattern controls.
  • safety-filter: block or escalate dangerous content patterns.
  • student-privacy: protect student-data scenarios.
  • case-privacy: protect case-sensitive justice and legal data.
  • itar-ear-filter: block export-control reference terms.
  • entity-list-filter: match denied or watch-listed entities.
  • dual-use-filter: detect dual-use and sensitive capability signals.
  • embedding-detector: semantic detector that can be declared directly in config.

Output controls

  • quality-scorer: calculate and act on quality thresholds.
  • human-oversight: return an escalated result and do not deliver assistant content.
  • citation-verifier: evaluate groundedness against request context.
  • mnpi-filter: block generated output containing configured MNPI phrases.
  • financial-compliance: add finance-oriented compliance behavior.
  • legal-privilege: block generated output containing privilege markers.
  • upl-filter: apply unauthorized-practice-of-law controls.
  • bias-monitor: escalate the built-in HR-oriented bias signal when it is equal to or more than the configured threshold.
  • response-rewriter: apply deterministic response transformations after the upstream model returns.
  • healthcare-compliance: enforce medical blocked patterns and disclaimers.

Audit and evidence

  • audit-logger: add an allow-only audit marker to the active chain. Configure storage and retention through their owning workflows.

Starter configurations

The sections below give correct starter YAML for standard combinations.

PII redaction with audit logging

policies:
chain:
- pii-detector
- audit-logger

policy:
pii-detector:
action: redact
redaction:
marker_format: label
include_metadata: true
audit-logger: {}

Prompt-injection protection

policies:
chain:
- prompt-injection
- audit-logger

policy:
prompt-injection:
attack_patterns:
- "ignore.*previous.*instructions"
- "forget.*system.*prompt"
encoding:
decode_base64: true
normalize_unicode: true
detect_homoglyphs: true
boundaries:
enforce_delimiters: true
reject_fake_boundaries: true

Agent firewall with role-based tool access

policies:
chain:
- audit-logger
- agent-firewall
- rbac

policy:
agent-firewall:
tools:
roles:
analyst:
allowed:
- search
- summarize
denied:
- execute_code
- shell_command

rbac:
require_auth: true
roles:
analyst:
allowed_tools:
- search
- summarize
denied_tools:
- execute_code
- shell_command

audit-logger: {}

The two role controls use the role in the authenticated policy identity. They do not trust a caller-supplied role header.

Healthcare redaction stack

providers:
targets:
- id: healthcare-provider
provider: openai
model: your-openai-model
secret_key_ref:
env: VERDICTAN_OPENAI_API_KEY
data_policy:
zero_data_retention: true

policies:
chain:
- audit-logger
- data-routing-policy
- pii-detector
- hipaa-phi-detector
- healthcare-compliance

policy:
data-routing-policy:
require_zero_data_retention: true
on_no_compliant_provider: block

pii-detector:
action: redact
healthcare_mode: true
pci_mode: false
redaction:
marker_format: label
include_metadata: true

hipaa-phi-detector:
action: redact

healthcare-compliance: {}

audit-logger: {}

Finance output controls

policies:
chain:
- audit-logger
- mnpi-filter
- financial-compliance
- quality-scorer

policy:
mnpi-filter:
detect_patterns:
- "earnings before announcement"
- "merger not public"

financial-compliance: {}

quality-scorer:
min_output_chars: 100
min_sentences: 2

audit-logger: {}

Use stream: false for this output-control stack.

Testing a policy config

After you write the config, validate it with the CLI. Then, send a test request.

verdictan policy lint --file policy-config.yaml
curl http://localhost:41002/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VERDICTAN_REQUEST_TOKEN" \
-d '{
"model": "your-openai-model",
"messages": [
{"role": "user", "content": "My SSN is 123-45-6789. Summarize the report."}
]
}'

Important limitations

  • The catalog shows primary controls, but the runtime manages some behavior.
  • For example, human-oversight acts only on action: escalate. language-validator enforces input checks only.
  • These controls do not give complete compliance guarantees. Customers continue to own legal review, operating processes, and provider governance.
  • Use the declarative config reference as the source of truth for specified accepted shapes.

Next steps