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:
Kjell Tore Guttormsen 2026-05-03 04:28:15 +02:00
commit 9ea5a2e6c6
76 changed files with 191 additions and 191 deletions

View file

@ -154,7 +154,7 @@ Video Indexer ekstraherer tekst frå bilete og video gjennom OCR:
```json
{
"id": 1,
"text": "Statens vegvesen",
"text": "Direktoratet for digital tjenesteutvikling",
"confidence": 0.95,
"left": 120,
"top": 50,

View file

@ -401,7 +401,7 @@ Bruk Phi-4 på edge for rask triagering, send berre komplekse tilfelle til cloud
### Bruksscenario
- **Vegvesenet**: Analyse av vegdekkeskade frå inspeksjonsbilete
- **Direktoratetet**: Analyse av vegdekkeskade frå inspeksjonsbilete
- **Kartverket**: Klassifisering av satellittbilete og kartdata
- **Kulturminnevern**: Digital katalogisering av kulturminne
- **Helsesektoren**: Analyse av røntgen/MR med AI-assistanse (medisinsk produkt-regulering)
@ -435,6 +435,6 @@ Bruk Phi-4 på edge for rask triagering, send berre komplekse tilfelle til cloud
- **Cascade-mønsteret** (Azure AI Vision først, GPT-4o for komplekse tilfelle) reduserer kostnad med 60-80% — bruk Vision for filtrering/kategorisering og GPT-4o berre for det som krev resonnering
- **Vision fine-tuning av GPT-4o** (2024-08-06) gir domene-spesialisering — men Azure filtrerer automatisk ut bilete med personar/ansikt frå treningsdata, noko som avgrensar bruksområdet
- **Phi-4-multimodal-instruct** med Student-Teacher fine-tuning frå GPT-4o gir edge-kapabel vision AI — relevant for Vegvesenet sin inspeksjonsinfrastruktur og andre offline-scenario
- **Phi-4-multimodal-instruct** med Student-Teacher fine-tuning frå GPT-4o gir edge-kapabel vision AI — relevant for Direktoratetet sin inspeksjonsinfrastruktur og andre offline-scenario
- **Few-shot visual learning** med GPT-4o krev berre 3-5 eksempelbilete for ny klassifiseringsoppgåve — bruk `detail: "low"` på eksempel (85 tokens) og `detail: "high"` på target for å optimalisere kostnad
- **Multimodal embeddings** (Azure AI Vision v4.0) støttar 102 språk og muliggjer semantisk bildesøk — bruk for å bygge søkbare bildearkiv i offentleg sektor

View file

@ -109,7 +109,7 @@ response = client.chat.completions.create(
{
"role": "system",
"content": """Du er ein bildeklassifiseringsekspert for
Statens vegvesen. Klassifiser vegskader i kategoriane:
Direktoratet for digital tjenesteutvikling. Klassifiser vegskader i kategoriane:
- SPREKK_LANGSGAAANDE
- SPREKK_TVERRGAAANDE
- HULLROT

View file

@ -331,7 +331,7 @@ AVGRENSINGAR:
# Eksempel: Vegskade-vurdering
system_message = VISUAL_SYSTEM_TEMPLATE.format(
rolle="Vegingeniør med 20 års erfaring frå Statens vegvesen",
rolle="Vegingeniør med 20 års erfaring frå Direktoratet for digital tjenesteutvikling",
kontekst="Årlege veginspeksjonar for fylkesvegar i Noreg",
oppgåve="Vurder vegskade og anbefal vedlikehaldstiltak",
steg_for_steg_instruksjonar="""

View file

@ -107,7 +107,7 @@ async def realtime_conversation():
"session": {
"modalities": ["text", "audio"],
"instructions": (
"Du er ein norsk kundeserviceagent for Statens vegvesen. "
"Du er ein norsk kundeserviceagent for Direktoratet for digital tjenesteutvikling. "
"Svar på norsk. Ver høfleg og presis."
),
"voice": "alloy",
@ -361,7 +361,7 @@ def estimate_realtime_cost(sessions_per_day, avg_duration_minutes):
- **NAV kontaktsenter**: Automatisert talebasert rettleiing for ytingar og søknader
- **Kommunale servicesentra**: 24/7 talebasert borgarservice
- **Helsevesenet**: Triageringssamtalar med automatisk dokumentasjon
- **Vegvesenet**: Talebasert rettleiing for førarkort og køyretøytenester
- **Direktoratetet**: Talebasert rettleiing for førarkort og køyretøytenester
### Regulatoriske krav

View file

@ -88,7 +88,7 @@ For norsk offentleg sektor med spesialisert terminologi:
```python
# Phrase list for forbetra norsk gjenkjenning
phrase_list = speechsdk.PhraseListGrammar.from_recognizer(speech_recognizer)
phrase_list.addPhrase("Statens vegvesen")
phrase_list.addPhrase("Direktoratet for digital tjenesteutvikling")
phrase_list.addPhrase("E6 Megården-Mørsvikbotn")
phrase_list.addPhrase("Utredningsinstruksen")
phrase_list.addPhrase("Forvaltningsloven")

View file

@ -65,7 +65,7 @@ synthesizer = speechsdk.SpeechSynthesizer(
# Teksten sin automatisk detekterte språk styrer uttale
result = synthesizer.speak_text_async(
"Dette vedtaket er sendt til deg fra Statens vegvesen."
"Dette vedtaket er sendt til deg fra Direktoratet for digital tjenesteutvikling."
).get()
if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
@ -123,7 +123,7 @@ SSML (Speech Synthesis Markup Language) gir finkornet kontroll over korleis teks
<voice name="en-US-AvaMultilingualNeural">
<mstts:express-as style="friendly" styledegree="1.5">
<lang xml:lang="nb-NO">
Velkommen til Statens vegvesen sin telefonteneste.
Velkommen til Direktoratet for digital tjenesteutvikling sin telefonteneste.
</lang>
</mstts:express-as>
</voice>

View file

@ -10,7 +10,7 @@
Videoanalyse og -forståing på Azure-plattforma kombinerer Azure AI Video Indexer sin spesialiserte videoanalyse med generative AI-modellar som GPT-4o for djupare semantisk forståing. Video Indexer ekstraherer over 30 ulike typar innsikt frå video — inkludert scenedeteksjon, talegjenkjenning, emosjonanalyse, OCR, ansiktsgjenkjenning og objektdeteksjon — medan GPT-4o sine visuelle kapabilitetar opnar for fri-form analyse av enkeltbilete og keyframes.
For norsk offentleg sektor er videoanalyse relevant for fleire bruksområde: analyse av overvakingsvideo for Statens vegvesen, transkripsjon og søk i offentlege høyringar for Stortinget, tilgjengelegheitsanalyse av offentleg video, og automatisert kvalitetskontroll av opplæringsvideo. Azure Video Indexer støttar norsk tale-til-tekst og kan oversette til 50+ språk.
For norsk offentleg sektor er videoanalyse relevant for fleire bruksområde: analyse av overvakingsvideo for Direktoratet for digital tjenesteutvikling, transkripsjon og søk i offentlege høyringar for Stortinget, tilgjengelegheitsanalyse av offentleg video, og automatisert kvalitetskontroll av opplæringsvideo. Azure Video Indexer støttar norsk tale-til-tekst og kan oversette til 50+ språk.
Azure AI Video Indexer tilbyr også real-time videoanalyse (preview) via Azure Arc-enabled infrastruktur, som mogleggjer sanntidsanalyse av livevideo ved kanten — relevant for trafikkmonitorering og smart byinfrastruktur.
@ -330,7 +330,7 @@ Video Indexer ekstraherer rike audio-innsikter:
### Bruksscenario
- **Statens vegvesen**: Trafikkvideoanalyse for hendingsdeteksjon og trafikkflyt
- **Direktoratet for digital tjenesteutvikling**: Trafikkvideoanalyse for hendingsdeteksjon og trafikkflyt
- **Stortinget**: Søkbar indeksering av høyringar og debattar
- **NRK**: Automatisk underteksting og innhaldsklassifisering
- **Kommunar**: Analyse av bystyremøte med talar-identifisering

View file

@ -341,7 +341,7 @@ phrase_list = speechsdk.PhraseListGrammar.from_recognizer(recognizer)
# Norske forvaltingstermar
forvaltingstermar = [
"Statens vegvesen", "Digitaliseringsdirektoratet",
"Direktoratet for digital tjenesteutvikling", "Digitaliseringsdirektoratet",
"forvaltingslova", "offentleglova", "personopplysningslova",
"DPIA", "GDPR", "ROS-analyse", "Schrems II",
"Microsoft Entra ID", "Azure AI Foundry",