Personal Digital Sovereignty: The Great Photo Migration

As a commentary on current affairs and a wannabe-stoic, I started an untangle journey. Before I traveled out to Las Vegas for work in early 2026, I deleted my Facebook and Instagram accounts after downloading the content. At first it felt empty, but the time spent on doomscrolling was reduced to some stuff on YouTube. With time to spare I started to think that it must also be possible to get away from Google. But everything seems so entangled these days that it is hard to get out. I can only imagine that it is worse for people bought into the Microsoft Universe of Office365, Sharepoint, Drive. Working for an open source company taught me the right values and prevented me from slipping in the proprietary cracks that hold back progress.

So I started with Proton email and found it easy to migrate Google emails there. Since I had only one major inbox, the migration was quick. But what I came to realise is that a lot of logins rely on the Google account SSO passthrough. Easy and secure but hard to untangle and part of the lock in as well. So I also started to ensure that all my logins were stored in Bitwarden: an open source password manager.

Personal Digital Sovereignty (or PDS) as a form of silent protest made me realise a key thing: all Google users have been providing their time, attention, data and also money to a commercial entity. And my little protest is to not buy Silicon Valley anymore and spend my money on an email service with storage. A quick research shows that Proton Foundation is registered as a non-profit organisation and cannot be bought by equity firms. The Proton AG is a for-profit entity that develops the software and runs the operations to fund the mission of the non-profit parent. Now: I still have to pay money, except my data is not used for advertising, my data is encrypted and mine. I do have to spend time thinking about the strategy and implementing it, but that is the Sovereignty Tax that I am willing to pay temporarily.

One of the great forgotten family photos my wife took some time ago.

Now, my photos are dear to me for I am a visual person. You should see my wife, she’s spectacular! So I started to use Google’s Gemini to find out ways to get the data out of Google Photos. The write up below is generated by Gemini and shows how, after the Takeout of the files, I went about to sanitise the files (Google destroys them by taking out the photo meta data and putting it in JSON files, not great if you’re not technically savvy enough), and made decisions to upload them in Proton drive. And it is not a trivial task to encrypt and transfer that amount of data across the globe. Keep reading if you’re interested in the details, but I just wanted to document the process and write a note like this myself before dumping the AI slop on you. But it’s not too bad.

Cheers,

Quinten

In 2004, I received my invite to a new service called Gmail. Like many of us in the tech community, I leaned into the Google ecosystem for its utility, its “Don’t Be Evil” mantra, and its seamless integration. Fast forward to 2026, and the landscape has changed. Digital sovereignty—the ability to own your data, its location, and its encryption keys—has moved from a niche concern to a personal mandate.

I have already successfully “heaved” over two decades of email (about 5GB of history) to Proton, based in Switzerland. But the heavy lifting was always going to be the photos: 730GB of memories, 125,000 files, and 293 carefully curated albums.

As a former UNIX/Linux admin, I wasn’t looking for a consumer-grade sync tool. I wanted a bit-for-bit migration that respected my directory structures and guaranteed privacy. Here is the methodology of how I un-Googled my visual life.

The Rationale: Why Switzerland?

The choice of Proton over other providers came down to three pillars:

  1. Zero-Knowledge Encryption: Not even the provider can see my data.
  2. Legal Sovereignty: Swiss privacy laws and a non-profit foundation structure mean my data isn’t a line item for a giant equity firm or subject to the shifting sands of US data jurisdiction.
  3. The Admin Factor: It supports Rclone, the Swiss Army knife of cloud storage for anyone comfortable in a terminal.

The Method: A Technical Post-Mortem

Google Takeout provides your data, but it does so in a “hostile” format—a sea of split ZIP files, truncated filenames, and separate .json metadata sidecars.

1. Sanitizing the Source

Before the upload, I had to deal with the “AppleDouble” ghosts and metadata orphans. When moving files on macOS, the system often creates ._ files to store resource forks. In a cloud vault, these are 125,000 pieces of junk you don’t want to pay for in upload time.

Bash

# Removing AppleDouble encoded Macintosh files
find . -name "._*" -type f -delete
# Removing Google Takeout JSON metadata (after baking it into the EXIF)
find . -name "*.json" -type f -delete
# Cleaning up ExifTool backup files
find . -name "*_original" -type f -delete

2. The Transfer Engine: Rclone

For a 730GB payload (which I sanitized down to a lean 542GB), the browser is not an option. I turned to Rclone. It allows for stateless, resumable, and multi-threaded transfers.

To maximize the Auckland-to-Switzerland pipeline (roughly 150ms of latency), I used a multi-threaded approach to keep the pipe full despite the distance.

Bash

# The "Overnight Sprint" Command
caffeinate rclone copy /path/to/LocalPhotos proton:MyPhotos \
--progress \
--transfers 12 \
--checkers 16 \
--buffer-size 64M \
--use-mmap \
--retries 5 \
--stats 1m
  • --transfers 12: Uploads 12 files simultaneously to overcome high-latency handshakes.
  • caffeinate: A native macOS utility to ensure the system doesn’t nap while the encryption engines are humming.

3. Managing the Work-Life Balance

Sovereignty shouldn’t interrupt your professional life. During the day, particularly when I have a video session or screen-sharing engagement, I use a throttled “stealth” mode to keep the upload alive without choking the bandwidth.

Bash

# The "Meeting-Safe" Throttle
rclone copy . proton:MyPhotos --bwlimit 15M --transfers 4

The Assistive Irony

There is a delicious irony in this project: I used Google’s Gemini AI to architect my exit from the Google ecosystem.

As a former admin, I value efficiency. Using AI as an assistive technology allowed me to quickly calculate bandwidth budgets, refine Rclone flags, and script the cleanup of 125,000 files in seconds. Gemini acted as a junior sysadmin, handling the telemetry and math, while I made the architectural decisions. It turns out, Google’s own AI is quite helpful at showing you the door.

What’s Next?

The email is gone. The photos are safely tucked away in a Swiss bunker under 1,000 meters of granite. The final frontier is the remains of my Google Drive—the documents, the spreadsheets, and the PDFs of a life lived online since 2004.

Digital sovereignty isn’t a single event; it’s a process of intentional choices. Today, my memories are mine again.


Technical Specs for this Move:

  • Source: Google Takeout (730GB)
  • Destination: Proton Drive (Switzerland)
  • Hardware: Mac (Apple Silicon)
  • Uplink: Ethernet (Fiber)
  • Status: In Progress / Humming.

Leave a comment