Skip to content

Security measures

Version 2 · in force since 3 Oct 2026

Annex II — Technical and organizational security measures

  • Encryption in transit: HTTPS/TLS for all public endpoints, HSTS in production.
  • Data minimization: consent records do not store the visitor's IP address or full user agent; the scanner does not store page content, cookie values or form values.
  • Access control: deny-by-default authorization for every action; strict tenant isolation in the database layer with automated isolation tests; roles inside each organization; administrator access limited to named staff, with a reason, a visible banner and an audit record for impersonation.
  • Authentication: single-use sign-in links that expire in 15 minutes, bcrypt password hashes with a 12-character minimum, rate limits, session list with revoke, re-authentication for sensitive changes, signed and encrypted session cookies.
  • Audit: append-only audit log (the database rejects changes and deletions).
  • Network and infrastructure: application and database on a private network; the database port is not exposed to the internet; Cloudflare network protection; bot protection on public forms; origin checks and rate limits on the public consent endpoints.
  • Application security: content security policy with per-request nonces, CSRF protection, secure headers, input validation, upload checks; automated dependency audits and static security analysis in every release.
  • Secrets: credentials kept only in the deployment environment, never in source code.
  • Resilience: immutable published editions; health checks that a new release must pass before it receives traffic.
  • Personnel: confidentiality duties; access only when needed.
  • Incident response: documented process to assess, contain and notify Personal Data Breaches (section 9).
  • Deletion: automatic deletion of consent records at the end of the retention period; deletion of tenant data after account deletion (section 10).