Volledige openheid — geen marketing-praat
Security & GDPR — hoe Koldwerk omgaat met je data.
We werken voor installatiebedrijven die per definitie met audit-trails werken. We weten dat onze klanten weten hoe een audit eruitziet. Daarom beschrijven we hier in detail wat we doen — met zaken die we nog niet doen ook eerlijk genoemd.
AES-256-GCM
Encryptie van PII at-rest
TLS 1.3
Encryptie in-transit
EU-only
Alle sub-processors EU-gebonden
Append-only
Audit-log met hash-chaining
1. Architectuur
Multi-tenant isolatie
Iedere werkruimte (tenant) heeft een eigen tenantId. Alle queries naar tenant-data lopen door een tenantClient(tenantId)-wrapper die de tenant-scope op rij-niveau afdwingt. Cross-tenant data-toegang is structureel onmogelijk — niet door code-review, maar door query-design. Er is geen "admin override"-knop die deze isolatie omzeilt.
Encryptie at-rest
Persoonsgegevens worden geëncrypteerd vóór ze de database raken via AES-256-GCM met server-side key (PII_KEY env-var). De encrypted ciphertext + authentication-tag + IV worden opgeslagen, niet de plain-text. Bij key-rotation worden bestaande records re-encrypted via een batch-job.
Encryptie in-transit
TLS 1.3 enforced via HSTS-header (max-age=63072000; includeSubDomains; preload). Alle subdomeinen redirect 301 naar HTTPS. Mixed-content geblokkeerd door Content-Security-Policy.
Wachtwoord-hashing
Argon2id met memory-cost 64MB en time-cost 3 iteraties (OWASP-aanbeveling 2024). Géén MD5/SHA-1/bcrypt-only legacy. Per-user random salt. Bij een datalek zijn de hashes praktisch onbrute-forceable.
Audit-trail (append-only)
Iedere kritieke handeling (werkbon-aftekening, koudemiddel-mutatie, user-rolwijziging, lekcontrole, etc.) wordt geschreven naar een AuditLog-tabel met:
- Actor: user-id, IP-hash, user-agent fingerprint
- Action: type + entity-id + before/after JSON
- Hash-chain: SHA-256(prevHash + payload) — wijzigen vereist hele chain herschrijven
- INSERT-only constraint — geen UPDATE/DELETE mogelijk via applicatie-laag
Bij een Kiwa-audit kunnen we de hash-chain valideren in real-time. Tampering wordt direct gedetecteerd.
2. Operationele security
Back-ups
Dagelijkse versleutelde back-ups via de managed Postgres-provider (point-in-time-recovery binnen 7 dagen). Wekelijkse snapshot extern opgeslagen. RPO (Recovery Point Objective): max. 24 uur. RTO (Recovery Time Objective): 4 uur voor catastrofale infrastructuur-uitval.
Incident-response
Sentry (EU-region) monitort runtime-errors. Bij security-incidenten:
- Detectie + initial-triage binnen 1 uur tijdens kantooruren.
- Verwerkingsverantwoordelijke (tenant-owner) informeren binnen 24 uur.
- AP (Autoriteit Persoonsgegevens) melding binnen 72 uur indien meldingsplichtig.
- Post-mortem schriftelijk binnen 7 werkdagen.
Rate-limiting + brute-force-bescherming
Login: 5 pogingen / 15 min per IP+email-combinatie. Wachtwoord-reset: 3 / uur. Magic-link: 3 / 15 min. Diensten-aanvragen: 5 / uur. Contact-form: 3 / uur. Bot-detectie via honeypot-velden + User-Agent-fingerprinting.
Security headers
Strict-Transport-Security, Content-Security-Policy (met nonce per response), X-Content-Type-Options, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy beperkt tot strikt minimum. Cross-Origin-Opener-Policy en Cross-Origin-Embedder-Policy actief.
security.txt
Responsible-disclosure via /.well-known/security.txt. Reactie binnen 48 uur. Géén bug-bounty-budget op dit moment — wel erkenning + hall-of-fame na publicatie.
3. AVG-compliance
Rolverdeling
Verwerker: Koldwerk. Verwerkingsverantwoordelijke: jouw bedrijf. Volledige verwerkersovereenkomst onder /verwerkersovereenkomst — conform AVG art. 28, sub-processors expliciet benoemd.
Data-locatie
Alle persoonsgegevens worden verwerkt binnen de EER. Geen Schrems-II-risico via US-providers. Indien een sub-processor in de toekomst data buiten de EER zou verwerken, krijgt elke verwerkingsverantwoordelijke 30 dagen vooraf bericht.
Betrokkenenrechten
Inzage, correctie, verwijdering, dataportabiliteit — alles binnen 30 dagen. OWNER kan via /instellingen zelf user-data en klant-data verwijderen of corrigeren. Voor formele verzoeken: privacy@koldwerk.nl.
Bewaartermijnen
- Actieve werkruimte-data: zolang abonnement loopt.
- Na opzegging: 30 dagen grace-period voor export, daarna anonimisering.
- Audit-records (zonder identificeerbare PII): 7 jaar conform BRL-100 / Wet milieubeheer.
4. Sub-processors
Volledige actuele lijst met doel + regio + DPA-status onder /verwerkersovereenkomst sectie 12. Wijzigingen worden 30 dagen vooraf gemeld; verwerkings- verantwoordelijke kan bezwaar maken.
Alle sub-processors: EU-gebonden voor data-opslag, eigen verwerkersovereenkomst met Koldwerk, gescreend op AVG-conformiteit.
5. Roadmap — wat we nog niet doen
Koldwerk is een nieuw product. Sommige zaken die enterprise-buyers verwachten, doen we nog niet. We benoemen ze hier expliciet zodat je geen verrassingen krijgt na een offerte.
SOC-2 Type II
Nog niet behaald. Planning: extern audit-traject na de eerste 10 betalende klanten (Q4 2026 / Q1 2027). Wel: alle onderliggende controls (audit-log, encryption, MFA, incident- response) staan al — alleen het externe audit-papier ontbreekt.
ISO 27001
Nog niet behaald. Roadmap loopt parallel aan SOC-2. Voor enterprise-prospects die ISO 27001 nu al vereisen: onze sub-processors (Vercel, Postgres-provider) zijn beide ISO 27001 — we kunnen die certificaten meeleveren.
Externe pentest
Nog niet uitgevoerd. Plan: na eerste 5 klanten (Q3 2026) een externe pentest door een NL-geregistreerd security-bureau. Wel: continue dependency-scan via Dependabot, CSP-monitoring, en interne security-reviews.
Bug-bounty
Geen betaald bug-bounty-programma op dit moment. Wel: responsible-disclosure via /.well-known/security.txt met reactie binnen 48 uur.
Live uptime + incidenten
Onze status-pagina toont real-time uptime en lopende incidenten. Voor enterprise-klanten beschikbaar: dedicated status-feed + SLA-rapportages per maand.
Bekijk /statusSpecifieke security-vragen of een IT-questionnaire die je wilt laten invullen?
Mail privacy@koldwerk.nl