/* ros-data.js — Mock data for Lier kommune ROS, M365 Copilot Enterprise */ window.ROS_DATA = { meta: { id: 'ROS-2026-LIER-COPILOT-01', system: 'M365 Copilot Enterprise (E5)', sektor: 'kommune', organisasjon: 'Lier kommune', brukerantall: 1850, dataresidens: 'EU (vurderer Sovereignty)', oppdatert: '2026-05-01' }, // 7-axis NS 5814 radar radarAxes: [ { key: 'personvern', label: 'Personvern', current: 4.2, target: 2.6 }, { key: 'informasjonssikkerhet', label: 'Info.sikkerhet', current: 3.8, target: 2.4 }, { key: 'dataintegritet', label: 'Dataintegritet', current: 2.9, target: 2.1 }, { key: 'tilgjengelighet', label: 'Tilgjengelighet', current: 2.4, target: 2.0 }, { key: 'leverandør', label: 'Leverandør', current: 3.6, target: 2.8 }, { key: 'compliance', label: 'Compliance', current: 4.0, target: 2.2 }, { key: 'omdomme', label: 'Omdømme', current: 3.2, target: 2.0 } ], // 12 representative threats (rest aggregated as counts in cells) threats: [ { id: 'T-001', tittel: 'Eksponering av personopplysninger via Copilot Chat', sannsynlighet: 4, konsekvens: 5, kategori: 'Personvern', kilde: 'Brukere kan ved feil dele klientdata fra arkiv inn i prompts.', konsekvensBegrunnelse: 'Sensitive klientdata kan bli kontekst i utgående svar; brudd på taushetsplikt og GDPR Art. 5.', sannsynlighetBegrunnelse: 'Copilot indekserer alle SharePoint-områder ansatt har tilgang til. 1 850 brukere uten Sensitivity Labels = høy treffsannsynlighet.', mitigeringer: [ { id: 'M-001', tittel: 'Sensitivity Labels på alle saksarkiv', status: 'planned' }, { id: 'M-002', tittel: 'Endpoint DLP-policy for clipboard og prompt', status: 'planned' } ], restrisiko: { sannsynlighet: 2, konsekvens: 4 } }, { id: 'T-002', tittel: 'Schrems II-eksponering ved cross-tenant-spørringer', sannsynlighet: 3, konsekvens: 4, kategori: 'Compliance', kilde: 'Web-grounded svar kan rute via amerikanske endepunkter.', konsekvensBegrunnelse: 'Brudd på Schrems II ved overføring av personopplysninger til USA uten TIA.', sannsynlighetBegrunnelse: 'EU Data Boundary er ikke aktivert per i dag.', mitigeringer: [{ id: 'M-003', tittel: 'EU Data Boundary aktivert tenant-bredt', status: 'planned' }], restrisiko: { sannsynlighet: 1, konsekvens: 4 } }, { id: 'T-003', tittel: 'Hallusinering i saksbehandlingsutkast', sannsynlighet: 4, konsekvens: 4, kategori: 'Dataintegritet', kilde: 'Copilot-genererte utkast kan inneholde påstander uten kildedekning.', konsekvensBegrunnelse: 'Borgere får feilaktig vedtak; klagebehandling og omdømmetap.', sannsynlighetBegrunnelse: 'Modell uten retrieval-tvang vil generere flytende, men ikke alltid faktariktige tekster.', mitigeringer: [{ id: 'M-004', tittel: 'Obligatorisk Saksbehandler-review før utsendelse', status: 'implemented' }], restrisiko: { sannsynlighet: 2, konsekvens: 3 } }, { id: 'T-007', tittel: 'Promptinjeksjon via mottatt e-post', sannsynlighet: 3, konsekvens: 5, kategori: 'Info.sikkerhet', kilde: 'Skjult instruks i innkommende dokument kan kapre Copilot-kontekst.', konsekvensBegrunnelse: 'Eksfiltrering eller manipulasjon av interne data.', sannsynlighetBegrunnelse: 'Vektor er kjent (LLM01:2025). Lavt målrettet trusselbilde, men teknisk gjennomførbart.', mitigeringer: [{ id: 'M-005', tittel: 'Defender for Cloud Apps prompt-shield', status: 'planned' }], restrisiko: { sannsynlighet: 2, konsekvens: 4 } }, { id: 'T-012', tittel: 'Manglende sletting ved tjenesteslutt', sannsynlighet: 2, konsekvens: 4, kategori: 'Personvern', kilde: 'Copilot-historikk og embeddings beholdes utover lovlig periode.', konsekvensBegrunnelse: 'Brudd på lagringsbegrensning (GDPR Art. 5(1)(e)).', sannsynlighetBegrunnelse: 'Default-policy er 90 dager; krav er 30.', mitigeringer: [{ id: 'M-006', tittel: 'Purview retention policy 30 dager', status: 'proposed' }], restrisiko: { sannsynlighet: 1, konsekvens: 3 } }, { id: 'T-019', tittel: 'Diskrimineringsbias i innbygger-svar', sannsynlighet: 3, konsekvens: 5, kategori: 'Compliance', kilde: 'Ukvalifisert bruk av Copilot mot innbygger-portal.', konsekvensBegrunnelse: 'EU AI Act Art. 5 forbud kan utløses; tilsynssak.', sannsynlighetBegrunnelse: 'Krever direkte deployering mot publikum — i dag intern bruk, men ambisjon finnes.', mitigeringer: [{ id: 'M-007', tittel: 'AI Act Art. 50 transparens-merking', status: 'proposed' }], restrisiko: { sannsynlighet: 2, konsekvens: 3 } }, { id: 'T-022', tittel: 'Skygge-IT: alternative AI-verktøy', sannsynlighet: 4, konsekvens: 3, kategori: 'Info.sikkerhet', kilde: 'Ansatte bruker ChatGPT/Claude for sensitive data parallelt.', konsekvensBegrunnelse: 'Datalekkasje uten styringskontroll.', sannsynlighetBegrunnelse: 'Allerede observert i 2 av 4 seksjoner.', mitigeringer: [{ id: 'M-008', tittel: 'Defender web-policy + brukeropplæring', status: 'implemented' }], restrisiko: { sannsynlighet: 2, konsekvens: 2 } }, { id: 'T-028', tittel: 'Avhengighet av leverandør-prising', sannsynlighet: 3, konsekvens: 3, kategori: 'Leverandør', kilde: 'Microsoft har historisk hevet Copilot-prising på kort varsel.', konsekvensBegrunnelse: 'Budsjettoverskridelse på 2026/2027-rammer.', sannsynlighetBegrunnelse: 'Sannsynlig basert på 2024–2025 pristrend.', mitigeringer: [{ id: 'M-009', tittel: 'Eksitstrategi vurdert i ADR', status: 'proposed' }], restrisiko: { sannsynlighet: 2, konsekvens: 3 } }, { id: 'T-031', tittel: 'Audit-loggene ufullstendige', sannsynlighet: 2, konsekvens: 3, kategori: 'Info.sikkerhet', kilde: 'Copilot-audit krever E5 Compliance-tier.', konsekvensBegrunnelse: 'Ikke tilfredsstiller Riksrevisjonens dokumentasjonskrav.', sannsynlighetBegrunnelse: 'E5 er på plass, men retention må konfigureres eksplisitt.', mitigeringer: [{ id: 'M-010', tittel: 'Purview audit log 1 år', status: 'planned' }], restrisiko: { sannsynlighet: 1, konsekvens: 2 } }, { id: 'T-035', tittel: 'Manglende klageadgang for AI-beslutning', sannsynlighet: 2, konsekvens: 4, kategori: 'Personvern', kilde: 'Borgere får ikke vite at vedtak er AI-assistert.', konsekvensBegrunnelse: 'GDPR Art. 22 / forvaltningsloven kan brytes.', sannsynlighetBegrunnelse: 'Krever bevisst transparens-tiltak.', mitigeringer: [{ id: 'M-011', tittel: 'Saksbehandlings-sjekkliste oppdatert', status: 'proposed' }], restrisiko: { sannsynlighet: 1, konsekvens: 3 } }, { id: 'T-041', tittel: 'Tilgjengelighetsbrudd i Copilot-grensesnitt', sannsynlighet: 2, konsekvens: 2, kategori: 'Tilgjengelighet', kilde: 'WCAG-konformitet ikke verifisert for nye Copilot-flater.', konsekvensBegrunnelse: 'UU-tilsynet kan pålegge retting; omdømmesak.', sannsynlighetBegrunnelse: 'Microsoft rapporterer AA-konformitet, men ikke testet i norsk språkdrakt.', mitigeringer: [{ id: 'M-012', tittel: 'NVDA + VoiceOver pilot-test', status: 'proposed' }], restrisiko: { sannsynlighet: 1, konsekvens: 2 } }, { id: 'T-047', tittel: 'Konfigurasjonsdrift mellom tenant og policy', sannsynlighet: 3, konsekvens: 3, kategori: 'Info.sikkerhet', kilde: 'Ulike admin-er gjør usignerte endringer over tid.', konsekvensBegrunnelse: 'Sikkerhetspolicyer eroderer; revisjonshendelser overses.', sannsynlighetBegrunnelse: 'Standard mønster i Microsoft-tenanter med 5+ admins.', mitigeringer: [{ id: 'M-013', tittel: 'config-audit-plugin kjørt månedlig', status: 'planned' }], restrisiko: { sannsynlighet: 2, konsekvens: 2 } } ], // Distribution of all 49 threats by cell (for the matrix bubbles) cellCounts: { // key = "sann,kons", value = number of threats in that cell beyond the named ones '1,1': 2, '1,2': 1, '2,1': 1, '2,2': 3, '3,1': 1, '1,3': 1, '3,2': 2, '2,3': 4, '3,3': 3, '4,2': 1, '2,4': 1, '4,3': 2, '3,4': 1, '4,4': 1, '5,3': 0, '5,4': 1 } };