chore(privacy): scrub real-org references from plugin internals (phase 2)
Same bulk replacement applied to plugin-internal KB, examples, fixtures, tests, and docs. Real organization names, persona names, internal system identifiers, and domain-specific terms replaced with fictional generic public-sector entity (DDT) and generic terminology. Scope: - okr/ — examples, governance, framework, integrations, sources - ms-ai-architect/ — KB references (engineering, governance, security, infrastructure, advisor), tests/fixtures, agents, docs - linkedin-thought-leadership/ — voice samples, network-builder, examples (genericized identifying headlines to "[your organization]") - llm-security/ — research notes, scan report Manual genericization beyond bulk replace: - okr SKILL.md "Primary user / Domain" — generic Norwegian public sector - linkedin-voice SKILL.md headline placeholder - network-builder.md headline placeholder - high-engagement-posts.md voice sample employer line + hashtag Phase 3 (factual-attribution review) remains: a few KB files attribute publicly known transport-sector docs/datasets (e.g. håndbok V440, NVDB) to the fictional DDT after bulk replace. Needs manual semantic review to either remove or restore correct citation without re-introducing affiliation references. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
f95cc4b13d
commit
9ea5a2e6c6
76 changed files with 191 additions and 191 deletions
|
|
@ -43,7 +43,7 @@ Azure AI Language tilbyr tre API-varianter for PII-deteksjon:
|
|||
| Adresse | `Address` | Storgata 1, 0123 Oslo | ML-basert |
|
||||
| Organisasjon | `Organization` | NAV, Skatteetaten | ML-basert |
|
||||
| EU Passport | `EUPassportNumber` | Norsk pass | Format-validering |
|
||||
| EU Drivers License | `EUDriversLicenseNumber` | Norsk førerkort | Format-validering |
|
||||
| EU Drivers License | `EUDriversLicenseNumber` | Norsk saksbehandling | Format-validering |
|
||||
| Bank Account | `InternationalBankingAccountNumber` | IBAN | Format-validering |
|
||||
|
||||
**Viktig:** Azure detekterer norske fødselsnummer under kategorien `NOIdentityNumber`. Du må spesifisere `language: "no"` for optimal deteksjon.
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ Uavhengig av totalscore skal risikokategorien oppgraderes til **Kritisk** dersom
|
|||
|
||||
### Case A: Copilot Studio chatbot med SharePoint RAG, kun interne brukere, M365 E5
|
||||
|
||||
**Scenario:** Intern HR-chatbot i Statens vegvesen. Henter svar fra SharePoint-dokumentbibliotek via Copilot Studio. Ingen sensitiv persondata. Tilgjengelig kun for ansatte med M365 E5-lisens.
|
||||
**Scenario:** Intern HR-chatbot i Direktoratet for digital tjenesteutvikling. Henter svar fra SharePoint-dokumentbibliotek via Copilot Studio. Ingen sensitiv persondata. Tilgjengelig kun for ansatte med M365 E5-lisens.
|
||||
|
||||
| Dimensjon | Forventet score | Begrunnelse |
|
||||
|-----------|----------------|-------------|
|
||||
|
|
@ -255,7 +255,7 @@ Uavhengig av totalscore skal risikokategorien oppgraderes til **Kritisk** dersom
|
|||
|
||||
### Case B: Azure AI Foundry med custom model, borgermøtende, sensitiv persondata
|
||||
|
||||
**Scenario:** Offentlig skjemaveileder for Statens vegvesen. Brukere (borgere) fyller ut søknader med støtte fra AI. Systemet prosesserer fødselsnummer, helseopplysninger og førerkortdata. Basert på Azure AI Foundry med fine-tuned GPT-4o og Azure AI Search (RAG).
|
||||
**Scenario:** Offentlig skjemaveileder for Direktoratet for digital tjenesteutvikling. Brukere (borgere) fyller ut søknader med støtte fra AI. Systemet prosesserer fødselsnummer, helseopplysninger og saksbehandlingdata. Basert på Azure AI Foundry med fine-tuned GPT-4o og Azure AI Search (RAG).
|
||||
|
||||
| Dimensjon | Forventet score | Begrunnelse |
|
||||
|-----------|----------------|-------------|
|
||||
|
|
|
|||
|
|
@ -504,7 +504,7 @@ Noen sektorer må rapportere IT-kostnader til DFØ. Forbered data:
|
|||
**Eksempel-rapport til DFØ:**
|
||||
|
||||
```
|
||||
Virksomhet: Statens vegvesen
|
||||
Virksomhet: Direktoratet for digital tjenesteutvikling
|
||||
Periode: 2025
|
||||
|
||||
Azure AI Foundry:
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ Azure Cost Management aggregerer kostnader per dag, men fakturering skjer måned
|
|||
| Arkitekturmønstre | **Baseline + Domain Expertise** | FinOps Framework + Azure Well-Architected |
|
||||
| Beslutningsveiledning | **Verified** | Cost optimization best practices (Well-Architected) |
|
||||
| Integrasjon med Microsoft-stakken | **Verified** | Official docs (tags, Power BI, Azure Monitor) |
|
||||
| Offentlig sektor (Norge) | **Domain Expertise** | KTG/SVV-kontekst, ikke Microsoft-spesifikk |
|
||||
| Offentlig sektor (Norge) | **Domain Expertise** | KTG/DDT-kontekst, ikke Microsoft-spesifikk |
|
||||
| For arkitekten (Cosmo) | **Baseline + Best Practices** | Syntetisert fra research + field experience |
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ Azure Container Apps bruker KEDA (Kubernetes Event-driven Autoscaling) for dekla
|
|||
"type": "azure-servicebus",
|
||||
"metadata": {
|
||||
"queueName": "ai-processing-queue",
|
||||
"namespace": "svv-ai-servicebus",
|
||||
"namespace": "ddt-ai-servicebus",
|
||||
"messageCount": "5"
|
||||
}
|
||||
}
|
||||
|
|
@ -227,7 +227,7 @@ resource aiService 'Microsoft.App/containerApps@2023-05-01' = {
|
|||
"type": "azure-servicebus",
|
||||
"metadata": {
|
||||
"queueName": "document-analysis",
|
||||
"namespace": "svv-ai-bus",
|
||||
"namespace": "ddt-ai-bus",
|
||||
"messageCount": "3"
|
||||
},
|
||||
"auth": [
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
Azure OpenAI Batch API er designet for storskala, asynkron prosessering av AI-arbeidslaster. Med 50% lavere kostnad enn Global Standard-prising og separat kvote som ikke pavirker online-trafikken, er Batch API ideelt for norsk offentlig sektor som trenger a prosessere store volumer av dokumenter, klassifiseringer eller analyser.
|
||||
|
||||
For offentlige virksomheter som Statens vegvesen, Nav, eller Skatteetaten kan Batch API brukes til masseprosessering av henvendelser, dokumentanalyse, oversettelser og datautvinning uten a forstyrre sanntidstjenestene. Tjenesten er spesielt verdifull for periodiske oppgaver som kvartalsvis rapportering, arsavslutning, eller migrering av historiske data.
|
||||
For offentlige virksomheter som Direktoratet for digital tjenesteutvikling, Nav, eller Skatteetaten kan Batch API brukes til masseprosessering av henvendelser, dokumentanalyse, oversettelser og datautvinning uten a forstyrre sanntidstjenestene. Tjenesten er spesielt verdifull for periodiske oppgaver som kvartalsvis rapportering, arsavslutning, eller migrering av historiske data.
|
||||
|
||||
Denne referansen dekker hele arbeidsflyten for Batch API, fra filsammensetning og opplasting til kostnadsberegning og feilhhandtering, med fokus pa optimalisering for store volumer.
|
||||
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ Azure OpenAI prompt caching reduserer latens og kostnad for requests med identis
|
|||
# Krav: Minimum 1024 tokens, identisk prefix
|
||||
|
||||
# System prompt som gjenbrukes pa tvers av requests
|
||||
SYSTEM_PROMPT = """Du er en saksbehandlingsassistent for Statens vegvesen.
|
||||
SYSTEM_PROMPT = """Du er en saksbehandlingsassistent for Direktoratet for digital tjenesteutvikling.
|
||||
Du hjelper med a analysere og klassifisere innkommende henvendelser
|
||||
relatert til forerkort, kjoretoysregistrering og veiprosjekter.
|
||||
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ def calculate_distillation_savings(
|
|||
"roi_months": round(roi_months, 1)
|
||||
}
|
||||
|
||||
# Eksempel: Statens vegvesen dokumentanalyse
|
||||
# Eksempel: Direktoratet for digital tjenesteutvikling dokumentanalyse
|
||||
savings = calculate_distillation_savings(
|
||||
monthly_requests=100_000,
|
||||
avg_input_tokens_before=1200, # Med few-shot
|
||||
|
|
|
|||
|
|
@ -153,15 +153,15 @@ def design_cacheable_prompt(
|
|||
return messages, stats
|
||||
|
||||
|
||||
# Eksempel: Saksbehandler-assistent for Statens vegvesen
|
||||
# Eksempel: Saksbehandler-assistent for Direktoratet for digital tjenesteutvikling
|
||||
messages, stats = design_cacheable_prompt(
|
||||
system_instructions="""Du er en AI-assistent for saksbehandlere i
|
||||
Statens vegvesen. Du hjelper med å analysere klager på vedtak om
|
||||
førerkort, vurdere om klagen har grunnlag, og foreslå svar.
|
||||
Direktoratet for digital tjenesteutvikling. Du hjelper med å analysere klager på vedtak om
|
||||
saksbehandling, vurdere om klagen har grunnlag, og foreslå svar.
|
||||
|
||||
Regelverk du skal referere til:
|
||||
- Vegtrafikkloven § 24-34
|
||||
- Førerkortforskriften
|
||||
- fagforskriften
|
||||
- Forvaltningsloven § 28-36 (klagebehandling)
|
||||
|
||||
Format: Alltid bruk overskrifter, vurder hvert punkt separat,
|
||||
|
|
@ -173,7 +173,7 @@ messages, stats = design_cacheable_prompt(
|
|||
"output": "## Vurdering\n### Regelverksvurdering..."
|
||||
},
|
||||
{
|
||||
"input": "Klage: Mitt førerkort ble inndratt...",
|
||||
"input": "Klage: Mitt saksbehandling ble inndratt...",
|
||||
"output": "## Vurdering\n### Regelverksvurdering..."
|
||||
}
|
||||
],
|
||||
|
|
@ -203,7 +203,7 @@ client = AzureOpenAI(
|
|||
response = client.chat.completions.create(
|
||||
model="gpt-4o",
|
||||
messages=messages,
|
||||
prompt_cache_key="svv-complaint-handler-v2", # Gruppert caching
|
||||
prompt_cache_key="ddt-complaint-handler-v2", # Gruppert caching
|
||||
max_tokens=1000
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue