Social Amnesia aims to make your social media only exist within a time period that you choose. For many people, there is no reason they want to have years old tweets or reddit comments existing and making it easier for online marketers and jilted ex-lovers to profile you. With Social Amnesia, set the time period you want to keep, whitelist posts and items you want to preserve indefinitely, and let Social Amnesia wipe the rest out of existence.
How to build/run Social Amnesia
This is the simplest option. Bundled and easily usable files for Mac and Windows are available in the zip files on the releases page.
How to run Social Amnesia from the command line
- Clone the repo
- Set up a new virtualenv and activate it
pip3 install -r requirements.txt python3 SocialAmnesia.py
- Have fun!
How to build the executable for Social Amnesia
- Install the requirements using pip3 (see above).
- Build the executable by running
python3 setup.py bdist_msi(Windows) or
python3 setup.py bdist_dmg(macOS).
- A folder called
buildwill be created, in which you should find the executable or bundled file containing the Social Amnesia application.
- Run that executable to start the program.
Note: On windows you may have to copy
tk86t.dll from your
Python3X/DLLs into the folder with the executable to get this to run.
Sites and Features
- Delete comments and submissions, showing you every item that will be deleted and asking you to confirm their deletion before running.
- Edits your posts before deleting them. According to the reddit admins this is an effective way to remove content from reddit.
- Keep a time range of comments and submissions (in hours)
- Keep comments or submissions that are above a certain amount of upvotes.
- Skip gilded comments/submissions.
- Whitelist specific posts and comments you want to save.
How to set up your reddit account
Reddit requires accounts to create a "script" in order for Social Amnesia to run. Don't worry, this is actually quite simple to do. You can see reddit's docs on how to do this here. Doing this provides you with the reddit "Client ID" and "Client Secret" you will need to log in within the Social Amnesia app.
NOTE: If you are using 2FA on reddit, when you set up the script, you will need to make sure the "redirect url" is set to http://localhost:8080.
- Delete tweets, retweets, replies and remove "favorites" (aka
❤️'s), showing you every item that will be deleted/removed and asking you to confirm their deletion before running.
- Keep a time range of tweets, retweets, replies and favorites.
- In the case of favorites, this is done by the time the favorited item was created, NOT the time it was favorited at.
- Keep tweets that have a certain amount of retweets or favorites.
- This option ignores retweets, these will be removed no matter what if they are out of the time range.
- Whitelist specific tweets and favorites you want to save.
How to set up your twitter account
Twitter requires you to set up an "app" in order to get Social Amnesia to run.
- Head to https://developer.twitter.com/en/apps while logged in, and click "Create New App".
- You may need to apply for a developer account with Twitter. With any luck, you can just fill in some bullshit and they'll approve you right away once you verify your email.
- Fill in a Name, Description, and Website.
- Once the app is created, click "Details" on the app and then the "Keys and Access Tokens" tab which will give you the consumer key and consumer secret for Social Amnesia.
- Click "Create my Access Token" at the bottom of the page to get the access token and access token secret that Social Amnesia needs.
That's it, you have everything needed to get Social Amnesia running with twitter!
Social Amnesia can be scheduled to run daily at a time of your choosing. Just use the scheduler panel in any of the social media tabs to set this up.
Contributions are not only welcomed but greatly appreciated. If you have any idea for a new feature, or find a bug, you can open up a new issue and report it. Better yet, fork this project, write up some code, and submit a new pull request.
Don't feel comfortable coding? That's okay! There are plenty of other ways to contribute to this project:
- The easiest is to just share it. Post it (ironically?) on your social media. Tell your friends and family. Launch t-shirts at bewildered pedestrians. Drop pamphlets out of air planes. Get creative!
- UX people are needed to help make mockups to improve the design of the application.
- Do you have a social media account with lots of posts you would like to donate to the cause? Accounts like these can be used to help us bug hunt. Open an issue or tweet @NickGottschlich.
- Be a user tester! Just record your experience using this the first time using screen recording software and upload it as an issue. Better yet if you can record yourself talking through your thoughts as you try out the software for the first time!
- reddit API currently only indexes ~1k most recent items back (confirmed for comments, not submissions)
- twitter API currently only indexes ~3200 tweets and favorites back
Tech talks / Blog Posts
@NickGottschlich spoke about Social Amnesia at the Austin Python Monthly Meetup on April 10th, 2019.
Youtube link: https://www.youtube.com/watch?v=wPv_pLofedU
Link to slides: https://nickpgott.com/files/AbusingSocialMediaAPIs.pdf
Medium Article about Social Amnesia: https://medium.com/@nickpgott/ab-using-social-media-apis-using-python-for-privacys-sake-7091b3f76666
- Official Website - currently redirects to this github repo.
- Official Twitter Account
- Official Subreddit
- Shreddit - a python program to delete reddit posts/submissions.
- Reddit Overwrite - a greasey fork program to overwrite reddit comments.
- Reddit Secure Delete - a userscript program to delete reddit comments.
- Nuke Reddit History - a web extension to erase reddit history.
- Twitter Archive Eraser - tweet deletion tool