Original Idea
GDPR Request Tracker A web app that collects privacy requests, tracks SLAs, and stores evidence.
Product Requirements Document: PrivacyFlow GDPR Tracker (2026 Edition)
1. Executive Summary
PrivacyFlow is a high-assurance SaaS platform designed to automate the lifecycle of Data Subject Access Requests (DSARs) and other GDPR-related inquiries. By leveraging a "Zero-Trust" database architecture, AI-powered PII redaction, and automated SLA orchestration, PrivacyFlow ensures organizations remain compliant with European data protection laws while reducing the operational burden on legal and DPO teams.
2. Problem Statement
Organizations currently manage GDPR requests through fragmented channels (email, spreadsheets, Jira), leading to:
- Compliance Risk: Missed 30-day legal deadlines.
- Data Leakage: PII being shared with the wrong requestor due to weak identity verification.
- Audit Failure: Lack of immutable evidence showing how and when a request was fulfilled.
- Operational Inefficiency: Manual redaction of sensitive documents is slow and prone to human error.
3. Goals & Success Metrics
- Goal 1: Achieve 100% SLA compliance for all processed requests.
- Goal 2: Reduce time-to-fulfillment by 40% through automated verification and AI redaction.
- Goal 3: Provide a "Defense-in-Depth" audit trail that is 100% tamper-proof.
- Success Metrics:
- Mean Time to Resolve (MTTR) < 20 days.
- Zero (0) data breaches via the request portal.
- SLA breach rate < 0.5%.
4. User Personas
- Data Protection Officer (DPO): Needs high-level oversight, reporting for regulators, and final approval workflows.
- Compliance Agent: The "worker" who gathers data, redacts PII, and communicates with subjects.
- Data Subject (Requestor): The individual exercising their rights (Right to Access, Erasure, etc.) who needs a secure, low-friction portal.
- IT Administrator: Responsible for managing system access and ensuring data residency compliance.
5. User Stories
- As a Data Subject, I want to verify my identity using my EUDI Wallet so that I don't have to upload a risky passport scan.
- As a Compliance Agent, I want the system to automatically redact PII from a PDF export so that I don't accidentally leak third-party data.
- As a DPO, I want to see a countdown timer for all active requests so that I can reassign resources to high-risk deadlines.
- As an Auditor, I want to view a cryptographically chained log of every action taken on a request to verify its integrity.
6. Functional Requirements
6.1. Secure Intake & Identity Verification
- Tiered Verification: Support for MFA, Email-code, and high-assurance IDV via Sumsub/Veriff.
- EUDI Wallet Support: Integration for selective disclosure (verifying age/identity without sharing the document).
- Custom Request Forms: Drag-and-drop form builder for different request types (Erasure, Rectification, Portability).
6.2. SLA & Workflow Management
- SLA Engine: Automated 30-day countdown with configurable "Warning" milestones (Day 15, Day 25).
- Dynamic Assignment: RBAC-based routing of requests to specific regional compliance agents.
- Status Tracking: Real-time subject-facing status updates (Received -> Verifying -> Processing -> Ready).
6.3. AI-Powered Evidence Locker
- Permanent Redaction: Integration with Nutrient (formerly PSPDFKit) for "burned-in" PII masking.
- Encrypted Storage: All evidence stored in AWS S3 with AES-256 encryption and Object Lock.
- Data Discovery Hooks: API-based triggers to signal internal systems to start data gathering.
6.4. Compliance & Auditing
- Immutable Logs: Cryptographic hashing of every system action, stored in PostgreSQL using pgAudit.
- RLS Isolation: Multi-tenant data separation enforced at the database level using PostgreSQL Row-Level Security.
7. Technical Requirements
7.1. Tech Stack (2026 Standards)
- Frontend: React v19.2.x (utilizing Server Components and the
usehook), Tailwind CSS v4.1.x (Oxide engine), Headless UI v2.2.x. - Backend: NestJS v11.1.x (Node.js 20+ requirement, Express v5).
- Database: PostgreSQL v18 (utilizing Skip Scans and Async I/O for RLS performance).
- Background Tasks: BullMQ (for SLA scheduling and escalation).
- Authentication: Auth0 with mandatory MFA and
nestjs-clsfor tenant context propagation.
7.2. Infrastructure & Integrations
- Hosting: AWS EU-Central-1 (Frankfurt) within the AWS European Sovereign Cloud partition.
- IDV API: Sumsub or Veriff for biometric liveness detection.
- Communications: SendGrid for transactional emails; Slack/Teams for internal SLA alerts.
8. Data Model
| Entity | Attributes | Relationships | | :--- | :--- | :--- | | Tenant | id (UUID), name, region, settings | 1:N with Requests | | PrivacyRequest | id, type, status, subject_id, due_date, tenant_id | 1:N with Evidence, 1:N with AuditLogs | | EvidenceFile | id, request_id, file_path, hash, is_redacted | N:1 with PrivacyRequest | | AuditLog | id, request_id, user_id, action, hash_chain, timestamp | N:1 with PrivacyRequest | | Verification | id, request_id, method, status, metadata | 1:1 with PrivacyRequest |
9. API Specification (Core Endpoints)
POST /api/v1/requests
- Purpose: Subject submits a request.
- Request:
{ "type": "ACCESS", "subjectEmail": "user@example.com", "verificationToken": "..." } - Response:
201 CreatedwithrequestIdandtrackingUrl.
GET /api/v1/dashboard/stats
- Purpose: DPO overview of SLA health.
- Headers:
X-Tenant-ID(validated via RLS). - Response:
{ "urgent": 5, "inSLA": 120, "breached": 0 }
PATCH /api/v1/evidence/:id/redact
- Purpose: Trigger AI redaction on a specific file.
- Request:
{ "entities": ["EMAIL", "PHONE", "NAME"] } - Response:
202 Accepted(Webhook follows on completion).
10. UI/UX Requirements
- High-Density Dashboard: Built using TanStack Table v8 with Tailwind v4
@containerqueries for responsive data grids. - Sequential Timeline: Vertical visualization of the audit trail using Headless UI
Disclosurefor entry details. - "Focus Mode" Redactor: A side-by-side view showing the original document and the AI-suggested redacted version for manual verification.
- Accessibility: Full WCAG 2.1 Level AA compliance, specifically focusing on keyboard navigation for compliance agents.
11. Non-Functional Requirements
- Security: Data residency strictly in Germany; no data leaves the sovereign partition.
- Performance: Dashboard load time < 1.5s for up to 10,000 active requests.
- Availability: 99.95% uptime SLA.
- Scalability: Asynchronous processing of PDF redaction to prevent API blocking.
12. Out of Scope
- Automated Data Deletion: This app tracks the request but will not execute the SQL
DELETEin the client's production database (API hooks provided only). - Mobile App: Native iOS/Android apps are out of scope; focus is on a mobile-responsive web portal.
- Non-GDPR Jurisdictions: CCPA/CPRA and LGPD support scheduled for Phase 2.
13. Risks & Mitigations
- Risk: AI Redaction Hallucinations (missing a name).
- Mitigation: Mandatory human "Review & Approve" step for all AI-redacted documents.
- Risk: U.S. CLOUD Act access.
- Mitigation: Use of AWS European Sovereign Cloud and KMS External Key Store (XKS).
- Risk: Redis memory bloat from 30-day BullMQ jobs.
- Mitigation: Only store IDs in BullMQ; use the database for state; implement job cleanup policies.
14. Implementation Tasks
Phase 1: Project Setup & Core Architecture
- [ ] Initialize NestJS v11.1.x with Node.js 20 LTS.
- [ ] Initialize React v19.2.x with Tailwind CSS v4.1.x (Oxide engine).
- [ ] Configure PostgreSQL v18 with
pgAuditand RLS enabled. - [ ] Set up
nestjs-clsfor AsyncLocalStorage tenant context propagation. - [ ] Configure AWS EU-Central-1 Sovereign Cloud environment with Region Deny SCPs.
Phase 2: Intake & Verification
- [ ] Build multi-step request intake form using Headless UI
Stepper(custom). - [ ] Integrate Sumsub/Veriff API for identity verification.
- [ ] Implement secure "Magic Link" status tracking for data subjects.
- [ ] Develop verification status webhook handlers in NestJS.
Phase 3: SLA Engine & Dashboard
- [ ] Set up BullMQ with Redis for 30-day delay scheduling.
- [ ] Create
PrivacyRequestCRUD with RLS-enforced isolation. - [ ] Build "High-Density" Dashboard using TanStack Table v8.
- [ ] Implement automated SLA escalation logic (Email/Slack) for 5-day warnings.
Phase 4: Evidence & AI Redaction
- [ ] Integrate AWS S3 with Object Lock and SSE-KMS (Dual-layer).
- [ ] Implement PDF upload with multi-part processing for large files.
- [ ] Integrate Nutrient (formerly PSPDFKit) for AI-powered PII detection.
- [ ] Build the "Focus Mode" UI for compliance agent redaction review.
Phase 5: Audit & Compliance Finalization
- [ ] Implement cryptographic log chaining for the
AuditLogentity. - [ ] Create "Export Audit Report" feature (signed PDF).
- [ ] Configure S3 Lifecycle policies for automated 5-year data purging.
- [ ] Perform a full WCAG 2.1 accessibility audit and fix findings.