"Share a link" for a post should not leak username

Currently, using the “Share a link” or copying the URL associated with a post’s timestamp results in a URL that contains the username of whoever does the copying, if that person happened to be logged in at the time. This poses some privacy concern: If the link gets shared around, possibly forwarded multiple times, it exposes who was the original person to create it – like a watermark. While it is possible to just remove the u=..., this is easily forgotten when just copy-pasting URLs around. After all, users do not typically expect a URL to leak information like this. I also tried hard to come up with a good reason for why the username is in the link, and failed – I suppose there is a reason, but I wonder if it is worth the cost?

So, please remove the u=... at the end of posts’ URLs.

It discussed already and having a solution below


Including the username is a feature that allows Discourse to track who has shared a link. One can easily copy the URL from the web browser. If you want to disable this feature see the discussion @vinothkannans linked to.

1 Like

I love the feature because it enables us to track the top referrers, who we do appreciate with gifts and freebies. It’s one of the ways we grow our community.


I am not an admin of the forums I frequent, so I it doesn’t seem like I can do the customization you are suggesting.

You are literally tracking people across the internet for the benefit of some cute badges…? :frowning:

Then rather than clicking the :link: icon, type control-L then control-c. If you really want to use the mouse, then you can click the location bar in your browser, and probably right-click and select “copy”.

Being able to give users credit for bringing new users to a community is literally a valuable benefit in the eyes of many community managers.

1 Like

Usernames are public and specific to the site, so I don’t think it’s a privacy issue.

1 Like

I usually want to link to a particular post. When I see three posts on the screen, I do not know which one the link goes to.

I see. I personally don’t agree, but at least this explains why the name is added to the link. I still think it’s a very problematic default, but I realize that this kind of community building has higher priority here than privacy concerns.

I don’t follow. It’s not about leaking the fact that a user with that name exists on that forum – that’s indeed public information. It’s about the fact that this user is the one who originally shared this link. That’s definitely not public information.

Sorry, but I’m not following.

For me, the ?u=mittineague can easily be removed with an edit - if I wanted to not have it for a post I was referring to, and alternatively it could be removed by script - if I wanted to not have it for any posts referred to by anyone.

Personally, if I care enough to refer to a post, I really don’t care if others know that it was me that referred to it. That is, I don’t understand how this could be a source of a “privacy” problem. Please post an example of how this can be a problem.

1 Like

I think that the logic is that If they shared the link publicly, e.g, on twitter, then it’d be public that they’d shared it anyway. But your logic is different.

Well this would first of all leak a connection between maybe otherwise uncorrelated usernames. I may not want to reveal who I am on that forum as I pass on links to a different group of people. I wouldn’t expect that to be revealed.
Also, the name sticks around as the link gets copy-pasted into more places, still pointing to who originally started the reference.

Technically savvy people will easily recognize that their username is in the URL and just remove it, but I wouldn’t expect non-technical people to know that they can modify a URL like that and still have it point to the same thing.

I tried this in another forum where I am admin, and it does not work. When I click on a post’s time and copy what I get, it still adds ?u=... to the URL.

That script will remove the username from “share a link to this post” button only. Not in the time link. If you like to remove that then you have to add some extra modifications.


Could there be a user-preferences feature to disable username tracking for users who don’t want it? I don’t want my username in my timestamp links. I can manually edit the URL but that is annoying and error prone.


I can think of a forum where this would be appreciated too. :+1:

I think a use-case example would be a forum where you don’t mind people knowing you read it in general, but where you don’t want people to link you to your actual posts (eg. a sexual advice forum or a mental health one).

I think it is possible to create a small theme component to override this function. FTR, it will remove the username from the URL if you disable the badges in site settings.


It would be nice to be able to make sure that each user has a different referral code instead of their nickname. I mean for example my nickname is bigluke97 but my referral link is hrt72skd0. So that my referral link will be for example: ?u=hrt72skd0 and the system will know it was me(bigluke97), so that only staff members would know who a specific referall code is linked to, but not other users. It does not make it completely anonymous, but at least it does not directly show the username which is much more public.

I honestly see no problem with having the username as a code in the link, but it would still be a very nice privacy-focused idea in my opinion.


I can support a site setting here @zogstrip can we slot this for the next release?


Slotted to next release.

Can you expand?

  • Site setting to completely disable appending of ?u=sam to links discourse renders when you click the chain icon


  • Per user setting?

Wouldn’t the anonymized referral links that @yhh9xdq7d suggested provide most or all of the privacy benefits while not removing functionality (tracking referrals)? Is there a reason a site setting to completely disable referral links would be more desirable?