Sikkerhed
Sikkerhedspolitik
Skolestarter behandler følsomme data om børn under 13 år. Sikkerhed er den vigtigste del af platformen. Her er hvordan vi beskytter data + hvordan du kan rapportere sikkerhedsproblemer.
Responsible disclosure — rapportér sikkerhedsproblemer
Har du fundet en sikkerhedssvaghed i Skolestarter? Skriv til security@skolestarter.dk. Vi læser alle henvendelser indenfor 48 timer.
Vi beder dig om at:
- Ikke udnytte fejlen ud over hvad der er nødvendigt for at demonstrere den.
- Ikke offentliggøre detaljer før vi har bekræftet og fikset.
- Ikke ramme andre brugeres data, lave DoS-tests, eller bruge brute-force.
Vi sender en bekræftelse indenfor 48 timer, en status-opdatering hver 7. dag indtil fix, og kreditering når vi har lukket hullet (medmindre du ønsker anonymitet).
Tekniske sikkerhedsforanstaltninger
- Kryptering i transit: TLS 1.3 på alle endpoints. HSTS-header sat.
- Kryptering at rest: Database + backups krypteres med AES-256.
- Password-hashing: scrypt (memory-hard, GPU-resistant). PIN-hashing: PBKDF2-SHA256 200.000 iterationer.
- Session-tokens: HMAC-SHA256 signed JWT, HttpOnly + Secure + SameSite=lax cookies, 7-dages TTL.
- One-time action tokens: Purpose-tagged hashes + AuditLog-baseret dedup for destruktive PIN-protected handlinger.
- Rate-limiting: per-endpoint limits — login 10/min, signup 5/min, password-reset 3/5min, PIN-verify 5/15min, change-password 5/15min.
- Brute-force-beskyttelse: 5 fejlede login eller PIN-forsøg trigger 15-minutters lockout.
- Audit-log: Alle sensitive handlinger logges (logins, PIN-changes, child-creations, account-deletions, admin-actions, Stripe-events). 7 års retention.
- Webhook-signaturer: Stripe-webhooks verificeres mod signing-secret. Event-id idempotency forhindrer duplicate processing.
Hosting og datalokation
- Web + database: Vercel (Frankfurt, EU) + Neon Postgres (EU-vest).
- Email: Resend (EU-region).
- Lyd-optagelser: Krypteret i EU-baseret object storage. Aldrig delt med tredjepart.
- Error tracking: Sentry med
sendDefaultPii: false— ingen brugerdata sendes til Sentry.
Vi sender ingen data uden for EU/EØS. Se databehandleraftalen for fuld liste over underdatabehandlere.
Databrud — 72-timers procedure
Hvis vi opdager et databrud der kan udgøre en risiko for brugerne, følger vi GDPR art. 33-34:
- Indenfor 72 timer underrettes Datatilsynet med detaljer om brud, omfang og afhjælpning.
- Hvis bruddet udgør høj risiko, underrettes berørte brugere direkte via email indenfor samme periode.
- Hændelsen dokumenteres i internt incident-log.
- Post-mortem publiceres på /status indenfor 14 dage.
Sikkerheds-audit + penetrationstest
Vi udfører løbende internt sikkerhedsarbejde via audit-værktøjer + Claude Code-baseret security-review på alle PRs. Ekstern penetrationstest planlagt før Niveau 3 public release.
Vi opdaterer denne side når ekstern test er gennemført.
Kontakt
- Sikkerhed: security@skolestarter.dk
- Generel kontakt: hej@skolestarter.dk
- DPO-kontakt: Se /dpo
- Datatilsynet: datatilsynet.dk
Sidst opdateret: 2026-06-04. Næste revision: hver 6. måned.