Skip to main content
Self-hosted does not mean “ignore GDPR”. Pro ships Artisan commands so you are not writing SQL at midnight.

Export

Writes JSON to the local disk under commentify-gdpr/commentify-gdpr-{sha1}-{timestamp}.json and prints the absolute path. The payload includes:
  • Comments (including soft-deleted) for that email as guest_email or matching users.emailuser_id
  • Reports and likes for those user ids
  • Thread subscriptions for that email / user id
  • exported_at
Comment export fields: id, body, guest_name, guest_email, ip, created_at.

Erase

Without --force, confirms first. Anonymizes comments (does not delete the discussion):
  • user_id → null
  • guest_nameDeleted user
  • guest_email, ip, user_agent → null
Deletes reports, likes, and subscriptions for that identity. Prints counts.

Anonymize old IPs

Clears ip and user_agent on comments, likes, and reports older than the window. Default days: COMMENTIFY_IP_RETENTION_DAYS / gdpr.ip_retention_days (90). Schedule a weekly anonymize in routes/console.php if you want retention without a manual ticket. Guest likes and reports are IP-keyed; after anonymize, those rows can no longer be tied to a visitor. Plan retention against your legal basis, not just the default.
Last modified on September 12, 2026