# Norwegian Content Safety — Azure AI Content Safety for norsk innhold

**Last updated:** 2026-04
**Status:** GA (text moderation, Prompt Shields) / Preview (Groundedness, Custom Categories)
**Category:** AI Security Engineering

---

## Introduksjon

Azure AI Content Safety er Microsofts tjeneste for automatisert innholdsmoderering i AI-applikasjoner. Tjenesten detekterer og klassifiserer potensielt skadelig innhold i tekst og bilder, med fire skadekategorier (hate, sexual, violence, self-harm) og fire alvorlighetsgrader (safe, low, medium, high). For norsk offentlig sektor er norsk språkstøtte kritisk — dette dokumentet kartlegger nøyaktig hvilke Content Safety-features som støtter norsk nativt, hvilke som kun fungerer på engelsk, og hvilke workarounds som finnes.

Azure AI Content Safety erstatter det utdaterte Azure Content Moderator (deprecated mars 2024) og gir flerspråklig moderering med mer granulær severity-scoring. Tjenesten brukes enten standalone via REST API / SDK, eller integrert i Azure OpenAI-deployments og Azure AI Foundry som content filter.

## Språkstøtte for norsk

### Tekstanalyse / Text Moderation

Norsk (`no`) er **støttet** for tekstmoderering, men er **ikke blant de spesialtrente språkene**. Modellen er spesialtrent og testet på: kinesisk, engelsk, fransk, tysk, spansk, italiensk, japansk og portugisisk. Norsk fungerer via generell flerspråklig støtte, men kvaliteten kan variere.

[Verifisert] Microsoft Learn: Language support for Azure AI Content Safety

| Feature | Norsk støtte | Merknad |
|---------|-------------|---------|
| **Hate-kategori** | ✅ Støttet | Ikke spesialtrent — test nøye med norske eksempler |
| **Violence-kategori** | ✅ Støttet | Sammensatte norske ord kan gi lavere deteksjon |
| **Sexual-kategori** | ✅ Støttet | Norske termer kan ha annen severity enn engelske |
| **Self-harm-kategori** | ✅ Støttet | Spesielt viktig å teste for norsk ungdomssjargong |
| **Severity levels (0-6)** | ✅ Støttet | Skalaen er konsistent på tvers av språk |
| **Auto-deteksjon av språk** | ✅ Støttet | Ingen language code påkrevd i API-kall |

**Viktig:** Selv om norsk er støttet, er den ikke spesialtrent. Microsoft anbefaler at alle kunder gjør egen testing for å sikre at tjenesten fungerer for sitt spesifikke bruksområde.

[Verifisert] Microsoft Learn: "You don't need to specify a language code for text moderation. The service automatically detects your input language."

### Prompt Shields

Prompt Shields detekterer adversarial input-angrep: **User Prompt Attacks** (jailbreak-forsøk) og **Document Attacks** (skadelig innhold innebygd i dokumenter).

| Feature | Norsk støtte | Merknad |
|---------|-------------|---------|
| **User Prompt Attack detection** | ⚠️ Begrenset | Trent på zh, en, fr, de, es, it, ja, pt — norsk kan fungere med varierende kvalitet |
| **Document Attack detection** | ⚠️ Begrenset | Samme språkbegrensning som User Prompt |
| **Språk-autodeteksjon** | ✅ Støttet | Prompt Shields bruker automatisk språkdeteksjon |

[Verifisert] Microsoft Learn: Prompt Shields — "Models are trained and tested on Chinese, English, French, German, Spanish, Italian, Japanese, Portuguese. Other languages might work but with varying quality."

**Risiko for norsk:** Prompt injection-angrep formulert på norsk kan ha lavere deteksjonsrate enn tilsvarende engelske angrep. Encoding-angrep som blander norsk og engelsk (code-switching) kan utnytte svakheter i flerspråklig forståelse.

### Groundedness Detection

Groundedness Detection sjekker om LLM-output er basert på kildemateriell (grounding sources). Detekterer hallusinasjoner og feilinformasjon.

| Feature | Norsk støtte | Merknad |
|---------|-------------|---------|
| **Groundedness detection** | ❌ Kun engelsk | Eksplisitt dokumentert som English-only |
| **Groundedness correction** | ❌ Kun engelsk | Krever Azure OpenAI GPT-4o (0513/0806) |
| **Reasoning mode** | ❌ Kun engelsk | Gir forklaringer for ungrounded segmenter |
| **Non-reasoning mode** | ❌ Kun engelsk | Raskere, uten forklaringer |
| **Domain selection (MEDICAL/GENERIC)** | ❌ Kun engelsk | Medisinsk domene særlig kritisk for norsk helsevesen |

[Verifisert] Microsoft Learn: "The Azure AI Content Safety models for protected material, groundedness detection, and custom categories (standard) work with English only."

**Konsekvens for norsk offentlig sektor:** Groundedness detection kan IKKE brukes direkte på norskspråklige RAG-systemer. Se workaround-seksjonen for translation pipeline.

### Protected Material Detection

Protected Material Detection identifiserer kjent opphavsrettsbeskyttet innhold i LLM-output (tekst og kode).

| Feature | Norsk støtte | Merknad |
|---------|-------------|---------|
| **Protected Material for Text** | ❌ Kun engelsk | Sanger, artikler, oppskrifter, nettinnhold |
| **Protected Material for Code** | ❌ Kun engelsk | GitHub-repositories (indeksert t.o.m. april 2023) |

[Verifisert] Microsoft Learn: Protected material detection — "English content only"

**Konsekvens:** Norskspråklig opphavsrettsbeskyttet innhold (norske sangtekster, norske artikler) vil IKKE detekteres. For norsk offentlig sektor er dette lav risiko da det meste av beskyttet materiale i AI-outputs er engelskspråklig.

### Custom Categories

Custom Categories lar deg definere egne innholdskategorier for moderering.

| Variant | Norsk støtte | Merknad |
|---------|-------------|---------|
| **Custom Categories (standard)** | ❌ Kun engelsk | Krever 50+ treningseksempler, maks 3 kategorier |
| **Custom Categories (rapid)** | ✅ Støttet | Støtter alle språk som text moderation |

[Verifisert] Microsoft Learn: Custom categories — "Custom categories (standard) API: Supported languages: English only" og "Custom categories (rapid) API: supports all languages that Content Safety text moderation supports"

**Anbefaling:** Bruk Custom Categories (rapid) for norskspråklige tilpasninger. Standard-varianten er kun engelsk.

### Custom Blocklists

Custom blocklists er termbasert filtrering som fungerer på alle språk.

| Feature | Norsk støtte | Merknad |
|---------|-------------|---------|
| **Custom blocklists** | ✅ Full støtte | Tekstbasert matching — språkuavhengig |
| **Regex-støtte** | ✅ Full støtte | Kan bruke regex for norske mønstre |
| **Microsoft Profanity blocklist** | ❌ Kun engelsk | Forhåndsdefinert profanity-liste er engelskspråklig |

[Verifisert] Microsoft Learn: Blocklist quickstart — "Enter the term that should be filtered. You can also use a regex."

**Anbefaling:** Custom blocklists er det mest effektive verktøyet for norskspesifikk innholdsfiltrering.

## Oppsummeringstabell — norsk støtte per feature

| Feature | Norsk | Merknad | Kilde |
|---------|-------|---------|-------|
| Text Moderation (4 kategorier) | ✅ Støttet (ikke spesialtrent) | Test nøye | [Verifisert] |
| Prompt Shields | ⚠️ Begrenset | Ikke spesialtrent for norsk | [Verifisert] |
| Groundedness Detection | ❌ Kun engelsk | Krever workaround | [Verifisert] |
| Protected Material (Text) | ❌ Kun engelsk | Lav risiko for norsk | [Verifisert] |
| Protected Material (Code) | ❌ Kun engelsk | Språkuavhengig for kode | [Verifisert] |
| Custom Categories (standard) | ❌ Kun engelsk | Bruk rapid-variant | [Verifisert] |
| Custom Categories (rapid) | ✅ Støttet | God norsk-kompatibilitet | [Verifisert] |
| Custom Blocklists | ✅ Full støtte | Primærverktøy for norsk | [Verifisert] |
| Image Moderation | ✅ Støttet | Språkuavhengig (visuelt) | [Verifisert] |
| Multimodal (bilde+tekst) | ✅ Støttet | Tekstdelen har norsk-begrensninger | [Antatt] |

## Workarounds for manglende norsk støtte

### 1. Translation Pipeline (for Groundedness Detection)

For English-only features (Groundedness Detection, Protected Material, Custom Categories standard) kan en translation pipeline brukes:

```
Norsk input → Azure Translator (no → en) → Content Safety API → Resultat-mapping → Norsk output
```

**Arkitektur:**
```typescript
async function analyzeGroundednessNorwegian(
  norwegianText: string,
  norwegianSources: string[]
): Promise<GroundednessResult> {
  // 1. Oversett til engelsk
  const englishText = await translator.translate(norwegianText, 'no', 'en');
  const englishSources = await Promise.all(
    norwegianSources.map(s => translator.translate(s, 'no', 'en'))
  );

  // 2. Kjor Groundedness Detection pa engelsk
  const result = await contentSafety.detectGroundedness({
    text: englishText,
    groundingSources: englishSources,
    domain: 'GENERIC',
    task: 'Summarization'
  });

  // 3. Map resultater tilbake til norsk tekst
  return mapResultsToOriginal(result, norwegianText);
}
```

**Kostnader:**
- Azure Translator: ~0.10 NOK per 1000 tegn (S1-tier)
- Ekstra latency: 50-200ms per oversettelse
- Risiko: Oversettelseskvalitet kan påvirke groundedness-nøyaktighet

[Antatt] — Pattern er ikke dokumentert av Microsoft, men er logisk basert på API-begrensninger.

### 2. Custom Blocklists for norsk

Primærverktøy for norskspesifikk filtrering. Krever manuell kurasjon, men gir full kontroll.

**Eksempler på norskspesifikke blocklists:**

| Domene | Eksempeltermer | Regex |
|--------|---------------|-------|
| **Hatefulle ytringer** | Rasistiske skjellsord, etniske slur | Termliste fra HL-senteret |
| **Selvskading** | Norsk ungdomssjargong for selvskading | `(?i)(kutter?|riste[rn]?)` |
| **Offentlig sektor** | Ulovlig rådgivning om vedtak | "omgå vedtak", "unngå innsyn" |
| **Samisk innhold** | Hatefulle termer mot samer | Kurasjon med Sametinget |

**Implementering via REST API:**
```bash
# Opprett blocklist
curl -X PUT "<endpoint>/contentsafety/text/blocklists/norsk-hatefulle-ytringer?api-version=2024-09-01" \
  -H "Ocp-Apim-Subscription-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{"description": "Norskspesifikke hatefulle ytringer"}'

# Legg til termer
curl -X POST "<endpoint>/contentsafety/text/blocklists/norsk-hatefulle-ytringer:addOrUpdateBlocklistItems?api-version=2024-09-01" \
  -H "Ocp-Apim-Subscription-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{"blocklistItems": [{"description": "Hatefullt", "text": "termeksempel"}]}'
```

[Verifisert] Microsoft Learn: Blocklist quickstart — API-format og flyt.

### 3. Hybrid-tilnærming (anbefalt)

Kombinerer native norsk støtte med workarounds for English-only features.

**Strategi:**

```
                    ┌─────────────────────────────┐
                    │      Bruker-input (norsk)    │
                    └─────────────┬───────────────┘
                                  │
                    ┌─────────────▼───────────────┐
                    │  Lag 1: Custom Blocklist     │ ← Norske termer, regex
                    │  (umiddelbar, ingen API)     │
                    └─────────────┬───────────────┘
                                  │ (passerer)
                    ┌─────────────▼───────────────┐
                    │  Lag 2: Text Moderation      │ ← Native norsk-støtte
                    │  (hate/sexual/violence/harm) │
                    └─────────────┬───────────────┘
                                  │ (passerer)
                    ┌─────────────▼───────────────┐
                    │  Lag 3: Prompt Shields       │ ← Begrenset norsk
                    │  (jailbreak + doc attacks)   │
                    └─────────────┬───────────────┘
                                  │ (passerer)
                    ┌─────────────▼───────────────┐
                    │  Lag 4: Custom Category      │ ← Rapid-variant
                    │  (domene-spesifikk)          │   (støtter norsk)
                    └─────────────┬───────────────┘
                                  │ (passerer til LLM)
                    ┌─────────────▼───────────────┐
                    │         LLM output           │
                    └─────────────┬───────────────┘
                                  │
                    ┌─────────────▼───────────────┐
                    │  Lag 5: Output Moderation    │ ← Text Moderation + Blocklist
                    └─────────────┬───────────────┘
                                  │
                    ┌─────────────▼───────────────┐
                    │  Lag 6: Groundedness (opt.)  │ ← Translation pipeline
                    │  (kun for RAG-systemer)      │   (no→en→API→mapping)
                    └─────────────┬───────────────┘
                                  │
                    ┌─────────────▼───────────────┐
                    │      Svar til bruker         │
                    └─────────────────────────────┘
```

**Fordeler:**
- Blocklist fanger norsk-spesifikke termer umiddelbart (ingen API-latency)
- Text Moderation gir native norsk dekning for de fire skadekategoriene
- Translation pipeline håndterer English-only features ved behov
- Defense-in-depth: 6 lag reduserer risiko for false negatives

**Ulemper:**
- Kompleksitet i drift og feilsøking
- Translation pipeline legger til 100-300ms latency
- Høyere kostnad (multiple API-kall per request)

## Implementeringsmønstre

### Mønster 1: Direct Integration (norskstøttede features)

For applikasjoner som kun trenger text moderation og blocklists.

**Bruksområde:** Chatbot for innbyggertjenester, skjemavalidering, saksbehandling.

```python
from azure.ai.contentsafety import ContentSafetyClient
from azure.ai.contentsafety.models import AnalyzeTextOptions
from azure.core.credentials import AzureKeyCredential

client = ContentSafetyClient(
    endpoint="https://<resource>.cognitiveservices.azure.com",
    credential=AzureKeyCredential("<key>")
)

# Analyser norsk tekst - ingen oversettelse nodvendig
request = AnalyzeTextOptions(
    text="Norsk brukerinput her",
    blocklist_names=["norsk-hatefulle-ytringer", "norsk-selvskading"],
    halt_on_blocklist_hit=True
)

response = client.analyze_text(request)

# Sjekk blocklist-treff forst (umiddelbart)
if response.blocklists_match:
    for match in response.blocklists_match:
        print(f"Blocklist-treff: {match.blocklist_name} - {match.blocklist_item_text}")

# Sjekk severity per kategori
for category in response.categories_analysis:
    if category.severity >= 4:  # Medium eller hoyere
        print(f"Blokkert: {category.category} (severity: {category.severity})")
```

**Latency:** ~50-100ms per request.
**Kostnad:** ~0.10 NOK per 1000 tegn (S0-tier).

[Verifisert] Microsoft Learn: Python SDK quickstart.

### Mønster 2: Translation-Augmented Safety

For applikasjoner som trenger Groundedness Detection eller Protected Material Detection.

**Bruksområde:** RAG-basert innbyggerportal, AI-genererte sammendrag av offentlige dokumenter.

```python
from azure.ai.translation.text import TextTranslationClient
from azure.ai.contentsafety import ContentSafetyClient

async def full_safety_check_norwegian(text: str, grounding_sources: list[str]):
    """Komplett safety-sjekk med translation pipeline for norsk."""

    # Steg 1: Direkte norsk text moderation
    text_result = content_safety.analyze_text(
        AnalyzeTextOptions(text=text, blocklist_names=["norsk-blocklist"])
    )
    if any(c.severity >= 4 for c in text_result.categories_analysis):
        return {"blocked": True, "reason": "content_moderation"}

    # Steg 2: Prompt Shields (fungerer pa norsk med begrenset kvalitet)
    shield_result = content_safety.shield_prompt(
        user_prompt=text,
        documents=grounding_sources
    )
    if shield_result.user_prompt_analysis.attack_detected:
        return {"blocked": True, "reason": "prompt_attack"}

    # Steg 3: Groundedness (krever oversettelse)
    english_text = await translator.translate(text, source="no", target="en")
    english_sources = [
        await translator.translate(s, source="no", target="en")
        for s in grounding_sources
    ]
    groundedness_result = content_safety.detect_groundedness(
        text=english_text,
        grounding_sources=english_sources,
        domain="GENERIC",
        task="QnA"
    )

    return {
        "blocked": False,
        "groundedness": {
            "ungrounded_detected": groundedness_result.ungrounded_detected,
            "ungrounded_percentage": groundedness_result.ungrounded_percentage
        }
    }
```

**Latency:** ~200-500ms (inkl. oversettelse).
**Kostnad:** ~0.30 NOK per request (moderation + translation + groundedness).

[Antatt] — Sammensatt pattern basert på verifiserte API-spesifikasjoner.

### Mønster 3: Custom Safety Layer

For applikasjoner med spesielle norske krav som ikke dekkes av standard features.

**Bruksområde:** Samiskspråklig innhold, spesialisert offentlig forvaltning, domener med egne regler.

Bruker Azure OpenAI med norsk system prompt som custom safety-lag:

```
System: Du er en innholdssikkerhetsmodell for norsk offentlig sektor.
Evaluer folgende tekst og returner JSON med:
- hate_score (0-6)
- violence_score (0-6)
- sexual_score (0-6)
- self_harm_score (0-6)
- domain_violations: [liste over domene-spesifikke brudd]

Norske kontekstregler:
- Samiske termer og uttrykk er IKKE hatefulle med mindre konteksten er negativ
- Juridiske termer (dom, straff, forbrytelse) er benigne i forvaltningskontekst
- Medisinske termer (selvmord, overdose) er benigne i helsefaglig kontekst
```

**Fordeler:** Full kontroll over norsk kontekst, samisk støtte, domene-tilpasning.
**Ulemper:** Høyere kostnad (Azure OpenAI), lavere throughput, krever egenevaluering.

[Antatt] — Custom pattern, ikke dokumentert av Microsoft.

## Testing av Content Safety for norsk

### Testkategorier

| Kategori | Antall testcaser | Formål |
|----------|-----------------|--------|
| Norsk hatefulle ytringer | 50+ | Deteksjon av norske rasistiske/diskriminerende uttrykk |
| Norsk-spesifikke kulturelle kontekster | 30+ | Unngå false positives for norske idiomer |
| Samisk innhold | 20+ | Verifiser at samisk ikke feiltolkes |
| Code-switching (norsk/engelsk) | 20+ | Deteksjon i blandet språk |
| Forvaltningssjargong | 20+ | Benigne juridiske termer gir ikke false positives |
| Norsk ungdomssjargong | 30+ | Deteksjon av skjult skadelig innhold |
| Nynorsk vs. bokmal | 20+ | Konsistent severity på tvers av målformer |
| Dialektvarianter | 15+ | Deteksjon uavhengig av dialektform |

### Testmetodikk

1. **Baseline:** Kjor engelske ekvivalenter forst for a etablere referanse-score
2. **Norsk oversettelse:** Kjor tilsvarende norske prompts, sammenlign severity
3. **Gap-analyse:** Dokumenter avvik mellom engelsk og norsk scoring
4. **False positive-analyse:** Manuell gjennomgang av feilaktig blokkert norsk innhold
5. **False negative-analyse:** Red team med norske jailbreak-forsøk
6. **Kulturell sensitivitetsreview:** Ekspert-review av norsk kontekst-scoring
7. **Regression-testing:** Kjor testsuiten pa nytt ved API-oppdateringer

### Forventet resultat

Basert på at norsk ikke er spesialtrent:

| Metrikk | Forventet (norsk) | Baseline (engelsk) |
|---------|-------------------|--------------------|
| Precision (text moderation) | 80-90% | 95%+ |
| Recall (text moderation) | 75-85% | 90%+ |
| Prompt Shields deteksjon | 70-80% | 90%+ |
| False positive rate | 10-20% | 5-10% |

[Antatt] — Estimater basert på Microsofts generelle utsagn om at "quality might vary" for ikke-spesialtrente språk.

## Kostnader og ytelse

### Prismodell (S0-tier, estimat i NOK)

| API | Pris per enhet | Enhet | Free tier |
|-----|---------------|-------|-----------|
| Text Moderation | ~0.10 NOK | Per 1000 tegn | 5000 transaksjoner/mnd |
| Image Moderation | ~0.80 NOK | Per bilde | 5000 transaksjoner/mnd |
| Prompt Shields | ~0.10 NOK | Per request | 5000 transaksjoner/mnd |
| Groundedness Detection | ~0.20 NOK | Per request | Ikke tilgjengelig |
| Protected Material | ~0.10 NOK | Per request | 5000 transaksjoner/mnd |
| Custom Categories (rapid) | ~0.10 NOK | Per request | 5000 transaksjoner/mnd |
| Azure Translator (workaround) | ~0.10 NOK | Per 1000 tegn | 2M tegn/mnd |

**Merk:** Priser er estimat basert pa 1 USD = ~10 NOK. Sjekk [Azure Pricing Calculator](https://azure.microsoft.com/pricing/calculator/) for eksakt pris.

[Verifisert] Microsoft Learn: "We generally charge by volume" + F0/S0 tier-struktur.

### Latency-impact av translation pipeline

| Konfigurasjon | Forventet latency | API-kall |
|---------------|-------------------|----------|
| Direkte text moderation (norsk) | 50-100ms | 1 |
| Text moderation + Prompt Shields | 80-150ms | 2 |
| Full pipeline med translation | 200-500ms | 3-4 |
| Full pipeline + Groundedness | 300-700ms | 5-6 |

[Antatt] — Basert pa typisk Azure API-latency, ikke benchmarked.

### Kostnadseksempel: 100 000 requests/maned

| Konfigurasjon | Mndlig kostnad (NOK) |
|---------------|---------------------|
| Kun text moderation | ~10 000 |
| Text moderation + Prompt Shields | ~20 000 |
| Full hybrid-pipeline | ~40 000 |
| Full pipeline + Groundedness + translation | ~60 000 |

[Antatt] — Grovt estimat. Avhenger av gjennomsnittlig tekststorrelse.

## Rate limits

| Pricing tier | Text/Image Moderation | Prompt Shields | Groundedness | Custom Categories (rapid) |
|-------------|----------------------|----------------|--------------|--------------------------|
| **F0 (Free)** | 5 RPS | 5 RPS | N/A | 5 RPS |
| **S0 (Standard)** | 1000 RP10S | 1000 RP10S | 50 RPS | 1000 RP10S |

[Verifisert] Microsoft Learn: Content Safety overview — Query rates.

## Anbefalinger for norsk offentlig sektor

1. **Bruk hybrid-tilnærmingen som standard.** Kombiner custom blocklists (for norskspesifikke termer) med native text moderation og Prompt Shields. Legg til translation pipeline kun for RAG-systemer som trenger Groundedness Detection.

2. **Opprett norske blocklists fra dag 1.** Inkluder hatefulle ytringer, selvskadingstermer og domene-spesifikke termer. Samarbeid med fagmiljøer (HL-senteret, Sametinget) for kurasjon.

3. **Test grundig med norsk testdata.** Minimum 200 norske test-prompts (100 benigne, 100 skadelige) for akseptable coverage. Inkluder nynorsk, bokmal og code-switching.

4. **Dokumenter språkbegrensninger i DPIA.** Groundedness Detection og Protected Material fungerer kun pa engelsk — dette er en kjent begrensning som ma dokumenteres i personvernkonsekvensvurderingen.

5. **Bruk Custom Categories (rapid) — ikke standard.** Standard-varianten er English-only. Rapid-varianten støtter norsk og gir domene-spesifikk filtrering.

6. **Vurder custom safety layer for kritiske domener.** For helsebot, kriselinjer eller barnerettede tjenester — suppler med Azure OpenAI-basert norsk safety-evaluering.

7. **Deploy i Norway East eller West Europe.** Sikrer data residency i EU/EOS for Schrems II compliance.

8. **Monitor og juster kvartalsvis.** Norsk sprakstutte er et aktivt utviklingsomrade hos Microsoft. Nye sprak kan bli spesialtrente, og Groundedness Detection kan utvides til flere sprak. Verifiser status regelmessig via MCP.

## For Cosmo

Nar du radgir om Content Safety for norske losninger:

- **Sjekk alltid gjeldende sprakstutte via MCP** (dette endres ofte). Bruk `microsoft_docs_search` med "Azure AI Content Safety language support" for oppdatert status.
- **Anbefal hybrid-tilnærming som standard** — aldri kun text moderation alene for norsk.
- **Vurder custom blocklists for sektorspesifikke termer** — dette er det mest palitelige verktøyet for norsk.
- **Husk at translation-pipeline legger til latens og kostnad** — estimer 200-500ms og ~0.20 NOK ekstra per request.
- **Norsk Content Safety er et aktivt utviklingsomrade** — verifiser alltid for du gir endelige anbefalinger.
- **For Groundedness Detection pa norsk: vær ærlig om begrensningen.** Oversettelse introduserer usikkerhet. Anbefal kunden a evaluere om oversettelseskvaliteten er tilstrekkelig for deres use case.
- **Samisk innhold krever spesialhandtering.** Ingen av Content Safety-modellene er trent pa samisk. Custom blocklists + custom safety layer er eneste palitelige losning.
- **Bruk severity-tabellen fra content-safety-filter-calibration.md** for threshold-anbefalinger per use case.

## Kilder og verifisering

### Primærkilder (Verifisert)

1. [Language support for Azure AI Content Safety](https://learn.microsoft.com/azure/ai-services/content-safety/language-support) — Sprakstutte-tabell, auto-deteksjon, spesialtrente sprak
2. [Prompt Shields](https://learn.microsoft.com/azure/ai-services/content-safety/concepts/jailbreak-detection) — User Prompt/Document Attack deteksjon, sprakbegrensninger
3. [Groundedness detection](https://learn.microsoft.com/azure/ai-services/content-safety/concepts/groundedness) — English-only, domain/task-konfigurasjon, correction-feature
4. [Protected material detection](https://learn.microsoft.com/azure/ai-services/content-safety/concepts/protected-material) — English-only, tekst og kode
5. [Custom categories](https://learn.microsoft.com/azure/ai-services/content-safety/concepts/custom-categories) — Standard (English-only) vs Rapid (multilingual)
6. [Azure AI Content Safety overview](https://learn.microsoft.com/azure/ai-services/content-safety/overview) — Pricing tiers, rate limits, region availability
7. [Azure AI Content Safety FAQ](https://learn.microsoft.com/azure/ai-services/content-safety/faq) — Prismodell, moderering-typer
8. [Blocklist quickstart](https://learn.microsoft.com/azure/ai-services/content-safety/quickstart-blocklist) — Custom blocklist API

### Konfidensgradering

- **Sprakstutte-status per feature:** Verifisert (direkte fra Microsoft Learn language support docs)
- **Prompt Shields norsk-støtte:** Verifisert (spesialtrente sprak eksplisitt listet, norsk ikke blant dem)
- **Groundedness/Protected Material English-only:** Verifisert (eksplisitt dokumentert)
- **Custom Categories rapid vs standard:** Verifisert (dokumentert i custom categories docs)
- **Translation pipeline pattern:** Antatt (logisk workaround, ikke Microsoft-dokumentert)
- **Norsk precision/recall estimater:** Antatt (basert pa "quality might vary"-utsagn)
- **Kostnad i NOK:** Antatt (basert pa USD-priser med valutakonvertering)
- **Samisk sprakstutte:** Antatt (ikke nevnt i Microsoft docs — sannsynlig ikke trent)

**MCP-kall:** 6 (microsoft_docs_search x6)
**Unike kilder:** 8 Microsoft Learn-artikler
