GDPR Compliance
Export and delete personal data to comply with GDPR right to portability and right to erasure requirements.
Convor provides two GDPR-specific endpoints for handling data subject requests. The export endpoint delivers a full JSON archive of all personal data, and the deletion endpoint performs a thorough erasure across every related table.
Overview
GDPR (General Data Protection Regulation) grants EU data subjects two key rights that Convor supports:
- Right to portability: export all personal data in a machine-readable format
- Right to erasure: permanently delete all personal data upon request
Both endpoints require authentication. The deletion endpoint additionally requires password confirmation to prevent accidental or unauthorized erasures.
Data Export (Right to Portability)
Download a complete JSON archive of all data associated with the authenticated user:
GET /api/gdpr/exportThe response is a JSON file download with a descriptive filename:
convor-gdpr-export-{userId}-{date}.jsonExported Data
The archive includes the following sections:
| Section | Contents |
|---|---|
user | Profile data: email, name, image, verification status |
memberships | Organization memberships with roles and status |
operator | Operator profile: display name, status, last seen |
organizations | Organization details: name, slug, plan |
conversations | All conversations in the org with metadata |
messages | Up to 500 recent messages with sender info |
surveys | All satisfaction survey responses |
All timestamps are serialized as ISO 8601 strings. The exportedAt field
at the top level records when the export was generated.
Message Limit
The export caps messages at the 500 most recent to keep file sizes manageable. If you need a complete message archive, use the Data Export endpoints with appropriate date filters.
Data Deletion (Right to Erasure)
Permanently delete all personal data for the authenticated user. This action is irreversible:
DELETE /api/gdpr/delete{
"password": "current-password"
}The password field is required to confirm the request. Without it, the endpoint returns a validation error.
What Gets Deleted
The deletion process removes data in a specific order to maintain referential integrity:
- Push subscriptions: all notification subscriptions for the user
- Audit logs: the
userIdreference is set tonull(anonymized, not deleted) to preserve audit trail integrity - Messages: all messages sent by this operator are replaced with
[Deleted by GDPR request], metadata is cleared, and the sender reference is nulled - Conversation assignments: any conversations assigned to this operator are unassigned
- File uploads: all uploads by this user are deleted (across all organizations, per GDPR requirements)
- Visitor records: orphaned visitors from the organization are cleaned up
- Operator profile: the operator record for the current org is deleted
- Membership: the org membership is deleted
- User account: the user record is deleted only if no memberships remain in other organizations
What Is Retained
Some data is deliberately kept:
- Anonymized audit logs: the
userIdis nulled but the log entry remains for compliance auditing - Aggregate analytics: anonymized metrics and statistics are not affected by the deletion
Irreversible Action
This endpoint performs a hard deletion. There is no undo. Advise users to export their data first using the portability endpoint. The deletion itself is also logged in the audit trail before the user reference is anonymized.
Rate Limiting
The deletion endpoint is rate-limited to 3 requests per minute to prevent abuse. The export endpoint uses the standard rate limit.
API Reference
| Method | Endpoint | Description |
|---|---|---|
GET | /api/gdpr/export | Export all user data as JSON |
DELETE | /api/gdpr/delete | Delete all user data (requires password) |
Both endpoints require authentication and are scoped to the authenticated user. Deletion requires password confirmation.
Related
- Data Export: operational data exports for reporting
- Audit Logs: GDPR actions are logged in the audit trail
- Privacy Policy: privacy and data handling policies
Czy ta strona była pomocna?