إزالة بيانات المستخدم بالكامل من النظام

مرحباً، قد نواجه موقفًا نريد فيه محو كل أثر لمستخدم من قاعدة البيانات تمامًا. لن أخوض في التفاصيل لأن الأمر حساس، وأيضًا بسبب اللائحة العامة لحماية البيانات (GDPR) قد نضطر إلى إثبات أننا لا نحتفظ بأي نسخة من معلومات المستخدم في نظامنا.

هناك بعض الأجزاء التي أعتقد أنني حددتها:

  • عملية إخفاء الهوية الحالية جيدة لملف تعريف المستخدم
  • تعديل جميع ردوده بـ تم الحذف بطلب المستخدم سيكون مقبولاً أيضًا، بشرط إزالة سجل التعديلات.

لذا، ما أعتقد حقًا أنني بحاجة إليه هو استعلام (أو دالة روبي؟) يستبدل جميع رسائل المستخدم بـ تم الحذف بطلب المستخدم ويمحو كل سجل التعديلات لرسائله.

هل هناك أي شخص لديه خبرة كافية في قاعدة البيانات/كود Discourse يمكنه المساعدة في ذلك؟

هل يمكنك حذفها فحسب؟

u=User.find_by_username('byebye')
posts=Post.where(user_id: u.id)

ثم قم باستدعاء PostDestroyer على جميع المشاركات. (لا أتذكر بالضبط كيف أفعل ذلك حاليًا.)

إذا كنت تريد حقًا استبدال مشاركاتهم بـ “محذوف بواسطة…” فستفعل شيئًا كهذا

posts.update_all(raw: "deleted by user request")

ثم ستحتاج إلى مسح الأشياء من نموذج PostRevision، ربما

posts.each do |p|
  bad=PostRevision.where(post_id: p.id)
  bad.destroy_all
end

ستحتاج إلى القيام ببعض هذه الأشياء يدويًا كاختبار، أو على موقع تجريبي إذا كنت حذرًا حقًا.

إعجابَين (2)

لا أعرف، لهذا السبب سألت :slight_smile:

سأجرب على بيئة مرحلية في الأيام القليلة القادمة. شكراً لك الآن يا جاي، أنت كنز دائم! :heart:

أفضل التعديل لأنني لا أريد تدمير المواضيع لمجرد أن شخصًا ما يغادر بينما ربما ساهم آخرون بمناقشات مثيرة للاهتمام حول الموضوع.

القلق الوحيد هو عندما يكون لدى المستخدمين أطنان من الردود. أنا أتحدث عن عشرات الآلاف.

إعجابَين (2)

إذا كان لديك طلب من مستخدم لحذف جميع بياناته، فلن يشمل ذلك بالضرورة جميع منشوراته/ردوده، حيث قد يكون إخفاء الهوية كافياً للائحة العامة لحماية البيانات (GDPR) نظراً لأن المنشورات لا تتضمن معلومات شخصية للغاية.

كانت هناك العديد من المواضيع حول هذا الأمر هنا، وتختلف القوانين من بلد إلى آخر.

إعجابَين (2)

بالتأكيد، بعد إخفاء هوية المستخدم الأول ببساطة، قم بدمج المستخدمين المجهولين المستقبليين في المستخدم الأول.

هذا من شأنه أن يجعل جميع الحسابات المجهولة تُقرأ على أنها “مستخدم محذوف”، كما هو الحال مع المنصات الأخرى مثل Discord التي تعرض ذلك ببساطة.

لا أوصي دائمًا بفعل ذلك، ولكنه خيار يمكن أن يحمي هوية مؤلفي المنشورات، حيث لن يكون الرقم العشوائي لمؤلف واحد فقط. الجانب السلبي لذلك هو أنه قد يصبح من الصعب متابعة محادثات الموضوع إذا لم يعرف المرء ما إذا كانت المنشورات من مؤلفين مختلفين أم لا.

هذا مستحيل في كثير من الأحيان، خاصة مع المستخدمين الذين لديهم الكثير من الردود.

لاحظت أن وظائف دمج المستخدمين تفشل في كثير من الأحيان عندما أحاول دمج مستخدم لديه آلاف الرسائل حتى مع رسالة جديدة واحدة (حالة الاستخدام: مستخدم قديم يعود ولا يملك بيانات الاعتماد، والتحقق معي، كل شيء على ما يرام، محاولة دمج المستخدم الجديد مع عدد قليل من الردود مع المستخدم القديم الأصلي).

هذا يبدو وكأنه حاجة لتقديم تقرير خطأ

إعجاب واحد (1)