Skip to main content

MNPI Filter

The mnpi-filter policy is an output-phase blocker for material non-public information signals. It scans generated output text for configured detect_patterns or a small built-in default list and blocks the response when a phrase is found.

Configuration

pack:
name: mnpi-filter
version: "1.0.0"
enabled: true

policies:
chain:
- mnpi-filter

policy:
mnpi-filter:
detect_patterns:
- "earnings before announcement"
- "merger not public"
- "insider information"
- "board decision"

Fields

FieldTypeDescriptionDefault
detect_patternsstring[]Case-insensitive phrases checked against generated output. If empty, the policy falls back to the built-in defaults below.built-in list
actionblockThe only accepted action; every match blocks.block

Built-in defaults

If you omit detect_patterns, the gateway uses this default list:

  • earnings before announcement
  • merger not public
  • insider information
  • board decision
  • not public

How it works

  1. Output extraction: the gateway extracts assistant output text from the buffered response body.
  2. Pattern scan: the gateway lowercases the text and checks for configured or built-in phrases.
  3. Context details: the policy also records whether nearby stock-symbol context words such as earnings, merger, ipo, or acquisition appeared in the text.
  4. Verdict: any phrase match blocks the output with reason_code = "mnpi.detected".

Important limitations

  • This policy evaluates output text only.
  • The policy does not support a configurable warn or redact mode today.
  • The built-in defaults are intentionally small. Real deployments should add firm-specific phrases.

Valid examples

Default output block

pack:
name: mnpi-defaults
version: "1.0.0"
enabled: true

policies:
chain:
- mnpi-filter

policy:
mnpi-filter: {}

Add firm-specific phrases

pack:
name: investment-banking-guardrail
version: "1.0.0"
enabled: true

policies:
chain:
- mnpi-filter
- financial-compliance

policy:
mnpi-filter:
detect_patterns:
- "earnings before announcement"
- "pending acquisition"
- "guidance revision not public"
- "board decision"
- "deal valuation confidential"

Best practices

  • Replace or extend the defaults with language used by your legal and compliance teams.
  • Pair with financial-compliance for broader finance-output controls.
  • Review blocked events regularly and refine the phrase list based on actual false positives and misses.

Next steps