Enregistrer le message de discussion se lise sur les points d'extrémité qui renvoient les corps

FeatureMediaService
Expédié
3 août 2026 à 02:49 UTC
Auteur
Kamo
Commite
1473822

L'envoi d'un message a laissé une rangée; lire une rien. Chaque discussion, soutien et le thread social sur la plate-forme produit à partir d'une poignée de points d'extrémité ici, et aucun d'entre eux ont enregistré quoi que ce soit, donc "qui a lu cette conversation" n'avait pas de réponse - qui est la première question à laquelle une évaluation de la violation formulée 164.402 pose. ChatMessageAccessAuditor émet un PhiAccessEvent (CHAT-MESSAGE) des cinq les chemins qui donnent un texte de message de l'appelant: GET ET LISTE GET /api/media/sessions/chat LIST POST - VUE GET ET LISTE POST - VUE Un événement par message, pas un par demande. "Ils ont ouvert le fil" n'est pas un répondre à "le message de cet individu était-il divulgué", et les identificateurs de message sont déjà en cours sur chaque site d'appel, donc une rangée en forme de demande aurait été un le choix plutôt qu'une limitation. La lecture du fil d'exécution enregistre après le filtre muet, Ainsi une rangée signifie un corps que l'appelant a été remis. La liste de discussion est de portée car chaque ligne transporte jusqu'à 140 caractères du le dernier message du thread - c'est-à-dire le contenu, pas les métadonnées. Lignes avec un aperçu vide n'enregistre rien. NE PAS enregistrer délibérément: nombres non lus, présence, dernier en dernier lieu, frappe, lecture reçus, listes de membres de session, muets, détails du billet (métadonnées plus état l'historique, pas d'organes) et l'appui aux agrégats de rapports. Une piste n'est utile que si une Ligne signifie que quelqu'un a vu du contenu; des rangées qui ne représentent rien enterrer ceux qui le font. Les refus sont également enregistrés, contre le filetage, et aucun message n'existe encore à le point de refus, et les refus répétés contre les guids de fil est la forme le sondage a été le cas. Un lecteur non authentifié est attribué à un org sentinelle plutôt qu'à un lièvre a chuté: l'enregistreur rejette les événements inattributs, et c'est le plus unique un événement intéressant que cette piste peut tenir. Client IP vient de X-Forwarded-For avec remoteAddr comme repli - tout Arrive par Traefik, donc remoteAddr enregistre à lui seul la gousse d'entrée. Chat public prend un deuxième saut à travers APIService, qui met X-Forwarded-For à l'intention du visiteur Adresser et déplacer l'agent utilisateur-agent du navigateur vers X-Original-User-Agent, donc le auditeur préfère cet en-tête; l'utilisateur-agent littéral sur ce saut est APIService posséder un client HTTP et n'identifier personne. Les lectures du visiteur sont attribuées à l'orge de X-Public-Chat-Org-Id sans membre id: un visiteur n'a pas d'identité de membre Le leur, mais l'orge est propriétaire des dossiers, de sorte que la lecture reste attribuable. Identifiants uniquement, ne jamais envoyer de texte. Une piste d'audit qui reproduit le message Il a juste copié le PHI dans le flux de log. Achève aussi eed3817, qui a balayé ce travail en milieu d'edit et a quitté MediaController référence à PhiAccessKind avant l'importation - que la révision n'est pas compiler. Celui-ci est le test mvn -o vert 16/16.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation