Review of the AI feature set (artist AI tools, recommendation engine, analytics) for GDPR Article 17 (Right to Erasure) compliance.
- Data collected: Song metadata, listening patterns, genre tags
- Storage: PostgreSQL (
ai_preferencestable per artist) - Erasure: ✅ Artist can toggle opt-out; data deleted on account deletion
- Recommendation: Ensure AI model retraining excludes erased user data
- Data collected: User listening history, saves, playlist additions
- Storage: Redis cache + PostgreSQL (
user_interactionstable) - Erasure:
⚠️ Redis cache has TTL but PostgreSQL records need explicit deletion - Action needed: Add cascade delete from
user_interactionson user deletion
- Data collected: Play counts, geographic distribution, engagement scores
- Storage: PostgreSQL (
song_analyticstable), aggregated - Erasure:
⚠️ Aggregated metrics cannot be un-aggregated; document this limitation - Action needed: Add note that aggregated analytics survive erasure per Art. 17(3)(b)
| Data Store | Erasure Method | Status |
|---|---|---|
ai_preferences |
CASCADE DELETE on user | ✅ Implemented |
user_interactions |
Explicit DELETE on user deletion | |
| Redis recommendation cache | TTL-based expiry | ✅ Working |
song_analytics (aggregated) |
Cannot erase (Art. 17(3)(b)) | ✅ Documented |
| Model training data | Retraining exclusion list | |
| AI-generated content | Keep (Art. 17(3)(d) - public interest) | ✅ Documented |
- Add user_erased flag to prevent AI from processing erased users' data
- Update recommendation query to exclude
user_erased = trueusers - Document AI data retention in privacy policy
- Implement audit log for AI data access (who queried what, when)
- AI opt-out toggle works for artists
- User deletion cascades to AI preferences
- User deletion cascades to user_interactions (action needed)
- Recommendation engine excludes erased users (action needed)
- Privacy policy documents AI data retention