You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+60Lines changed: 60 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,6 +100,66 @@ Configuration can be done through:
100
100
101
101
For more information, visit our [documentation portal](https://dev.oneground.nl).
102
102
103
+
## Data Protection & Encryption
104
+
105
+
The Zaken API supports encryption of sensitive personal data (BSN - Burgerservicenummer) stored in the database. This uses two mechanisms:
106
+
107
+
### HMAC Hashing (for searchable lookups)
108
+
109
+
BSN values are hashed using HMAC-SHA256 so they can be searched without storing plaintext. Configure the HMAC key via an environment variable on the Zaken container:
>**Warning**: The HMAC key is permanent — if you change it, existing hashes become unsearchable. Back it up securely.
128
+
129
+
### DataProtection Encryption (for reversible encryption at rest)
130
+
131
+
BSN values are also encrypted using ASP.NET Core DataProtection. Encryption keys are stored in the database (`data_protection.DataProtectionKeys` table). Optionally, these keys can be protected with an X.509 certificate:
>**Warning**: If the certificate is lost, all encrypted data in the database becomes permanently unreadable. Always back up the PFX file.
160
+
161
+
If no certificate is configured, DataProtection keys are stored unencrypted in the database. This is acceptable for development but not recommended for production.
0 commit comments