GPI Teknisk Whitepaper
En detaljeret gennemgang af GPI's sikkerhedsarkitektur, PII-beskyttelse og GDPR-compliance
1. Arkitekturoversigt
GPI er en microservice-baseret platform bestående af 11 Docker containers der kører on-premise eller i jeres eget Azure-miljø. Arkitekturen er designet til single-tenant deployment — én installation per kunde, fuld dataisolation.
Gateway (BFF) serverer React 19 SPA, håndterer autentificering via Microsoft Entra ID og proxyer API-kald til backend-services.
DataHub (hoved-API), Audit service, Telemetry service, Indexing worker, PII service, DocParser og Embeddings service.
PostgreSQL med pgvector til semantisk søgning, Redis til token storage og pub/sub, RabbitMQ til asynkron messaging.
Nginx terminerer TLS 1.3 ved kanten. Al intern kommunikation kører over isoleret Docker bridge-netværk.
2. PII-detektionspipeline
GPI bruger en hybrid tilgang der kombinerer regex-baserede regler med en specialtrænet NER-model for maksimal præcision.
NER-model
Custom thomasbeste/danish-xlmr-ner-large — XLM-R large, to-trins finjusteret på DANSK+DaNE datasæt. Eksporteret til ONNX med INT8 kvantisering via optimum-cli. Bagt ind i Docker-image for reproducerbare deployments.
Regex-lag
Pattern matching for CPR-numre, CVR-numre, telefonnumre, emailadresser, bankkonti og kortnumre. CPR/CVR-regler inkluderer checksum-validering der eliminerer ~99% falske positiver — modsat generiske regex-implementeringer.
Detektionskategorier
PERSON, CPR, ADRESSE, TELEFON, EMAIL, CVR, KONTO, SUNDHED — med confidence scores for hver detektion.
3. Tokenisering og kryptering
Når PII er detekteret, tokeniseres den med reversible tokens og krypteres med AES-256-GCM.
Symmetrisk kryptering med authenticated encryption. Hver token får en unik nonce. Byte-kompatibelt mellem .NET og Python services.
Nøgleafledning fra master key. Sikrer at kompromittering af én afledt nøgle ikke kompromitterer andre.
Token-mappings gemmes i Redis med konfigurerbar TTL (standard: 120 minutter). Automatisk oprydning efter udløb.
AI-svar de-tokeniseres ved at slå tokens op i Redis og dekryptere. Brugeren ser det fulde svar med originale data.
4. Adgangskontrol
GPI bruger en to-lags adgangsmodel med Microsoft Entra ID som identity provider.
Roller
Systemroller (Administrator, Auditor, Analyst, User) styrer funktionsadgang. Administratorer kan oprette og fjerne brugere, konfigurere datakilder og se audit logs. Auditorer har read-only adgang til compliance-data.
Grupper og datakilder
Brugere tildeles grupper der giver adgang til specifikke datakilder. En bruger ser kun data fra de kilder deres gruppe har adgang til. Zero-trust princippet: ingen adgang medmindre eksplicit tildelt.
Microsoft Entra ID
OIDC-baseret autentificering med Entra ID som ekstern identity provider. Certifikat-baseret autentificering i produktionsmiljøer, client secret i testmiljøer.
5. GDPR-compliance
GPI implementerer 9 GDPR-artikler med dokumenterbar compliance.
Opbevaringsbegrænsning
Konfigurerbare retentionspolitikker med daglig oprydning og komplet revisionslog.
Indsigtsret
DSAR-rapporter med ét klik. Eksport som JSON eller CSV.
Ret til sletning
Kaskade-sletning med 7 års uforanderlig sletningslog.
Dataportabilitet
CSV/JSON eksport via API. Maskinlæsbart format.
Data protection by design
Hybrid PII-detektion tokeniserer før AI-behandling.
Behandlingsfortegnelse
Meta-audit logging af al adgang til revisionsdata.
Behandlingssikkerhed
AES-256-GCM, TLS 1.3, RBAC via Entra ID.
Brudanmeldelse
Real-time anomali-detektion, automatiske advarsler, 72-timers flow.
6. Anomali-detektion
GPI overvåger al aktivitet med 8+ regler der detekterer mistænkelig adfærd i realtid.
Reglerne dækker: uautoriserede adgangsforsøg, bulk-udtræk af data, usædvanlige adgangsmønstre, adgang uden for normale arbejdstider, gentagne fejlslagne logins, eskalering af rettigheder, og mere.
Ved detektion sendes automatiske email-advarsler til administratorer. Alle hændelser logges i den uforanderlige audit trail med fuld kontekst: bruger, IP, tidspunkt, handling og resultat.
7. Dokumenthåndtering
GPI understøtter 30+ filformater med automatisk indeksering, OCR og semantisk søgning.
PDF, DOCX, XLSX, PPTX, ODT, ODS, RTF, TXT, CSV, HTML, XML, Markdown og flere.
PNG, JPG, TIFF, BMP, GIF, WebP — med OCR-udtræk af tekst fra scannede dokumenter.
ZIP, TAR, GZ — automatisk udpakning og indeksering af indhold.
pgvector embeddings kombineret med PostgreSQL fuld-tekst søgning (dansk stemming). Hybrid vektor + keyword retrieval.
8. Teknologistak
.NET 10, Custom ChatAgent + MCP protokol, Conduit (mediator + messaging), C# 12 med primary constructors.
React 19, TypeScript, Vite, Tailwind CSS 4, TanStack React Query.
PostgreSQL + pgvector, Redis, RabbitMQ, ONNX Runtime (INT8 kvantiseret NER).
Docker (11 containers), Nginx (TLS termination), Microsoft Entra ID (OIDC), on-premise eller Azure.