Privacy & Compliance
The MATIH platform includes a comprehensive privacy subsystem that enables tenants to comply with GDPR, CCPA, and other data protection regulations. The privacy module covers consent management, data subject request (DSR) processing, encryption key lifecycle management, and a unified privacy dashboard.
Components
| Component | Controller | Base Path |
|---|---|---|
| Consent Management | ConsentController | /api/v1/privacy/consent |
| Data Subject Requests | DataSubjectRequestController | /api/v1/privacy/dsr |
| Encryption Keys | EncryptionController | /api/v1/encryption |
| Privacy Dashboard | PrivacyDashboardController | /api/v1/privacy/dashboard |
Tenant Scoping
All privacy APIs are tenant-scoped via the X-Tenant-ID request header. This ensures complete data isolation between tenants:
curl http://localhost:8082/api/v1/privacy/consent \
-H "X-Tenant-ID: {tenantId}" \
-H "Authorization: Bearer $TOKEN"Supported Regulations
| Regulation | Scope | Key Requirements |
|---|---|---|
| GDPR | EU/EEA | Consent, DSR rights, data minimization, breach notification |
| CCPA | California | Opt-out rights, data deletion, disclosure |
| LGPD | Brazil | Consent, data portability, DPO requirement |
| POPIA | South Africa | Lawful processing, data subject participation |
| PIPEDA | Canada | Consent, access rights, accuracy |
Privacy Posture Score
The privacy dashboard calculates an overall posture score (0-100) based on:
- Consent coverage: Percentage of data subjects with valid consent
- DSR compliance: Average response time vs regulatory deadlines
- Key management: Encryption key rotation compliance
- Data mapping: Completeness of data inventory
- Policy implementation: Active compliance policies vs requirements
Source Files
| File | Path |
|---|---|
| Consent Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/privacy/controller/ConsentController.java |
| DSR Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/privacy/controller/DataSubjectRequestController.java |
| Encryption Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/privacy/controller/EncryptionController.java |
| Dashboard Controller | control-plane/tenant-service/src/main/java/com/matih/tenant/privacy/controller/PrivacyDashboardController.java |