Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Hide device displaynames from other users altogether, even on the same homeserver #14309

Open
anoadragon453 opened this issue Oct 27, 2022 · 3 comments
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. O-Occasional Affects or can be seen by some users regularly or most users rarely T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. Z-Help-Wanted We know exactly how to fix this issue, and would be grateful for any contribution

Comments

@anoadragon453
Copy link
Member

Other users on my homeserver don't really need to know the displayname of my devices, especially since the default of some clients is to share the client name and operating system identifiers.

I propose that we forgo a config option (unlike allow_device_name_lookup_over_federation) and simply prevent local users from seeing the device displaynames of other local users by default. (I'm open to feedback on use cases where a config option would be necessary.)


Note that sytest currently assumes that device displaynames are always shared between local users, so this test will need to be updated.

@anoadragon453 anoadragon453 added Z-Help-Wanted We know exactly how to fix this issue, and would be grateful for any contribution T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. O-Occasional Affects or can be seen by some users regularly or most users rarely labels Oct 27, 2022
@reivilibre
Copy link
Contributor

It might be worth trying to figure out what the purpose of this was in the first place.

Was it for (pre-cross-verification days) knowing which device to verify when you were talking to someone? Sure, the device ID might work but it's not very human friendly to read over the phone etc.

(Should there be a spec question about this? At some point it seems like we should just cut out the device displaynames for other users if there's no point to them. I don't see why we should remove them from Synapse unconditionally if they're not going to be removed from the spec)

@anoadragon453
Copy link
Member Author

I'm unclear what the original reason was (or whether it was an oversight), but there is some discussion in matrix-org/matrix-spec#421, where people are largely agreeing to not expose device names to any but the owner of the devices.

Going via the spec is good shout. It'd provide privacy benefits across the ecosystem, reduce any surprises client-side (and be a pretty simple MSC to write).

@reivilibre reivilibre changed the title Add an option to hide device displaynames from other users on your homeserver Hide device displaynames from other users altogether, even on the same homeserver Oct 31, 2022
@anoadragon453
Copy link
Member Author

anoadragon453 commented Jan 2, 2023

I'm unclear what the original reason was (or whether it was an oversight), but there is some discussion in matrix-org/matrix-spec#421, where people are largely agreeing to not expose device names to any but the owner of the devices.

MSC3480 asserts that the original purpose for sharing device names between users was to make it easier to identify another user's devices when verifying. Now that cross-signing is in use everywhere and users verify other users - rather than individual devices, the benefit no longer applies.

I'm minded to turn this issue into one tracking the implementation of MSC3480. The best course of action to eliminate device names being shared with other users is to remove the field from the spec (when shared between users), which MSC3480 is pushing for. And a specific implementation of it here will help the spec process move forward.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. O-Occasional Affects or can be seen by some users regularly or most users rarely T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. Z-Help-Wanted We know exactly how to fix this issue, and would be grateful for any contribution
Projects
None yet
Development

No branches or pull requests

3 participants