GDPR Art. 28
Databehandleraftale klar til underskrift
Skoleelev ApS er databehandler, skolen er dataansvarlig. Aftalen leveres som PDF sammen med kontrakten — opdateret 2026 med AI-chokepunkt og prompt-audit i Bilag C.
Kontakt for at modtage DPABilag B — Underdatabehandlere
| Underdatabehandler | Formål | Region | Note |
|---|---|---|---|
| Elestio (LeapSwitch Networks Ltd.) | Managed self-hosted Supabase-stack (PostgreSQL, auth, storage, edge functions) — drift, opdateringer, backup-orkestrering | Irland (HQ) / EU drift | ISO 27001, DPA underskrevet, ingen adgang til klartekst-PII |
| Hetzner Online GmbH | Fysisk hosting af database, applikation og filer + krypteret S3-backup | DE — fsn1 Falkenstein (primær), nbg1 Nürnberg (replica), FI — hel1 Helsinki (Hetzner Object Storage, S3-kompatibel — krypteret daglig backup af DB + Storage-filer + serverless funktion-logs, 30 dages opbevaring) | ISO 27001, BSI C5, EU-ejet |
| OpenAI (Enterprise) | Tekst-AI (gpt-4o, gpt-4o-mini, o3-mini) | EU residency | store:false + scrub + hashet pseudobruger |
| Google AI Studio (Gemini) | Billede- & multimodal-AI | EU residency | store:false + scrub |
| Stripe Payments Europe | Betaling (ingen elev-PII) | EU (Irland) | PCI-DSS Level 1 |
| Resend / Postmark | Transaktionel email | EU | DPA + EU sub-processor liste |
Bemærk: Supabase er open source-software, som vi selv hoster via Elestio på Hetzners EU-infrastruktur — Supabase Inc. er ikke underdatabehandler, og ingen elevdata forlader vores selv-hostede miljø. Skolen informeres mindst 30 dage før tilføjelse af en ny underdatabehandler og kan gøre indsigelse.
Bilag C — Tekniske og organisatoriske foranstaltninger (TOMs 2026)
- AI PII-chokepunkt (aiSafeFetch) — scrubber CPR, NHS/NI, e-mail og elevnavne; blokerer med HTTP 422 ved detektion
- AI-prompt-audit (ai_prompt_audit, 180 dages retention) — adgangskontrol: school_admin ser egne elever; platform-administratoren ser kun pseudonymiseret metadata (hashet bruger-id, funktion, model), aldrig prompt-indhold med personoplysninger
- Default-deny PII for Skoleelev-personale — produktionssupport ser kun pseudonymiseret brugerkatalog (UUID + rolle + skole-præfiks). Identifikation kræver audit-logget break-glass-the system med skriftlig begrundelse (min. 20 tegn), parental-consent-tjek for under 13 år, og automatisk forældre-/DPO-notifikation (child_data_breakglass_notice)
- Sensitive-access-log — alle læsninger af psykolog/sundhed/SEN/bekymringssager via sikret server-funktion
- Row-Level Security (adgangskontrol) på alle tabeller; views er security_invoker=true; platform-administratoren har ingen blanket FOR ALL-policy på elevdata-tabeller
- Impersonation kræver skriftlig begrundelse og blokerer under 13 år uden forældersamtykke (parental consent gate)
- Tofaktor (TOTP, RFC 6238) obligatorisk for the platform administrator og school_admin med 3-login-indkøringsperiode
- AES-256 i hvile; TLS 1.3 i transit; HSTS + CSP; signerede links til private buckets
- Cross-region live-replika (Falkenstein → Nürnberg) + daglige snapshots; RPO < 1 minut
- child_data_consents — 6 samtykketyper for under-13; useChildAgeGate blokerer AI-personalisering uden samtykke
- admin_audit_log (24 mdr.) + daglig pg_cron rotation
- Brudvarsel < 24 t til skolen (GDPR Art. 33)
