So for X to be able to see Y’s profile, I need to put doc with id Y to channel of user X (each user is having channel of its own name)
I don’t know what your privacy requirements are for profiles, but this doesn’t provide any privacy. Any user can see any other user’s profile if they know their ID, just by adding them as a contact; then they get access to the user’s profile.
I think there should be a way to assign a doc other than which is syncing to channel.
The current design of SG ties the channel assignments to the document revision, and assumes that a doc’s channels can only change when the doc is updated. It would be a lot harder to implement what you’re asking for. It’s also less functional, since updating a doc can create side effects on other docs.