nextcloud / server

ā˜ļø Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.55k stars 4.08k forks source link

User Profile should be usable without public visibility #32086

Open kolewu opened 2 years ago

kolewu commented 2 years ago

How to use GitHub

Is your feature request related to a problem? Please describe. The new user profile feature is a valuable addition to every cloud, but it's sad that it always is publicly visible. The most private clouds are just that: private. And so no information should be visible to the public.

The current profile is a choice between "make some information visible to the public" or "don't use profiles". But profiles are useful for private use inside the cloud, too.

Describe the solution you'd like The user profile as a whole should at least get an option "only visible to logged in users". Even better, the administrator should be able to configure the visibility for all accounts.

So I request:

Describe alternatives you've considered

Additional context

eibex commented 2 years ago

This would also help to ensure that potential usernames can't be checked by malicious users using cloud.example.com/u/{username}

szaimen commented 2 years ago

cc @jancborchardt @nimishavijay

szaimen commented 2 years ago

see https://github.com/nextcloud/server/pull/31623

nimishavijay commented 2 years ago

You can control the information that it displayed on your profile using the Profile visibility settings in the bottom of your personal settings page, and these settings allow you to configure if your information is shown to nobody, only logged in users of the instance or to the public. Would this solve the issue?

It could be useful to make the default visibility of all the information on your Profile to just users of the instance @jancborchardt

eibex commented 2 years ago

If everything is set not to public it would be better if when you tried to load a user profile while not logged in it would redirect you to the login page (as id the username you entered in the URL did not exist)

kolewu commented 2 years ago

You can control the information that it displayed on your profile using the Profile visibility settings in the bottom of your personal settings page, and these settings allow you to configure if your information is shown to nobody, only logged in users of the instance or to the public. Would this solve the issue?

It's not my own profile that I'm concerned of. As an admin It's all profiles of my instance. Until this change every information from the settings page, was restricted to members of the cloud and no one outside. With this update, some of the information is per default visible and this is and this is both extremely unexpected and totally undesirable in most if not all cases. I know that there are people out there who believe that privacy is a thing of the past, but I strongly believe that the default setting, at least for an upgrade and existing accounts, must never be the way it is now: the username and some details like full name and user picture are visible to the whole world. This is completely irresponsible!

Translated with www.DeepL.com/Translator (free version)

It could be useful to make the default visibility of all the information on your Profile to just users of the instance @jancborchardt

And it could not only be useful, but this MUST be the default setting at least for upgrades!

cherti commented 2 years ago

Is there any update on this? in severely harms the usability of Nextcloud profiles if I can't disable that the username is even acknowledged in the first place. I would like to have a setting that just says "disable everything profile-related for everyone on the outside, including the fact that this profile page/user exists in the first place. The idea of profiles is pretty nice, but it feels very unpolished given I can only use it with exposing user-data to the outside.

SergioArbarviro commented 1 year ago

I fully agree with the statements above. The personal data of the users should remain private, which in my views means that, by default:

mkarnebeek commented 5 months ago

Any practical way to disable https://nexcloud.yourdomain/u/username being publically accessable for now? It shows my name and profile picture.

I've got my profile visibily set to "Federated" and have not added any trusted servers. Any way for example to change the default profile visibility for new accounts?

I would have expected Nexcloud to keep this private by default, and only make it public after explicitly telling to

cherti commented 3 months ago

Part of this could be remedied by https://github.com/nextcloud/server/pull/47170. it would not make profiles invisible at all, but at least it would change the defaults of all the fields to not be publicly visible by default. Not solving the fundamental concern that this allows username checking, but at least it reduces the information leaked a little.

jancborchardt commented 2 months ago

Any practical way to disable https://nexcloud.yourdomain/u/username being publically accessable for now? It shows my name and profile picture.

Yes, there is a switch for exactly that right in the personal settings:

image

jancborchardt commented 2 months ago

And as to how we should go ahead with this, copying my comment from @chertiā€™s pull request:

So we would like to promote people using the profile, possibly having it useful as some sort of federated address book. If the default is changed like this, people will likely never enable it.

@cherti your use-case of course is reasonable, and to achieve that I would rather say there should be an admin setting (or config.php setting). @AndyScherzinger @sorbaugh

cherti commented 2 months ago

But that admin setting is currently not there. So you would say keeping it the way it is, enabling the profile will expose parts of the profile to the outside? That strikes me to be quite at odds with Nextcloud publicly advertising as a privacy-conscious alternative to the existing players, don't you think so?

jancborchardt commented 2 months ago

But that admin setting is currently not there.

@cherti yep, so what Iā€™m saying is it needs to be implemented. :) Then an admin can just decide instance-wide about default privacy for the profiles, or to shut it off completely (depending on what we make the setting do).

cherti commented 2 months ago

So for now you decide to leave the default configuration to be world-exposed until that is eventually implemented at some point? Or are you gonna merge this as a temporary fix for the current issue?

jancborchardt commented 2 months ago

So for now you decide to leave the default configuration to be world-exposed until that is eventually implemented at some point?

Yes. Because anyway the next release is happening tomorrow, and the next version in 3 months, so either way we wouldnā€™t have the temporary fix live soon.

cherti commented 2 months ago

Oh, so you will have implemented this feature for the next release already? I love to hear that!

jancborchardt commented 2 months ago

Oh, so you will have implemented this feature for the next release already? I love to hear that!

I can not make any promises of course. As Nextcloud is an open community, if anyone with more deep PHP knowledge wants to have a go at it, please go ahead. But I would stop discussing here since it is just making the thread longer and anyone who possibly would work on this more confused.

For reference ā†’ What we should go with: https://github.com/nextcloud/server/issues/32086#issuecomment-2346157744