Skip to content

feat: #168 GDPR/CCPA data privacy and compliance system#209

Merged
llinsss merged 2 commits into
DogStark:mainfrom
scriptnovaa:feature/168-gdpr-data-privacy
Mar 26, 2026
Merged

feat: #168 GDPR/CCPA data privacy and compliance system#209
llinsss merged 2 commits into
DogStark:mainfrom
scriptnovaa:feature/168-gdpr-data-privacy

Conversation

@scriptnovaa
Copy link
Copy Markdown
Contributor

close #168

- Add GdprModule (NestJS) with service, controller, entities, DTOs
- UserConsent entity: per-user consent records (essential/analytics/marketing/data_sharing)
  with IP + user-agent audit trail
- DataDeletionRequest entity: tracks right-to-be-forgotten requests with status lifecycle
- GdprService:
  - getConsents / updateConsent / initDefaultConsents (essential always on)
  - requestDeletion: creates pending deletion request (deduped)
  - processDeletion: transactional anonymisation — deletes pet data cascade,
    anonymises user row (keeps audit trail), records deleted entity counts
  - exportUserData: GDPR Art.20 portability — returns profile, pets,
    vaccinations, medical records, prescriptions, consents
  - purgeExpiredData: retention policy — auto-processes soft-deleted users
    older than N days
- REST endpoints: GET/PATCH/POST /gdpr/users/:id/consents,
  POST /gdpr/users/:id/deletion-request, GET /gdpr/users/:id/export
- Register GdprModule in AppModule
- Next.js API proxy routes: /api/gdpr/[userId]/{consents,deletion,export}
- gdprService client lib with typed interfaces
- useGdpr React hook (consent state, export, deletion)
- PrivacySettings component: consent toggles, data export button,
  right-to-be-forgotten flow with confirmation step
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Mar 25, 2026

@scriptnovaa Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@llinsss llinsss merged commit 9a0829a into DogStark:main Mar 26, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Security] Data Privacy and GDPR Compliance

2 participants