Now that X is a steaming toxic trashpit, Semiphemeral can't come soon enough
While Elon Musk spreads hate and Trumpism across his platform, I've been hard at work developing Semiphemeral so you can regain control of your data on X. Here's how development has been going, and how the app will work.
In the last few weeks, Elon Musk, the reactionary billionaire owner of X who once banned me from his platform for reporting on him, has pushed the following content to his nearly 200 million followers:
- He promoted election denial conspiracies (often with a hefty dose of anti-immigrant racism) many, many, many, many, many, many, many , many, many, many, many, many, many, many times.
- He promoted racist lies about Haitian immigrants in Springfield, Ohio eating people's pets many, many, many, many, many, many, many, many times.
- He threatened to impregnate Taylor Swift.
- He promoted creepy nativist fertility content many, many, many times.
- He posted explicit calls to vote for Trump for President many, many, many, many, many, many, many, many, many, many times.
Ugh, I feel like I should take a shower.
People keep asking me when Semiphemeral will be ready so that they can finally regain control of their data from X. I've been hard at work developing it, and while I don't have a firm release date, my ambitious goal is to release it in the coming months... maybe in time for the election?
In any case, I thought now would be a good time to take a break from writing code and share some details about how things are going.
How Semiphemeral will work
Semiphemeral will be a free desktop app with paid features. After installing it and opening, the first screen looks like this:
The first version of Semiphemeral will just support X, but you'll be able to use it to control your data from more platforms in the future.
After selecting X, the Semiphemeral bird (who I'm leaning towards naming Cyd, short for "Clawback Your Data") tells you to start by logging into your account in the embedded browser in the window, which takes up the bottom part of the screen.
When the embedded browser has a green border and says "ready for input" at the top, the app is waiting on you to do something (like log into your account). When it has a yellow border and says "automation in progress," this means that Cyd is hard at work automating the embedded browser for you.
After you login, you have two options:
- Create a local archive of your data
- Or delete your data
The business model is simple: archiving your data will be free, and deleting your data will require a cheap annual subscription.
(X already lets you request an archive of your data. However it can take days to get your data, Elon Musk can shut down this feature at any point on a whim, and, as you'll see below, the archives that Semiphemeral creates are higher quality.)
Here's what it looks like when I create an archive of data from a test account:
As you can see, Semiphemeral does everything directly on your own computer, and the dashboard shows you exactly what it's doing at all times. To save a copy of all of your tweets, it goes to your profile page and scrolls to the bottom, over and over, until it's made it to your last tweet.
After creating a local database of all of your tweets, Semiphemeral then saves a local HTML copy of each one – think of it like your own private Wayback Machine.
While it's doing all of this, it's likely that Semiphemeral will run into X's rate limits. Here's what it looks like when that happens:
If Semiphemeral detects that it has hit a rate limit, it pauses and waits the exact amount of time that it needs to, and then it continues where it left off. When you hit a rate limit, in general you have to wait somewhere between 5 and 10 minutes before proceeding. But in the end, this is all controlled by X.
Now is a good time to note that while Semiphemeral is running, whether it's archiving or deleting your data, doing this for multiple accounts at the same time, waiting for rate limits to expire, or anything else, you can minimize it and do other work on your computer. Cyd will be hard at work in the background on your behalf. Semiphemeral runs directly on your computer, so your computer needs to be turned on and awake for it to work.
If you choose to create an archive of your DMs as well, Semiphemeral will do a similar process: browse through all your DM conversations, saving messages to a local database. When it's done, it builds an archive website, and it stores all of this locally in the Documents folder on your computer.
Clicking Browse Archive will open an HTML file and let you explore a searchable archive of your tweets and DMs. From within the archive, you can see the locally saved copies of tweets, as well as links to the original tweets. You can also browse through and search all of your DMs. (I apologize for the, uh, bizarre content in my test accounts.) Here's what it looks like:
If you click Open Folder, a file manager program will open on your computer where your archive is saved:
You can see the searchable archive web page by loading index.html, and the Archived Tweets folder contains a copy of all of your tweets, one HTML file per tweet.
After archiving your X data, you can then choose exactly what you want to delete (and what you want to keep).
For example, you could delete everything on the entire platform. Or, you could delete 97% of it (all the embarrassing or inappropriate stuff you posted in the 2010s for example), but keep the 3% that went viral. You can also delete your likes and DMs.
After deleting the old tweets you don't want anymore, nothing stops you from continuing to post to X as frequently as you want. If you delete your old posts using Semiphemeral on a regular basis you'll have considerably more privacy.
To delete data, you'll need to sign into Semiphemeral using an email address and pay for a premium account. I'm still working out the exact details of pricing, but I've already decided that having a paid account will let you delete data from as many of your X accounts as you'd like. (If you work for a company or nonprofit and would like to provide Semiphemeral as a service for your employees, that will be an option too!)
Semiphemeral's approach to data collection
As an app dedicated to allowing you to control your own data, I decided that it's important for Semiphemeral to collect as little of it as possible.
First, Semiphemeral is an app that you run on your own computer, not in the cloud. It does all its automation on your computer, and it saves archives of your data there too. The Semiphemeral server doesn't have any access to your X accounts, to the contents of your archives, or anything else.
If you just want to archive your data, there's no need to sign into Semiphemeral at all – you just download the app and start archiving. No questions asked, no private data collected. It's your data.
If you want to delete your data, you'll need to create an account, and the server will store your email address (this is basically your username). It will also store aggregate statistics about how much of your data you archive and delete. That's it. It won't record which specific X accounts you've used Semiphemeral with, and it won't have access to any data from your accounts.
What's next
In between bouts of doomscrolling on social platforms like Mastodon and Bluesky, I'll be spending the next few weeks madly writing code.
Once I have a feature-complete build of Semiphemeral available, I'll write another post on this blog with an open call for beta testers. I only plan on accepting about 30 testers, so if you're interested, make sure to subscribe to the newsletter. (As a tester, you'll get a year of premium Semiphemeral features for free.)
You can follow Semiphemeral on Mastodon, Bluesky, and X.
If you'd like to show your support for this project, considering donating. This will make it easier for me to release Semiphemeral more quickly.