GrapheneOS update downloads are usually around 20MB to 80MB when updating from a recent release. The download for updating from our final Android 16 QPR2 release to Android 17 ranges from 620MB to 760MB depending on device model. We're in the process of rolling it out to the Stable channel now.

Current bandwidth usage with 2026062300 in Stable for only 9th and 10th gen Pixels:

Frankfurt: 12Gbps out of 50Gbps
Amsterdam: 6Gbps out of 20Gbps
Toronto: 6Gbps out of 10Gbps
Los Angeles: 6Gbps out of 10Gbps
London: 4Gbps out of 10Gbps
Dallas: 2.5Gbps out of 50Gbps
Miami: 2Gbps out of 10Gbps

2026062300 is now available in Stable for all of the supported devices. Bandwidth usage in Frankfurt is now at 20Gbps and the other locations have also increased a similar proportion. We'll need more update servers within a year or two but we have enough to avoid staggering the largest updates.

Our update servers are sponsored by Mullvad, ReliableSite, Cherry Servers, Zare and Xenyth. You can see those here:

https://grapheneos.org/articles/grapheneos-servers#releases.grapheneos.org

The screenshot shows bandwidth usage for Frankfurt with staggered rollout to 10th gen, then 9th, then 8th and finally 7th+6th together.

@GrapheneOS just a curiosity but why not s3 bucket for blob storage and serverless for any logic you might need around update serving? (Other than finding a suitable provider)

Updates are inherently an imbalanced load and maintaining servers for imbalanced loads seems cost prohibitive?

@GrapheneOS other than that, update went smooth, terminal works with a VPN running as well!

Was hoping for greater than 1080p external screens but massive improvement for my workflow

@Ugvx We run our own CDN for privacy and availability reasons. Our main services have fantastic uptime.

The 2 DataPacket servers sponsored by Mullvad bill 95th percentile bandwidth usage. We have 3Gbps commit for Frankfurt and will likely need more this month but it can be paid as one-time fee for this month instead of raising the commit. The rest of the servers are sponsored by server providers and our traffic spikes aren't a big deal for them especially since it's spread throughout a day.

@Ugvx We have a bunch of other services hosted on these servers beyond the update mirrors. These also host our website and many services used by GrapheneOS including 5 caching proxies (3 kinds of PSDS data, Chromium component updates and now certificate transparency log lists), connectivity checks, network time, network-based location proxy (will support our own database eventually), SUPL proxy (will solely use our own database eventually) and geocoding (reverse proxy to our Nominatim instance).

@Ugvx The servers in Frankfurt, Dallas and Toronto are also part of one of our two anycast DNS networks using our own IP space and ASN. ns1 has 16 locations on Vultr and ns2 has 9 locations on Misaka.io with 3 more on system containers on dedicated servers.

Nominatim (geocoding) runs on a sponsored server from Cherry Servers in Amsterdam and we're looking for a 2nd sponsor.

We host our own Postfix+Dovecot+Rspamd mail server on the Xenyth server in Toronto with our own ASN and IP space too.

@GrapheneOS @Ugvx does graphene do staggered update downloads or is it just as soon as possible

edit: nvm im blind i just saw what you posted

@stag @Ugvx Updates are available to every user on a device model once the release is available in the channel they have configured. The release in each release channel can be seen from https://grapheneos.org/releases#devices.

We usually move a release into a channel for each device model at the same time. We staggered out the releases by generation for this massive release to make sure we had enough bandwidth available to avoid falling behind and having the load build up with downloads getting very slow.

GrapheneOS releases

Official releases of GrapheneOS, a security and privacy focused mobile OS with Android app compatibility.

GrapheneOS
@GrapheneOS
Update ✅
regular donate ✅

@GrapheneOS I was wondering why I was getting an error regarding the Frankfurt relay on tailscale. Guess it wasn't just me, haha.

Edit: I realize that these things don't necessarily correlate. does tailscale share servers with any of these entities? I know that Mullvad and Tailscale have some deals going on with eachother.

@GrapheneOS Thanks to all of the folks who got this out quickly. I was hit by the RCS bug and was out of touch with several folks.
@NotYourSysadmin @GrapheneOS in my case i copously ignore RCS, because no freaking way i install any crap from google to handle messaging.
@GrapheneOS installed on my phone a few hours ago. Thank you!
@GrapheneOS awesome work guys. As always. Everything works flawless.
Best mobile OS ever.
#grapheneos