Compliance

Privacy & Data Protection (GDPR)

Intermediate

Personal data is borrowed, not owned. We hold it on a specific lawful basis, for a specific purpose, for as long as that purpose lasts. The person it belongs to has rights over it the whole time, and can enforce them. Treat every field of personal data as something you may one day have to justify, show, or erase on request.

GDPR turns privacy into concrete engineering requirements: a lawful basis for every processing activity, data minimisation, purpose limitation, security, retention limits, and the ability to honour data-subject rights (access, rectification, erasure, portability, objection). These are not legal abstractions. They map directly to your schema, code paths, and logs.

We carry a heavier burden: KYC means we process special-category biometric data (Article 9), which needs a stronger lawful basis and stronger protection. The Finperiti audit found biometric data exposed to cross-tenant risk through a shared secret. This is exactly the kind of failure GDPR treats most seriously. Build privacy in by default and by design.

Collect and process lawfully

Honour rights & limits

Logging the subject log.Info($"KYC for {name}, DOB {dob}, doc {passportNumber}");

This writes special-category and identity data into logs that many people can read and that are kept for a long time. That is an ongoing GDPR breach. Log a customer id reference, never the personal data itself.

Reference, don't reproduce log.Info("KYC processed for customer {CustomerId}", customerId);

The operation can still be observed and audited. The personal data stays in the protected store, where access is controlled and retention is enforced.

Self-review checklist

Why it matters: GDPR breaches carry fines up to the higher of €20m or 4% of global turnover, plus mandatory breach notification and reputational damage. Special-category biometric failures are among the most serious. Privacy built in protects the people who trust us with their data, and protects the business that depends on that trust.