One-click anonymizer of tweets before sharing a screenshot.

  • By Marc Brillault
  • Last update: Aug 13, 2022
  • Comments: 7

twitter-anonymizer

One-click anonymizer of tweets before sharing a screenshot.

User manual

  • Right click anywhere on the page
  • Select Toggle anonymization
  • All user names and avatars should be anonymized, you can safely take a screenshot of the tweets
  • Repeat the steps 1&2 to display the user names & avatars again

Why should I use the extension ?

Some discussions on Twitter can be quite heated. It's common to quote a tweet to criticize its content. But sometimes, a quoted tweet can lead to harassment of the quoted user, and the potential harassment is even higher when you have a huge number of followers.

The best way to prevent this potential harassment is to share a screenshot of the tweet, without the name and avatar of the user. It does not fully prevent harassment, as one can still search for the tweet's content and find it, but it will still work as a way to limit the harassment :

  • As there is a new step (searching for the tweet's content), fewer people will make this effort
  • If the user regrets their tweet, or just wants to protect themselves, they can delete the tweet and make it impossible to associate the anonymized tweet to their account

(The REAL best way to prevent harassment is to rephrase the tweet's content so it can never be found by someone with malicious intents. But hey, the anonymization is the second best way !)

And remember, be responsible with what you share, and never forget to describe your image contents for the visually impaired.

Two versions

As Firefox still uses manifest v2, there will be two directories in the repository.

As soon as Firefox allow manifest v3 extensions (It should be at the end of 2022), I'll go back to managing just one version.

Where can I install the plugin ?

Changelog

v1.1.0

New functionalities

  • Mask the page's URL

Bugfixes

  • Links & images in "Personnes pertinentes" are now hidden

Repository improvements

  • Added 64 and 32px icons (Should affect the plugin pages on Firefox and Opera)
  • Added links to download the plugin on the README.md file

v1.0.2

Bugfixes:

  • Mask UserName and UserLink on user homepage
  • Do not mask the menu icons

Refactorization:

  • Removed useless CSS selectors
  • Added comments and moved elements in CSS code

v1.0.1

Bugfixes

  • Quoted tweet usernames are not masked
  • Names are not anonymized in the notifications
  • "Personnes pertinentes" names are not masked
  • Anonymize url chunks

Refactorization

  • Simplify selectors

v1.0.0

New functionalities

  • one click to hide/display tweeter user's names and avatars
  • the anonymization will be done on tweets that are loaded after the click

Github

https://github.com/MarcBrillault/twitter-anonymizer

Comments(7)

  • 1

    Change the anonymization display

    When I see some anonymized screenshots, I'd like to see if they were anonymized by this plugin or by another way.

    Change the display like this:

    • use a radk gray to mask the content
    • add a 1px black border around it
  • 2

    Manifest url matches: missing mobile.twitter case.

    Is your extension compatible with Firefox mobile? If yes, I think there should be a missing case here:

    https://github.com/MarcBrillault/twitter-anonymizer/blob/4b8191206d7d65d71b2972fa2470e83f43660c2f/manifestv2/manifest.json#L15-L17

    On mobile, twitter url is https://mobile.twitter.com.

  • 3

    Do not mask the menu icons.

    v1.0.1 introduced a very broad selector of links which masks all the menu items.

    We still need to hide the identity below the menu.

    A nav [aria-label="Principal"] to make everything visible should be enough.

  • 4

    Anonymize url chunks

    Some twitter message can contain links to other statuses, displayed truncated: https://www.twitter.com/nickname/status/1234....

    These urls should be anonymized too, to prevent nickname leaking.

    Here is a selector that should match these links: [href^=/].

  • 5

    Simplify selectors

    All current selectors can be managed in CSS.

    The Javascript should only add a .anonymized class to the body, rendering the need to check for DOM updates useless.

    https://twitter.com/RazorbillJohn/status/1544711998163779586

  • 6

    Revert the history instead of writing another history

    The problem:

    When going back after an anonymization, the history still contains the anonymized url, which causes problems in the navigation.

    Solution 1:

    Remove the anonymized URL from the history and go back to the previous state

    Solution 2:

    Go back one state in history instead of re-writing the correct URL

  • 7

    Select a different color/letter for each user

    Each user should have a different color to disambiguate who is speaking.

    On the avatar, there also should be a letter (A for the first user, B for the second, and so on).

    Choose a color compatible with daltonism here : https://twitter.com/adarr_volte/status/1544722827298963456