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

@ -60,7 +60,7 @@ Cosmos DB er kritisk for Foundry Agent Service da all agent-tilstand lagres her:
```bash
# Aktiver continuous backup med 30-dagers PITR
az cosmosdb create \
--name svv-ai-cosmos-prod \
--name ddt-ai-cosmos-prod \
--resource-group rg-ai-foundry-prod \
--locations regionName="norwayeast" failoverPriority=0 \
--locations regionName="swedencentral" failoverPriority=1 \
@ -170,7 +170,7 @@ Microsoft anbefaler eksplisitt a definere account, projects, capability host og
// main.bicep -- AI Foundry prosjekt med DR-konfigurasjon
param primaryLocation string = 'norwayeast'
param secondaryLocation string = 'swedencentral'
param projectName string = 'svv-ai-project'
param projectName string = 'ddt-ai-project'
// Cosmos DB med continuous backup og failover
resource cosmosAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = {
@ -229,7 +229,7 @@ resource aiProject 'Microsoft.MachineLearningServices/workspaces@2024-04-01' = {
}
}
properties: {
friendlyName: 'SVV AI Project'
friendlyName: 'DDT AI Project'
storageAccount: storageAccount.id
keyVault: keyVault.id
applicationInsights: appInsights.id
@ -254,7 +254,7 @@ stages:
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'svv-ai-prod'
azureSubscription: 'ddt-ai-prod'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
@ -271,7 +271,7 @@ stages:
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'svv-ai-prod'
azureSubscription: 'ddt-ai-prod'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |

View file

@ -98,7 +98,7 @@ Operational backup for Azure Blobs gir point-in-time restore:
```bash
# Opprett backup vault
az dataprotection backup-vault create \
--vault-name svv-ai-backup-vault \
--vault-name ddt-ai-backup-vault \
--resource-group rg-ai-prod \
--location norwayeast \
--type SystemAssigned \
@ -106,7 +106,7 @@ az dataprotection backup-vault create \
# Opprett backup-policy for blobs (30 dagers retensjon)
az dataprotection backup-policy create \
--vault-name svv-ai-backup-vault \
--vault-name ddt-ai-backup-vault \
--resource-group rg-ai-prod \
--name blob-backup-policy-30d \
--policy '{
@ -144,9 +144,9 @@ Cosmos DB tilbyr to nivaaer av continuous backup:
```bash
# Gjenopprett Cosmos DB til et bestemt tidspunkt
az cosmosdb restore \
--account-name svv-ai-cosmos-prod \
--account-name ddt-ai-cosmos-prod \
--resource-group rg-ai-prod \
--target-database-account-name svv-ai-cosmos-restored \
--target-database-account-name ddt-ai-cosmos-restored \
--restore-timestamp "2026-02-10T14:30:00Z" \
--location norwayeast
```
@ -161,7 +161,7 @@ For AI-loesninger som bruker Azure SQL for strukturerte data:
# Gjenopprett Azure SQL til et bestemt tidspunkt
az sql db restore \
--resource-group rg-ai-prod \
--server svv-ai-sqlserver \
--server ddt-ai-sqlserver \
--name ai-metadata-db \
--dest-name ai-metadata-db-restored \
--time "2026-02-10T14:30:00Z"
@ -195,7 +195,7 @@ For GPU-VM-er og compute-intensive AI-arbeidsbelastninger:
# Opprett backup-policy for managed disks
# Daglig backup med 30 dagers retensjon
az dataprotection backup-policy create \
--vault-name svv-ai-backup-vault \
--vault-name ddt-ai-backup-vault \
--resource-group rg-ai-prod \
--name disk-backup-daily-30d \
--policy '{
@ -303,19 +303,19 @@ Automatisk haandtering av eldre datasett og backup-data:
```bash
# Opprett Recovery Services vault med GRS for VM-backup
az backup vault create \
--name svv-ai-recovery-vault \
--name ddt-ai-recovery-vault \
--resource-group rg-ai-prod \
--location norwayeast
# Sett storage-redundans til geo-redundant
az backup vault backup-properties set \
--name svv-ai-recovery-vault \
--name ddt-ai-recovery-vault \
--resource-group rg-ai-prod \
--backup-storage-redundancy GeoRedundant
# Aktiver Cross Region Restore
az backup vault backup-properties set \
--name svv-ai-recovery-vault \
--name ddt-ai-recovery-vault \
--resource-group rg-ai-prod \
--cross-region-restore-flag Enabled
```
@ -366,7 +366,7 @@ For norsk offentlig sektor er det viktig at off-region backup forblir innenfor E
"parameters": {
"vaultLocation": { "value": "norwayeast" },
"backupPolicyId": {
"value": "/subscriptions/{sub}/resourceGroups/rg-ai-prod/providers/Microsoft.RecoveryServices/vaults/svv-ai-recovery-vault/backupPolicies/DefaultPolicy"
"value": "/subscriptions/{sub}/resourceGroups/rg-ai-prod/providers/Microsoft.RecoveryServices/vaults/ddt-ai-recovery-vault/backupPolicies/DefaultPolicy"
}
}
}

View file

@ -120,7 +120,7 @@ Failover-tester boer dekke flere niva -- fra enkeltkomponent til fullstendig reg
"type": "List",
"targets": [
{
"id": "/subscriptions/{sub-id}/resourceGroups/rg-ai-prod/providers/Microsoft.DocumentDB/databaseAccounts/svv-ai-cosmos/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB",
"id": "/subscriptions/{sub-id}/resourceGroups/rg-ai-prod/providers/Microsoft.DocumentDB/databaseAccounts/ddt-ai-cosmos/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB",
"type": "ChaosTarget"
}
]
@ -232,9 +232,9 @@ async def check_cosmos_health(endpoint: str) -> dict:
async def full_health_check() -> dict:
"""Komplett helsesjekk for alle AI-komponenter."""
results = await asyncio.gather(
check_openai_health("https://svv-aoai-ne.openai.azure.com", "***"),
check_openai_health("https://svv-aoai-sc.openai.azure.com", "***"),
check_cosmos_health("https://svv-ai-cosmos.documents.azure.com"),
check_openai_health("https://ddt-aoai-ne.openai.azure.com", "***"),
check_openai_health("https://ddt-aoai-sc.openai.azure.com", "***"),
check_cosmos_health("https://ddt-ai-cosmos.documents.azure.com"),
)
overall = "healthy" if all(r["status"] == "healthy" for r in results) else "degraded"
return {"overall": overall, "components": results}
@ -517,7 +517,7 @@ Integrer L1-tester i CI/CD-pipeline:
- task: AzureCLI@2
displayName: 'Start Chaos Experiment'
inputs:
azureSubscription: 'svv-ai-staging'
azureSubscription: 'ddt-ai-staging'
scriptType: 'bash'
inlineScript: |
# Start chaos experiment
@ -534,19 +534,19 @@ Integrer L1-tester i CI/CD-pipeline:
- task: AzureCLI@2
displayName: 'Run Load Test During Chaos'
inputs:
azureSubscription: 'svv-ai-staging'
azureSubscription: 'ddt-ai-staging'
scriptType: 'bash'
inlineScript: |
# Kjoer lasttest parallelt med chaos experiment
az load test run create \
--test-id ai-failover-load-test \
--resource-group rg-ai-staging \
--load-test-resource svv-ai-load-test
--load-test-resource ddt-ai-load-test
- task: AzureCLI@2
displayName: 'Validate Results'
inputs:
azureSubscription: 'svv-ai-staging'
azureSubscription: 'ddt-ai-staging'
scriptType: 'bash'
inlineScript: |
# Valider at feilrate er innenfor terskel

View file

@ -224,7 +224,7 @@ Gatewayen ma respektere throttling-signaler (HTTP 429) og fjerne feilede backend
### Private Endpoint-arkitektur
```
On-premises nettverk (Statens vegvesen)
On-premises nettverk (Direktoratet for digital tjenesteutvikling)
|
+-- ExpressRoute --> Azure vNet (Norway East)
|
@ -243,10 +243,10 @@ For privat nettverkstilgang kan en split-brain DNS-tilnaerming brukes:
```
Normaltilstand:
aoai-gateway.intern.vegvesen.no --> APIM Norway East (privat IP)
aoai-gateway.intern.ddt.no --> APIM Norway East (privat IP)
Ved regional utfall:
aoai-gateway.intern.vegvesen.no --> APIM Sweden Central (privat IP)
aoai-gateway.intern.ddt.no --> APIM Sweden Central (privat IP)
(manuell DNS-endring eller Azure Private DNS zones)
```
@ -277,7 +277,7 @@ Kvote tildeles per **abonnement + region + modell** i enheter av **Tokens-per-Mi
### Kvotestrategi for multi-region
```
Abonnement: SVV-AI-Prod
Abonnement: DDT-AI-Prod
|
+-- Norway East
| +-- gpt-4o Data Zone: 120K TPM (primaer)

View file

@ -342,7 +342,7 @@ class AIEdgePipeline:
### Relevante use cases
- **Statens vegvesen**: Sanntids verkontrollovervaking med AI-basert analyse av vaerdata, trafikkmonstre og veiforhold fra veistasjonssensorer
- **Direktoratet for digital tjenesteutvikling**: Sanntids verkontrollovervaking med AI-basert analyse av vaerdata, trafikkmonstre og veiforhold fra veistasjonssensorer
- **Kystverket**: Autonome sensorsystemer langs kysten for miljooverkaking og sikkerhet, med begrenset tilkobling
- **Energisektoren**: Smart styring av offentlige bygg med prediktiv vedlikeholdsanalyse av HVAC-systemer
- **Helsesektoren**: IoT-basert pasientovervaking pa sykehus med lokal AI for tidlig varsling

View file

@ -452,7 +452,7 @@ class TestOfflineAI:
| Scenario | Etat | Offline-varighet | AI-funksjon |
|----------|------|-----------------|-------------|
| Vegfinspeksjon | SVV | Timer | Skadeklassifisering |
| Vegfinspeksjon | DDT | Timer | Skadeklassifisering |
| Ambulanse | Helseetaten | Minutter-timer | Triagering |
| Beredskap | DSB | Dager | Situasjonsanalyse |
| Maritime inspeksjoner | Sjoefartsdir. | Timer-dager | Rapport-generering |