Travis Vachon: Bringing HOT HOT HOT Backups to Bluesky

Travis Vachon gives a talk about Storacha at ATmosphere Conference 2025 in Seattle

So my talk today is called Bringing Hot Hot Hot Backups to Blue Sky, or Making Exits More Credible. And when I found out I was going to be the last talk of the day, I figured I should go with a subtitle called Let's Get Out of Here, right? Like, it's been a great conference, but I'm ready to go home, get back to my family and my pets, and, you know, that'll be nice. But I also mean let's get out of here—like, the current state of the web is pretty bad. It's terrible. I’ve been on the web since that golden era of like 2006–2008. I mean, programming professionally on the web since around then, and it was better then, and it felt better. And I think it was really better in tangible ways. But I also mean let’s get off the Blue Sky PDS, right? Like, I love Blue Sky, trust me. It’s—I’m—well, let’s talk about that a little bit.

So who am I, why am I talking to you? Well, I'm a web developer, I'm an engineering manager, I'm a music and dancing enthusiast. I like cats, chickens, and a toddler at home, so that's pretty fun. I'm a personal data store obsessive, and I'll talk about that just a little bit more in a second. I'm a certified Blue Sky Elder—thank you for the certification, I do appreciate that. And I'm a Google Summer of Code 2005 alum, and the reason that's relevant is because Chris Deana, who's here in the audience, is at least one of the people who was responsible for that, and that's how I got my start in programming. I was a sophomore in college, I got a thing, and it got me into open source software. So thank you—that's literally the reason I'm here today.

I've been obsessed with the idea of re-orienting the web around personal data stores since about 2019. I spent a few years trying to seriously build a digital gardening platform on Solid—Tim Berners-Lee’s sort of like Blue Sky PDS before Blue Sky PDS. It does use RDF. It's a longer conversation. But before pivoting to work on tech that paid the bills at Protocol Labs, where I learned the Blue Sky stack—it wasn’t called the Blue Sky stack at the time, but it is IPL, SIDs, DIDs, etc.—I’m firmly convinced that credible exit from the services we use online is the key to re-empowering the web’s users, with agency and all sorts of different things.

So let's talk about that. First, a brief version: what’s Storacha? I’m here because I work for a company that's building a thing, and I'm going to demo that thing. I want to just talk about this briefly because it's important context. We are content-addressed object storage. We store data by content ID and make it available via our high-performance IPFS Gateway. We archive on the Filecoin network to ensure durability—which is a longer story that I’m happy to talk more about with folks. Uploaded content is stored as a CAR, which, yes, is a choice, and I have some fun utilities for that in a second. Then we have a gateway that provides basic visualization and CID links and all sorts of stuff. We're an early-stage startup. We’re building with IPL, SIDs, UCAN, and other open standards, and we love App Protocol.

So, credible exit. I love it. I think we are on the right track, thinking about it a lot. But credibility is dampened when the exit procedure is a markdown file with pseudo-code instructions. We need more user-facing services with real user experience that make exits credible for anybody. And to do this, we need a good system for creating hot hot hot backups of your App Protocol data alongside private key material to enable identity transfer.

So it’s demo time. I am doing a demo. Good luck to me, am I right? Let's see—where did it go? Oh, I see what happened, I was in a completely different place. Okay, well, I’m shocked that that worked at all.

So let's talk about this a little bit. This was the starting point for this project, and this is what I mean by a readme file. This is sort of the best way to transfer your account off a PDS right now—you sort of put together some JavaScript and make this happen. And it works, it does the job, but obviously it's not super accessible to people.

So let's talk today: I made a profile on Storacha, and we are going to migrate Blue Sky off of the Blue Sky PDS, hopefully right now in this talk.

Welcome to Hot Hot Hot Blue Sky Backups by Storacha. We want to encrypt your data to keep it safe. We want to archive it to the Filecoin network for durability. If you'd like to migrate to a new Blue Sky PDS server, you don’t actually have to—you can just back up your data here and be reasonably certain that it’s going to stick around in an open format that you can work with later on.

Important note: this is an early alpha sort of service. It's open source. You can come contribute to it—we'd be excited to have you do that—but there are a lot of rough edges, especially around the identity transfer. Some things we actually need support from the Blue Sky community or the Blue Sky team to make better. So I’m excited to get into that a little bit too.

So my name was Blue Rach, B Sky Soal, and we use the OAuth flow here. It's great, it works really well. We definitely need some expanded OAuth scopes. In particular, it would be really nice to get an email out of this. There's a step you're not seeing because I kind of cheated and signed into Storacha already. Ideally, within the next month or so, depending on how the OAuth stuff goes, we should have a way to just automatically sign you up for an account with our service.

Of course, if you want to store data with us, we’ll ask you for a credit card. We’ll give you 2 GB of storage for free, no problem. But we want to know who to go to if some of that data is bad in a lot of different senses. We want to be able to charge you if you start storing too much data. But if you’re a normal Blue Sky poster, your repo is probably under 100 MB, and the blobs probably aren’t that big either, so it should be plenty.

This is how you create a backup right now. It’s exposition-heavy. There’s a lot to know and context to set up. But the app itself is pretty straightforward—you just click buttons. I logged into Storacha, I created a space, and there’s a whole flow for doing this. I’m not going to go into it right now. That is hand-waving away some important details.

For the purpose of this demo, I’m not here to get you to use Storacha. I’m here to tell you about a cool backup thing I’ve been working on for the past few weeks. I don’t want to spend more time thinking about Storacha than we need to at the moment.

This is the first backup we created. One neat thing is that because we’re storing it on IPFS and have an IPFS gateway with a lot built in, we can actually just show you the CAR. If you hate CARs and don’t like command line tools, this is another option—you can click on links and see the content. You can see my profile picture, some old images, and even a birthday card from 1932.

Now, the problem is that some of this is private data, and uploading it to our service by default makes it public. So let’s fix that. We start a new backup and create an encryption key. We’re creating an RSA key that we can store in the browser to encrypt data. RSA keys are great for public-key encryption. We also create a symmetric key, encrypt that with the RSA key, and store it on our service.

The RSA key only lives on this machine, meaning I need to get this secret—it literally only lives in memory in the browser. There’s a bug, so I need to re-enter the key for this demo. But now that we have a key, we can create encrypted backups. Encryption in the browser is pretty fast; it actually only took me three days to implement.

With encryption enabled, our data is now safe on Storacha. This enables credible exit: if Blue Sky becomes adversarial, you can move off whenever you want. There’s some setup required for identity transfer between PDS accounts, but transfers are possible today.

We authenticate to both services, import keys, migrate data and preferences, and even submit PLC operations to activate the new account. Sometimes the network takes a bit to catch up, but transfers work. All of this is open source, and you can deploy your own Storacha instance if you want. You can also run your own IPFS node.

Going forward, we plan to have hourly or minutely backups, per-backup encryption keys, and possibly server-side services that handle backups automatically, all while maintaining end-to-end encryption. We’re also looking into threshold encryption using the LIP protocol for more advanced private key management.

Finally, contributions: Caleb, Bador, and Shu have been incredible contributors. Caleb created a Blue Sky Backup CLI that mirrors the web app functionality. Everything is open source, and we welcome contributions.

Thank you so much. I work for Storacha. I have some swag if you like hats and stickers. Thank you again, Boris and Ted. This has been the most inspiring weekend I’ve had in a long time. Thank you sincerely.