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

@ -114,7 +114,7 @@ class AgentPluginRegistry:
{
"$schema": "https://schemas.microsoft.com/agent/v2.1/manifest.json",
"manifestVersion": "2.1",
"id": "no.svv.agent.byggesak",
"id": "no.ddt.agent.byggesak",
"version": "1.3.0",
"name": {
"short": "Byggesak-agent",

View file

@ -414,7 +414,7 @@ A2A er spesielt relevant for offentlig sektor fordi norske myndigheter opererer
| Scenario | Aktører | A2A-kobling |
|----------|---------|-------------|
| Innbygger-henvendelse (NAV + Skatteetaten) | NAV-agent, Skatteetaten-agent | NAV-agent delegerer skatteoppslag via A2A |
| Statens vegvesen + Politiet | Kjøretøy-agent, Trafikk-agent | Felles trafikkanalyse via A2A |
| Direktoratet for digital tjenesteutvikling + Politiet | Kjøretøy-agent, Trafikk-agent | Felles trafikkanalyse via A2A |
| Helseforetak på tvers | Sykehus A-agent, Fastlege-agent | Pasienthistorikk-utveksling (med samtykke) |
| DigDir-tjenester | eID-agent, Altinn-agent | Autentisert datautveksling |
@ -432,7 +432,7 @@ A2A er spesielt relevant for offentlig sektor fordi norske myndigheter opererer
```json
{
"name": "Vegvesen Kjøretøy-agent",
"name": "Direktoratet Kjøretøy-agent",
"version": "2.0.0",
"capabilities": {
"streaming": false,
@ -586,7 +586,7 @@ Ingen sentral koordinering, hardkodede endpoints, minimal overhead.
[Borger] → [Felles inngangsagent (DigDir)]
├─ A2A → [NAV-agent]
├─ A2A → [Skatteetaten-agent]
└─ A2A → [Vegvesen-agent]
└─ A2A → [Direktoratet-agent]
```
Hver etat eier og drifter sin egen agent. Felles inngangsagent orkestrerer via A2A.

View file

@ -34,14 +34,14 @@ For mange organisasjoner er svaret ikke enten-eller, men en hybrid tilnærming d
{
"name": "IT-Helpdesk",
"description": "Hjelper ansatte med IT-problemer",
"instructions": "Du er en IT-helpdesk-assistent for Statens vegvesen. Svar på spørsmål om tilganger, programvare og nettverksproblemer. Referer alltid til relevante KB-artikler. Eskalér til ServiceDesk hvis du ikke kan løse problemet.",
"instructions": "Du er en IT-helpdesk-assistent for Direktoratet for digital tjenesteutvikling. Svar på spørsmål om tilganger, programvare og nettverksproblemer. Referer alltid til relevante KB-artikler. Eskalér til ServiceDesk hvis du ikke kan løse problemet.",
"capabilities": [
{"name": "WebSearch", "disabled": true},
{"name": "CodeInterpreter", "disabled": false}
],
"knowledge": {
"sharepoint_sites": [
"https://svv.sharepoint.com/sites/IT-KB"
"https://ddt.sharepoint.com/sites/IT-KB"
],
"graph_connectors": ["servicenow-connector"]
},

View file

@ -89,7 +89,7 @@ public class TenantDeploymentManager
var deploymentName = _tenantDeployments[tenantId];
return new AzureChatCompletion(
deploymentName: deploymentName, // f.eks. "gpt-4o-tenant-svv"
deploymentName: deploymentName, // f.eks. "gpt-4o-tenant-ddt"
endpoint: _endpoint,
credentials: new DefaultAzureCredential()
);