Sikkerhedspolitik
Dette dokument beskriver, hvordan sårbarheder rapporteres, triageres og afhjælpes for beskæftigelse.dk.
Rapportering af sårbarheder
Ved mistanke om sårbarhed:
- Opret ikke en offentlig issue.
- Brug privat GitHub Security Advisory for repository'et.
- Hvis privat advisory ikke er muligt, kontakt projektejer via etableret indkøbs-/pilotkanal og henvis til
SECURITY.md.
Vedlæg så vidt muligt:
- Berørt endpoint/komponent
- Reproducerbare trin
- Forventet vs. faktisk adfærd
- Risikovurdering (fortrolighed, integritet, tilgængelighed)
- Forslag til afhjælpning
SLA for respons og afhjælpning
| Fase | Mål |
|---|
| Kvittering for modtagelse | Inden for 1 arbejdsdag |
| Triage + severity-klassifikation | Inden for 3 arbejdsdage |
| Indledende mitigationsplan (High/Critical) | Inden for 5 arbejdsdage |
Severity-model
- Critical: aktiv udnyttelse eller høj-impact kompromitteringsvej
- High: væsentlig risiko for fortrolighed/integritet uden aktiv exploit
- Medium: afgrænset udnyttelighed eller mitigérbar påvirkning
- Low: lav-impact hardeningbehov
Mål for afhjælpning
| Severity | Mål |
|---|
| Critical | Patch eller kompenserende kontrol inden 48 timer |
| High | Patch eller kompenserende kontrol inden 7 kalenderdage |
| Medium | Udbedres i næste planlagte releasecyklus |
| Low | Backlog-hardening, medmindre reprioriteret |
Automatiseret sårbarhedskontrol
Følgende workflows understøtter løbende sikkerhedsovervågning:
/.github/workflows/ci.yml
npm audit JSON eksport
- Policy-gate: High/Critical threshold (
VULN_MAX_HIGH, VULN_MAX_CRITICAL) sat til 0
- CycloneDX SBOM generation (
sbom.cdx.json)
/.github/workflows/security-vulnerability.yml
- Dependency review gate på pull requests
- Trivy scanning (vuln + secrets) med SARIF upload
- Upload af triage artifacts (
npm-audit.json, sbom.cdx.json, trivy-results.sarif)
Nuværende tekniske kontroller
- Security headers: CSP, HSTS (prod), X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Server-side rate limiting på:
POST /api/chat
POST /api/chat/feedback
GET /api/freshness
- Miljøvariabelstyring af secrets (
.env, ikke i git)
- Server-side databaseadgang via Turso/libSQL klient
Koordineret offentliggørelse
- Sårbarhedsdetaljer offentliggøres ikke før mitigation er deployet.
- Efter koordineret disclosure registreres høj-niveau note i
docs/CHANGELOG.md.
Incidenthåndtering
Afgrænsning
- Dokumentet er en sikkerhedspolitik, ikke en formel certificering (fx ISO/SOC/NIS2).
- Kontraktuelle sikkerhedskrav håndteres i særskilte aftaler.
Referencer