Skip to main content
The bias check post-hook screens LLM responses for discriminatory language across all 15 protected characteristics defined in the EU Charter of Fundamental Rights, Article 21.

15 Protected Characteristics

Severity Weights

Each pattern has a severity level that determines its contribution to the aggregate score:

Scoring Formula

Domain Profiles

Each domain profile sets a default threshold and weight multipliers for characteristics that are especially sensitive in that context.

General (default)

  • Threshold: 0.3
  • Multipliers: None (all at 1.0×)

HR / Recruitment

The strictest profile — HR is classified as high-risk under EU AI Act Art.6(2).
  • Threshold: 0.15
  • 2.0× multipliers: sex, race, age, disability, ethnic_origin
  • 1.5× multipliers: religion, sexual_orientation, nationality, political_opinion

Finance

Strict on property and social origin for credit/loan decisions.
  • Threshold: 0.2
  • 2.0× multipliers: property, social_origin
  • 1.5× multipliers: race, nationality, birth

Healthcare

Strict on disability and genetic features for medical decisions.
  • Threshold: 0.2
  • 2.0× multipliers: disability, genetic_features
  • 1.5× multipliers: age, race, sex

Education

Strict on age, disability, and social origin for admissions/grading.
  • Threshold: 0.2
  • 2.0× multipliers: age, disability, social_origin
  • 1.5× multipliers: language, ethnic_origin, birth

Configuration

BiasEvidence

When a finding is detected, it produces a BiasEvidence object:
In warn mode, findings are available in response metadata. In block mode, they are on the BiasDetectedError.

Error Handling

BiasDetectedError reference.

Safety Filter

Content safety patterns and HITL gate.