Hintergrund
Wir versuchen, unsere Website so einzurichten, dass sie ein Gleichgewicht zwischen offenem Zugang und Datenschutzbedenken herstellt:
- Die Website ist insgesamt öffentlich; anonyme Benutzer können sie durchsuchen und Suchmaschinen können sie indizieren. Benutzernamen sind öffentlich.
- Echte Namen (vollständiger Name) und Profile gelten als semi-öffentlich; sie sollten nur anderen Community-Mitgliedern zugänglich sein (nicht für Webcrawler oder anonyme Spanner).
- E-Mail-Adressen gelten als völlig privat; nur Administratoren sollten Zugriff darauf haben (und der Zugriff wird überwacht).
Discourse kümmert sich bereits standardmäßig um (1) und (3). (Juhu!) Wir haben Schwierigkeiten, (2) zu erreichen.
Durch Deaktivieren von “Anzeigename in Beiträgen” und Aktivieren von “Benutzerprofile vor der Öffentlichkeit verbergen” erhalten wir etwas, das besser zu sein scheint, aber (2) nicht ganz erreicht. Benutzersuchergebnisse und Listen von Auszeichnungsempfängern zeigen immer noch vollständige Namen an (*). Und selbst an Stellen, an denen die Benutzeroberfläche die vollständigen Namen nicht anzeigt, sendet der Server sie immer noch — z. B. im JSON für ein abgerufenes Thema hat jedes Beitrags-Objekt immer noch den “Namen” (und “display_username”?) ausgefüllt.
Wir möchten unseren Benutzern das Versprechen geben, dass “Ihr echter Name nur anderen Community-Mitgliedern zugänglich ist”, aber wir können das nicht tun, wenn der Server überall vollständige Namen preisgibt.
Vorgeschlagene Funktion
Wie wäre es mit einer Einstellung “Vollständige Namensanzeige auf Gruppen beschränken” mit den folgenden Eigenschaften:
- Der Einstellungswert ist eine Whitelist von Gruppen (mit einem Wert, der “jeder, auch anonyme Benutzer” bedeutet).
- Wenn eine Abfrage von einer Clientsitzung kommt, die mit der Whitelist übereinstimmt, antwortet der Server mit vollständigen Namen. Andernfalls erhält jedes Feld, das einen vollständigen Namen tragen würde, einen Nullwert (oder wird aus dem Objekt weggelassen usw.)
Ich denke, das würde unser (2) abdecken — und es würde uns sogar erlauben, die Messlatte für die Anzeige echter Namen auf TL1 (gegenüber TL0) zu legen.
Mir fällt auf, dass das, wonach ich frage, vielleicht(
) einfach eine feingranularere Version der vorhandenen Einstellung “Namen anzeigen” ist (wenn das Deaktivieren davon das verspricht, was es auf Serverseite verspricht, und keine vollständigen Namen an den Client weitergibt). Vielleicht wäre das sehr einfach zu implementieren… ![]()
Scheint dies eine plausible Funktion für den Discourse-Kern zu sein?
(Alternativ scheint es in einem Plugin erreichbar zu sein? Ich würde es lieber im Kern sehen, aber ich möchte auch in der Lage sein, unsere Website tatsächlich für die Öffentlichkeit zugänglich zu machen.)
(*: Anonymen Benutzern das Verhindern von Benutzersuchen und das Anzeigen von Listen von Auszeichnungsempfängern — und damit die Möglichkeit, eine Liste aller unserer Benutzer trivial zu erhalten — ist ein ganz anderes Thema, für ein anderes Thema.)