Handles Data Subject Access Requests (DSARs) for the right to be forgotten.
Supports hard deletion or field-level anonymization (GDPR-preferred),
and cascades through associated models.
Covers ~57 compliance frameworks including:
GDPR Art 17, CCPA, CPRA, LGPD, APPI, PIPA (South Korea),
PDPA (Thailand, Singapore, Philippines, Malaysia), PoPI, DPDP India,
and all US state privacy laws with deletion rights.
Usage:
// Hard delete all records for a user:
const result = await RightToErasure.erase(User, { where: { id: userId } });
RightToErasure
Handles Data Subject Access Requests (DSARs) for the right to be forgotten. Supports hard deletion or field-level anonymization (GDPR-preferred), and cascades through associated models.
Covers ~57 compliance frameworks including: GDPR Art 17, CCPA, CPRA, LGPD, APPI, PIPA (South Korea), PDPA (Thailand, Singapore, Philippines, Malaysia), PoPI, DPDP India, and all US state privacy laws with deletion rights.
Usage: // Hard delete all records for a user: const result = await RightToErasure.erase(User, { where: { id: userId } });
// Anonymize instead of delete (preserves referential integrity): const result = await RightToErasure.erase(User, { where: { id: userId } }, { mode: 'anonymize', piiFields: ['email', 'name', 'phoneNumber', 'address'], });
// Cascade to associated models: const result = await RightToErasure.erase(User, { where: { id: userId } }, { mode: 'anonymize', cascade: [ { model: Order, foreignKey: 'userId', piiFields: ['shippingAddress'] }, { model: Payment, foreignKey: 'userId', piiFields: ['cardLastFour'] }, ], });