15 Protected Characteristics
| Characteristic | Example Patterns | Severity Range |
|---|---|---|
sex | Gender stereotypes, role enforcement, selection bias | MEDIUM–HIGH |
race | Racial generalizations, supremacy language | MEDIUM–CRITICAL |
colour | Skin colour capability bias | HIGH |
ethnic_origin | Ethnic generalizations, xenophobic directives | MEDIUM–HIGH |
social_origin | Class-based bias, preferential treatment | MEDIUM |
genetic_features | Genetic determinism, genetic screening for access | HIGH–CRITICAL |
language | Language-based competence bias | LOW–MEDIUM |
religion | Religious stereotypes, discrimination directives | MEDIUM–HIGH |
political_opinion | Political stereotyping, discrimination | MEDIUM–HIGH |
national_minority | Minority exclusion, group slurs | HIGH–CRITICAL |
property | Wealth-based discrimination, access denial | MEDIUM–HIGH |
birth | Birth-based discrimination, origin prejudice | MEDIUM |
disability | Capability stereotypes, exclusion, slurs | HIGH–CRITICAL |
age | Age-based capability bias (both older and younger) | MEDIUM–HIGH |
sexual_orientation | Pathologization, discrimination | HIGH–CRITICAL |
nationality | Nationality stereotypes, discrimination | HIGH |
Severity Weights
Each pattern has a severity level that determines its contribution to the aggregate score:| Severity | Weight | Description |
|---|---|---|
LOW | 0.1 | Stereotyping, mild generalizations |
MEDIUM | 0.3 | Differential treatment language |
HIGH | 0.6 | Discriminatory outcome language |
CRITICAL | 1.0 | Explicit slurs, hate speech, supremacy |
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
| Field | Type | Default | Description |
|---|---|---|---|
domain | Domain | undefined | Activates domain profile (sets threshold + multipliers) |
biasThreshold | number | Profile default | Override threshold (0–1, lower = stricter) |
biasAction | 'warn' | 'block' | 'warn' | Action on threshold exceeded |
BiasEvidence
When a finding is detected, it produces aBiasEvidence object:
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.