İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
industry2026-05-2513 dk okuma

Hesabimi 3 ay once sildim loyalty bonus emaili bu sabah geldi customer-erase reservations + loyalty_members ANONYMIZE — RR F1 (PR #555)

Bursa Nilufer 36-yas senior product designer Asli thMenu customer profile Subat 2026 sildi digital-hygiene. 23 Mayis 2026 Cumartesi 09:34 Bursa Kebapci Iskender loyalty bonus 240 puan biriktirdin kullan emaili. Hesap silindi ama email geldi. Asli WhatsApp restaurant sahibi Hayri Bey dashboard senin yok ama email gonderdi sistem. thMenu support ticket. Engineering customer_profiles tablo silinmis ama loyalty_members + reservations satirlari ham PII duruyor. Adli analiz cloudflare/src/handlers/customer.ts handleEraseCustomer 13 tablo DELETE list feedback + allergen_incidents + customer_push_subscriptions + product_likes + dish_suggestions + customer_activity vs ama reservations + loyalty_members listede yok. Bu iki tablo operasyonel kayit kovasinda yasiyordu musteri PII degil siniflandirilmis yanlis. EDPB WP260 §65 Article 17 right-to-be-forgotten controller tuttugu TUM data subject data covers legal basis bagimsiz reservations contract base 6(1)(b) loyalty_members consent base 6(1)(a) ikisi de Art.17 scope. 3 yanlis teori (1) loyalty cron Asli yi yeniden ekledi cron SELECT only INSERT yok satir surekli oradaydi; (2) FK cascade ON DELETE CASCADE kirik loyalty_members customer_profile_id FK kolonu yok migration 0019 email canonical identifier legacy reservations da ayni email + phone only; (3) handler bir noktada basarisiz audit log 0 error 13 tablo DELETE basarili reservations + loyalty_members listede HIC yoktu. Dogru pattern ANONYMIZE-not-DELETE FK + audit trail preserve. Layer 1 reservations UPDATE guest_name='[Deleted]' email + phone + note + ip_address + user_agent NULL WHERE LOWER(email)=? match-by-email-lowercase reservations customer_profile_id FK yok. Layer 2 loyalty_members UPDATE name='[Deleted]' email + phone NULL points_balance=0 opted_out=1 lifetime_spend=0 WHERE LOWER(email)=? opted_out=1 kritik loyalty-expire cron bir daha dokunmaz. Layer 3 loyalty_transactions UPDATE note='[anon]' actor_id=NULL WHERE loyalty_member_id IN SELECT id FROM loyalty_members serbest-metin notlar musteri adiyla bazen kayitli temizlenir. Chunked at 100 D1 bind 32k ceiling defansif. Idempotent re-call safe email IS NULL filter sonraki UPDATE 0 row. Production audit 3400 silinmis musteri 1180 loyalty_members hala aktif 420 reservations ham PII ~3-yil birikim GDPR Article 83 fine matrix scope + remediation hizi controller cooperation. Backfill 6 saat 1180 loyalty + 420 reservations + 3800 loyalty_transactions notes anonymize. Asli apology Hayri Bey restaurant kanal silinmis hesabina degil + audit raporu EDPB WP260 §65 sinif kabul edildi AP'ye sevk etmedi. Sander Maastricht Wyck data-protection lawyer NL bar 39 GDPR Article 7 + 17 specialty parallel Brasserie Wyck 380 points reservation reminder + LinkedIn 6.3k. Pattern her yeni email-veya-phone-bound musteri tablosu hem operator-side erase-tables.ts hem customer-side handler listesine eklenmek zorunda. Sibling sweep feedback DD + allergen_incidents W + push NN + likes DD + dish_suggestions DD + customer_activity R + reservations RR F1 + loyalty_members RR F1. Implementation ANONYMIZE-not-DELETE FK + audit trail preserve + match-by-canonical-identifier email lowercase + chunked-100 + idempotent + opted_out=1 downstream cron blocking + PR template checklist + quarterly customer-erase sweep audit. PR #555 referans.

th

thMenu Ekibi

thmenu.com

Faydalı buldunuz mu? Paylaşın.