Alle Benutzerdaten aus dem System entfernen

Hallo, wir könnten in eine Situation geraten, in der wir jede Spur eines Benutzers aus der Datenbank vollständig löschen wollen. Ich werde nicht ins Detail gehen, da dies sensibel ist, aber auch wegen der DSGVO müssen wir möglicherweise nachweisen, dass wir keine Kopie der Benutzerinformationen in unserem System aufbewahren.

Es gibt einige Teile, die ich identifiziert zu haben glaube:

  • Der aktuelle Anonymisierungsprozess ist für das Benutzerprofil in Ordnung.
  • Das Bearbeiten aller seiner Antworten mit einem einfachen vom Benutzer gelöscht wäre ebenfalls akzeptabel, vorausgesetzt, die Bearbeitungshistorie wird entfernt.

Was ich wirklich brauchen würde, ist eine Abfrage (oder eine Ruby-Funktion?), die alle Nachrichten eines Benutzers durch vom Benutzer gelöscht ersetzt und die gesamte Bearbeitungshistorie seiner Nachrichten löscht.

Gibt es jemanden mit genügend Erfahrung mit Datenbanken/Discourse-Code, der dabei helfen kann?

Könnten Sie sie einfach löschen?

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

und dann PostDestroyer für alle Beiträge aufrufen. (Ich erinnere mich nicht mehr genau, wie das geht.)

Wenn Sie wirklich ihre Beiträge durch „gelöscht von…“ ersetzen möchten, dann würden Sie so etwas tun:

posts.update_all(raw: "vom Benutzer gelöscht")

Und dann müssten Sie Dinge aus dem PostRevision-Modell löschen, vielleicht

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

Sie sollten ein paar davon von Hand als Test durchführen oder auf einer Staging-Site, wenn Sie wirklich vorsichtig sind.

2 „Gefällt mir“

Ich weiß es nicht, deshalb habe ich gefragt :slight_smile:

Ich werde es in den nächsten Tagen in einer Staging-Umgebung ausprobieren. Danke vorerst, Jay, du bist immer ein Schatz! :heart:

Ich würde es lieber bearbeiten, weil ich nicht möchte, dass Themen zerstört werden, nur weil jemand geht, während vielleicht andere interessante Diskussionen zu dem Thema beigetragen haben.

Einziges Bedenken ist, wenn Benutzer Tonnen von Antworten haben. Ich spreche von Zehntausenden.

2 „Gefällt mir“

Wenn Sie eine Benutzeranfrage zur Löschung aller ihrer Daten haben, beinhaltet dies nicht unbedingt alle ihre Beiträge/Antworten, da die Anonymisierung für die DSGVO ausreichend sein kann, da die Beiträge keine hochsensiblen persönlichen Informationen enthalten.

Es gab hier viele Themen dazu, die Gesetze variieren von Land zu Land.

2 „Gefällt mir“

In der Tat, nachdem der erste Benutzer anonymisiert wurde, werden zukünftige anonymisierte Benutzer einfach mit dem ersten zusammengeführt.

Das würde de facto alle anonymisierten Konten als „gelöschter Benutzer“ anzeigen, so wie es andere Plattformen wie Discord tun.

Ich würde nicht immer dazu raten, aber es ist eine Option, die die Identität von Beitragsschreibern schützen kann, da die zufällige Nummer nicht nur für einen Autor gilt. Der Nachteil ist, dass es schwieriger werden kann, Konversationen zu verfolgen, wenn man nicht weiß, ob Beiträge von denselben oder unterschiedlichen Autoren stammen.

Das ist oft unmöglich, besonders bei Benutzern mit vielen Antworten.

Ich habe festgestellt, dass die Funktion zum Zusammenführen von Benutzern oft fehlschlägt, wenn ich versuche, einen Benutzer mit Tausenden von Nachrichten zusammenzuführen, selbst mit nur einer neuen (Anwendungsfall: alter Benutzer kehrt zurück und hat die Anmeldedaten nicht, verifiziert sich bei mir, alles in Ordnung, versucht, den neuen Benutzer mit ein paar Antworten mit dem ursprünglichen alten Benutzer zusammenzuführen).

Das klingt, als ob Sie einen Fehlerbericht einreichen müssten

1 „Gefällt mir“