Data Subject Requests
The MATIH platform provides automated handling of data subject requests (DSRs) as required by GDPR, CCPA, and other privacy regulations. The Tenant Service exposes dedicated endpoints for tenants to manage data access, export, rectification, and erasure requests on behalf of their end users.
Request Types
| Type | Regulation | Description | SLA |
|---|---|---|---|
| Access (SAR) | GDPR Art. 15, CCPA | Retrieve all personal data for a subject | 30 days |
| Export (Portability) | GDPR Art. 20 | Export data in machine-readable format (JSON/CSV) | 30 days |
| Rectification | GDPR Art. 16 | Correct inaccurate personal data | 30 days |
| Erasure (Right to Delete) | GDPR Art. 17, CCPA | Delete all personal data | 30 days |
| Restriction | GDPR Art. 18 | Restrict processing of personal data | 72 hours |
Request Lifecycle
SUBMITTED --> VALIDATED --> PROCESSING --> COMPLETED
| | |
v v v
REJECTED REJECTED FAILED| Status | Description |
|---|---|
| SUBMITTED | Request received, pending identity verification |
| VALIDATED | Identity verified, queued for processing |
| PROCESSING | Data collection/deletion in progress across services |
| COMPLETED | Request fulfilled, requester notified |
| REJECTED | Request failed validation or identity verification |
| FAILED | Technical failure during processing |
API Endpoints
POST /api/v1/tenants/:tenantId/privacy/dsr # Submit a DSR
GET /api/v1/tenants/:tenantId/privacy/dsr # List all DSRs
GET /api/v1/tenants/:tenantId/privacy/dsr/:requestId # Get DSR status
POST /api/v1/tenants/:tenantId/privacy/dsr/:requestId/approve # Approve DSR
POST /api/v1/tenants/:tenantId/privacy/dsr/:requestId/reject # Reject DSR
GET /api/v1/tenants/:tenantId/privacy/dsr/:requestId/download # Download exportSubmit a Request
curl -X POST http://localhost:8082/api/v1/tenants/${TENANT_ID}/privacy/dsr \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-d '{
"type": "ACCESS",
"subjectEmail": "user@example.com",
"subjectId": "user-123",
"reason": "GDPR Article 15 subject access request",
"verificationMethod": "EMAIL"
}'Processing Pipeline
When a DSR is approved, the platform orchestrates data collection or deletion across all services that hold personal data:
| Service | Data Collected/Deleted |
|---|---|
| IAM Service | User profile, login history, MFA settings |
| AI Service | Conversation history, feedback, preferences |
| Query Engine | Query history, saved queries |
| BI Service | Dashboard ownership, shared dashboards |
| ML Service | Experiment metadata, model training logs |
| Audit Service | Audit trail entries (retained for compliance) |
| Pipeline Service | Pipeline execution history |
Erasure Behavior
For erasure requests, data is handled differently by category:
| Category | Action | Retention |
|---|---|---|
| User profile | Hard delete | None |
| Conversation history | Hard delete | None |
| Query history | Anonymize (replace userId with hash) | Anonymized copy retained |
| Audit logs | Pseudonymize | Required for compliance |
| ML training data | Remove from feature store | Model retraining triggered |
| Shared resources | Transfer ownership to tenant admin | Resource preserved |
Compliance Reports
The platform generates compliance reports for DSR processing:
- Processing time report: Average time from submission to completion
- Request volume report: DSR counts by type, tenant, and status
- SLA compliance report: Percentage of DSRs completed within regulatory deadlines