r/ProtonDrive Jun 26 '26

From flamegraphs to fixes: investigating Proton Drive macOS performance

69 Upvotes

Over the past few months, we have been working on an SDK-based implementation of the Proton Drive macOS app. This work started shipping in version 2.11.0, and since then we have been continuously improving the performance of file operations so our customers get both strong data protection and an app that does not burn through CPU, memory, or battery unnecessarily.

The improvements came out of an investigation loop we built up over the project: make workloads reproducible, measure the right processes, turn traces into narrow hypotheses, validate those hypotheses with focused tests, and split the fixes by risk. No single large rewrite was involved.

The loop changed both the code and the measurements. In representative traces, one repeated parent-chain lookup path dropped from about 12% of samples to about 2%. A noisy telemetry-write path dropped from roughly 1.4% to 0.5%. In one small-file upload workload, safe tuning cut overall CPU by about 5%; in another, the database and parent-chain improvements raised throughput by about 10%. Those numbers describe specific workloads on specific machines, and each one is the kind of evidence we wanted every optimization to produce.

This post is about that process. For this investigation, "performance" meant more than transfer speed. We cared about:

  • Throughput: how many files or bytes get transferred per minute.
  • Responsiveness: how quickly Finder and the File Provider extension answer requests.
  • CPU usage: especially sustained File Provider CPU during sync.
  • Memory growth: especially over long extension lifetimes.
  • Battery impact: because CPU and memory pressure translate directly into power use on laptops.

How Proton Drive works on macOS

Proton Drive for macOS is built around Apple's File Provider framework. The visible app is the menu bar application: it handles account state, settings, user-facing sync status, and coordination. The file operations users trigger in Finder are handled by a File Provider extension: creating folders, uploading files, downloading files, moving items, deleting items, and enumerating directories.

The architecture is powerful, but it changes how performance work has to be done.

The extension is a separate, system-managed process. macOS can launch it, suspend it, terminate it, or ask it to service a burst of file-system requests. A performance issue can therefore hide in a place that is not obvious from the main app. If Finder is slow to show a folder, if a batch of small files uploads slowly, or if the process grows in memory over time, the interesting work is often happening inside the File Provider extension.

There is another constraint that matters: Proton Drive is end-to-end encrypted. Metadata and file contents have to be encrypted and decrypted on the client. That means the hot path for a file operation can include database lookups, metadata decryption, key access, progress reporting, logging, File Provider item construction, and network calls. Our aim is to do all of that work as efficiently as possible.

Towards reproducible workloads

The first challenge was that customer workloads are not uniform. Uploading a folder with ten large videos stresses a very different part of the system than uploading a folder with thousands of tiny documents. Small-file workloads are particularly demanding because the per-file overhead is large compared with the file contents themselves. Every file can require metadata work, encryption work, database updates, progress updates, and File Provider notifications.

We needed repeatable workloads before we could trust any performance conclusion.

For that we used our client load-testing harness, a Python-based test runner that can drive the macOS app through realistic file operations. A test scenario is a sequence of steps: start the app, sign in, create local test data, upload a folder, wait for sync completion, mark files online-only, download a folder, pause or resume syncing, move files, delete files, collect logs, and so on.

The harness can generate file sets with known shapes. It supports flat folders, nested folder structures, fixed file sizes, random extensions, reproducible seeds, and very large stress scenarios. One scenario, for example, models a deep folder tree with many small files spread across multiple levels. That kind of workload is useful because it amplifies per-file overhead and makes repeated work visible.

Each run produces a timestamped test run directory. The runner collects application logs, File Provider logs, crash reports, database sizes, and resource metrics. It can also export local Prometheus-style metric logs and turn them into comparison reports. The important metrics include file progress (current/total files, transferred bytes) and resource usage: CPU and memory for the main app, the File Provider extension and the system.

This turned performance work into a controlled experiment. We could run the same scenario against version 2.11.0, a later release, and an experimental branch, then compare the shape of the run instead of relying on whether the app "felt faster."

Isolating a key variable: the machine itself

Reproducible workloads are necessary, but they are not sufficient. The execution environment also has to be representative.

Our load tests originally ran in macOS virtual machines. That made sense for automation: VMs are easier to reset, easier to run in CI, and easier to keep isolated from a developer's local machine. But while investigating performance on Apple Silicon, we found that VM results could have materially different performance profiles from native runs on the same hardware.

The reason is Apple Silicon's asymmetric CPU design. Modern Apple chips have performance cores and efficiency cores, and macOS uses a thread's Quality of Service (QoS) to decide where that work should run. As Howard Oakley explains in a blog post, low-QoS background work normally runs on efficiency cores, while higher-QoS work can use performance cores when they are available.

Virtualization changes that picture. Oakley notes that macOS virtual machines on Apple Silicon are assigned high QoS and run preferentially on performance cores; work that would normally be confined to efficiency cores on the host can therefore run through performance cores inside a VM. His earlier article on virtualization and core use gives a concrete example where a workload constrained on the host runs much faster in a VM because of this difference.

This mattered because sync software deliberately contains background and utility-priority work. File Provider operations, database maintenance, logging, metadata work, and progress reporting do not all have the same urgency. A VM can therefore make some parts of the system look faster, noisier, or differently balanced than they are for customers running the app normally.

So we split the role of VMs from the role of profiling machines. VMs remained useful for functional load testing and reproducible automation. But when the question was "where is CPU time going?" or "is this change representative of a customer's Mac?", we moved the critical measurements to native Apple Silicon hardware and treated VM measurements as a separate signal.

Before optimizing a hot path, confirm it reflects hardware customers actually run. A perfectly reproducible test can still mislead if it runs under a scheduler and core-allocation model customers will never use.

From symptom to cause

The load tests told us when a run was expensive. They did not tell us why.

A metrics chart might show that the File Provider extension used too much CPU during a small-file upload. It might show memory climbing during a long run. It might show file throughput flattening. Those are useful signals, but they are still symptoms.

The next step was to profile the process that was actually doing the work.

Profiling a File Provider extension is awkward enough that it is easy to get inconsistent results. The extension may not be running yet. It may be idle. The main app may be active while the extension is not. A trace might capture the wrong process or miss the interesting window entirely.

To make this repeatable, we built a small wrapper around Apple's Instruments toolkit. It finds or waits for the ProtonDriveFileProviderMac process, can wake it by opening the Proton Drive folder, records with Xcode Instruments' xctrace Time Profiler, exports the samples, collapses them with inferno, demangles Swift symbols, and renders an SVG flamegraph.

The workflow became:

  1. Generate a known file set.
  2. Start a known upload, download, or enumeration scenario.
  3. Attach to the File Provider extension.
  4. Capture CPU samples for a bounded period.
  5. Compare flamegraphs across versions or branches.

On its own, the flamegraph only showed us where to look next.

One hypothesis from trace to fix

One useful trace pointed at cryptographic setup for file encryption.

This is a delicate kind of performance finding. Because Proton Drive is end-to-end encrypted, cryptographic work is a core part of the product. Seeing crypto-related functions in a flamegraph doesn't usually mean we can make the crypto cheaper or skip the work. The first question has to be more precise: are we looking at unavoidable per-file encryption work, or are we repeatedly preparing the same key material inside a short-lived operation?

In this case, the trace suggested the second problem. During encryption of folders with many files in it, the app repeatedly needed the same unlocked private key. Keys are stored encrypted and unlocking them requires passphrase-protected key derivation. That derivation is intentionally expensive because it protects key material against brute-force attacks. Paying that cost once when the key is needed is expected. Paying it over and over for the same key during a burst of file operations is a different problem.

The hypothesis became:

  • The app was repeating key-unlock setup for the same address key inside a short time window.
  • A small in-memory cache could remove that repeated setup while preserving the security boundaries around key lifetime and invalidation.

The second point carried the risk. A cache around unlocked key material behaves differently from a normal performance cache: it changes how long sensitive data stays available in memory. So the fix came down to rules: where the cache lives, how large it can get, when it expires, and which account-state changes have to clear it.

The chosen fix kept the cache inside the session-vault layer, where the app already owns account keys and passphrases. The cache was bounded, short-lived, and in-memory only. It also coalesced concurrent requests for the same key, so a burst of callers would wait for one derivation instead of starting many duplicate derivations.

Validation focused on failure modes as much as speed. Tests covered cache expiry, sign-out, passphrase changes, user-key changes, address-key changes, cache scoping between vault instances, and concurrent callers requesting the same key at the same time. Those tests mattered because a faster trace would not be enough if the cache survived the wrong state transition and corrupted user data.

After the change, repeated key derivation almost disappeared from the trace: the visible stack went from roughly 5% of samples to effectively zero in the measured run. Performance work around encryption has to separate essential cryptographic cost from avoidable repeated setup, and validation has to match the risk the optimization introduces.

Investigating memory growth

CPU flamegraphs are good at showing where time is spent. They are less useful for explaining why a process grows over a long run.

For memory investigations, we used Instruments allocation traces and a DTrace script that tracks malloc/free activity for a process. It prints a heartbeat of outstanding bytes during a run and summarizes allocation sites by bytes and count when tracing stops. Since DTrace stack output is not always symbolicated, we used a companion script to resolve stack addresses with atos.

This let us ask different questions:

  • Are outstanding bytes growing steadily during a long scenario?
  • Which allocation sites dominate retained memory?
  • Does the growth correlate with database contexts, File Provider item construction, logging, or metadata handling?

This pointed to another class of fix: reducing memory accumulation in long-lived Core Data contexts. The key observation was that reused contexts retained managed objects across many operations. The eventual change moved the File Provider extension toward resettable context pools, so contexts could be reused without accumulating state for the lifetime of the process.

When measurement adds to the workload

One of the more useful findings was that our own measurement pipeline could add work to the system.

During sustained progress reporting, performance measurements were being written too eagerly to Core Data. That meant the app was doing database work to sync files and additional database work to record that syncing was happening. In a small-file workload, that per-event cost compounds quickly.

The investigation question was: how much work are we doing to observe the work?

The fix was to buffer performance-measurement writes in memory and flush them in batches, while keeping read paths consistent when data had to be reported. Observability has to be cheap enough to leave on; otherwise it changes the workload it is trying to describe.

Separating safe changes from risky ones

Performance work creates a temptation to bundle many improvements together. That makes results harder to understand and reviews harder to reason about.

We took the opposite approach. Changes were split by risk.

Some fixes were local and low risk: replace a regular expression in a hot path, increase a SQLite cache size, avoid unnecessary response-header processing, batch telemetry writes, or add targeted database indexes with benchmarks.

Other fixes had correctness or security tradeoffs: cache parent chains, cache unlocked keys, change Core Data context lifetime, or reuse decrypted metadata. Those changes needed specific guardrails. A cache needs invalidation tests. A key cache needs strict lifetime and clearing rules. A context-lifetime change needs tests around object usage and operation boundaries.

Several ideas stayed experimental until they had enough evidence and review, and some were discarded as too risky. That was deliberate: a performance investigation should preserve promising hypotheses without forcing all of them into a release.

What changed

The investigation led to improvements across several layers, and each one had to carry its own evidence:

  • Database access became more predictable through targeted indexes and batched lookup work. The focused benchmarks showed which point lookups stopped scaling badly with database size, and which broad result-set queries were already better left to SQLite scans.
  • Repeated tree traversal was reduced by caching parent-chain information with explicit invalidation. In representative traces, that path dropped from about 12% of samples to about 2%.
  • Repeated cryptographic derivation was reduced through bounded key caching. The gain was about 5% in the trace; review centered on lifetime and clearing rules because this touches sensitive material.
  • Performance telemetry stopped competing with the workload it measured. The measurement-write path dropped from roughly 1.4% of samples to about 0.5%.
  • Long-running File Provider memory behavior improved through resettable Core Data context pools, which treat retained managed objects as a lifetime concern at the context level.
  • Small hot-path overheads were removed where profiling showed they mattered. In one representative small-file upload workload, later safe tuning reduced overall CPU by about 5%.

The exact numbers vary by machine, account state, network, and workload shape, but the direction was consistent: once repeated work was visible, we could remove it methodically.

Beyond any single fix, the workflow itself is the durable result. We now have a clearer path from "this feels slow" to "this stack repeats under this workload, this benchmark isolates it, and this change removes it without changing behavior."

What comes next

The Netflix TechBlog has written about catching performance regressions before they ship by running focused performance tests continuously and comparing each result with nearby historical data. We are working towards applying the same broad principle to Proton Drive: performance work should not depend on one-off debugging sessions or intuition.

The next step is to keep turning these investigations into automated guardrails. The load tester already gives us reproducible scenarios and comparable metrics. The profiling tools give us a way to explain regressions when they appear. The long-term goal is to make this loop tighter: detect suspicious changes earlier, explain them faster, and keep regressions from reaching customers.

Performance work gets far more tractable when every optimization traces back to a specific workload, a profile, a hypothesis, and a validation step.

If this kind of work interests you, come join us!


r/ProtonDrive Jun 05 '26

Announcement Proton Drive’s latest cryptographic update makes encryption when uploading files up to 4x faster

Post image
334 Upvotes

Hey everyone,

A quick follow-up to the Drive engine rebuild we shared earlier, as we've also upgraded the cryptography layer underneath it, and as a result, new file uploads are up to 4x faster.

End-to-end encryption is the whole point of Proton Drive, every file gets encrypted before it leaves your device. But this single extra step tends to add a performance cost; this latest update cuts that down significantly.

What's changed:

  • Up to 4x faster new file uploads from a more efficient encryption layer
  • We've adopted a newer version of the OpenPGP standard (the crypto refresh), using AES-GCM that takes advantage of hardware encryption on most modern devices
  • Encrypting a 4MB file on mobile dropped from 97ms to 32ms; on a fast desktop, from 12ms to 3ms
  • In practice: encrypting an HD movie or ~1,000 high-res photos went from about 90 seconds to 30 on mobile, and from ~12 seconds to ~3 on desktop

One thing worth flagging: to get these benefits, and to keep editing files uploaded after this change, you'll need to update your Proton Drive apps. Older clients that don't support the new scheme won't be able to update those files, so grab the latest version.

For developers and the wider privacy community, the Drive SDK that made this possible is previewed on GitHub.

Read in full here.

If you've already updated, let us know how you’re getting on in the comments.

Stay safe,

Proton Team


r/ProtonDrive 5h ago

Worried about data loss in Proton Drive after the recent disruptions?

22 Upvotes

Hello Proton! With the recent service disruptions, I’m starting to get a bit paranoid about the safety of my files.

I use Proton Drive heavily to store important personal documents. I know I ultimately need to maintain my own physical backups for absolute safety, but I just want to know how secure my data currently is with Proton directly. I can't help but worry. Can an infrastructure failure like a total system breakdown actually cause permanent data loss? Thanks!


r/ProtonDrive 2h ago

Importing Photos via Desktop App, after everything has imported and I turn on Backup on my iPhone, am I going to have troubles?

1 Upvotes

So I've downloaded all of my Photos from iCloud, and I'm now uploading them to my Proton Drive on the (Windows 11) desktop app. It's working fine, but once I finish uploading and turn Backup on on my iPhone, is it going to upload duplicates?

I'm asking because I wrote a little Python script that renamed any duplicate filenames so that they could all fit inside of that 'Combined' folder, and I'm worried now that there might be some duplicates if I do enable backup.

Does Proton Drive only use filenames to look for duplicates, or check file hashes/match metadata instead?


r/ProtonDrive 8h ago

Can't log in?

2 Upvotes

Recently installed Proton on my phone, but I keep getting a login error that says

"the system has received too many requests recently. Please try again in a moment"

Is anyone else having issues?


r/ProtonDrive 15h ago

Viewing .docx and .xlsx files in android drive app

1 Upvotes

I've just started using drive and any word or excel files uploaded are not opening in the android drive app, has anyone had this issue?


r/ProtonDrive 1d ago

Why do the files in this one folder "jiggle"?

Enable HLS to view with audio, or disable this notification

50 Upvotes

It happens on my phone too and it's just this one folder!


r/ProtonDrive 2d ago

Business Username overlap

0 Upvotes

When using a business account, and having files on the drive , I wish to share with a link.

Would the customers and businesses who I share the link with, then see the username ?

Wonder how that would work if you have 2 businesses running from a business account?

As they allow multiple business domains to one account.

Similar concern regarding a calendar invite or share, and a meeting invite for a meet call.

Would you be able to be business email domain specific , or does it share the username of drive account?


r/ProtonDrive 2d ago

Delete all/empty Albums?

3 Upvotes

I uploaded a large set of photos in folder to Proton Drive. My mistake thinking I could then sync those files as with any Microsoft or google drive. After deleting all the photos and uploading them again to the not drive-but-cant-see-photo section I'm now stuck with a lot of empty albums.

How to get rid of all the (empty) albums? Does the new cli help with that?

This photo part of drive seems to lack basic functionality to even be in productive beta.


r/ProtonDrive 3d ago

Date formats hopelessly broken again

8 Upvotes

I built a spreadsheet months ago with a column of dates in US format mm/dd/yy. Today, I insert a row and try to add August 5, 2026 and it absolutely refuses to display it as anything other than 5/8/26. I confirmed the File > Settings locale is correct as United States. I tried pasting formatting from another cell. The value itself (in the editor bar above) shows 8/5/26, but the cell itself displays 5/8/26.

I'm tired y'all. I'm just so tired of this supposedly GA product being absolutely unusable.


r/ProtonDrive 3d ago

How to mass upload photos?

6 Upvotes

I have thousands of old photos. But to upload them to the photo-part of Proton Drive through the browser and it's not suited for that, especially when files are sorted into subfolders.

Then I can add them to a folder on my desktop Proton Drive, but then they are not shown in the photo part..

What are the solution? Are the photo part really only for phone pictures? What if you got a proper camera, and decades of photos?


r/ProtonDrive 4d ago

Proton Sheets needs to go back to beta

86 Upvotes

Sheets has been live for months now and yet it is still riddled with bugs and problems.

Just today I built a simple worksheet of player names and statistics for my fantasy football draft preparation. But when I went to print the worksheet (a whole dozen columns and about 60 rows) the print driver would only recognize a fraction of the worksheet view. Instead of trying to find a workaround I decided to move the worksheet into M365 and print from there. Only, there is another "feature" that occurs when copying worksheet contents using select all. The copy function recognizes the entire worksheet as having data (i.e. every cell)! I basically had to scrap what I had done in Sheets and rebuild it in M365 all so I could print a piece of paper...

Not to mention the continued issues with formulas breaking, all of the formatting problems this sub has continued to identify, and the lack of mobile editing!

While I love the idea of Sheets (and Docs) they simply have too many problems to be viable in their current state. Seriously Proton, you need to pump the brakes and focus on quality control for your existing product suite.

Put a beta tag on Sheets.


r/ProtonDrive 4d ago

Is it worth paying more for less storage with Proton compared to its competitors?

Post image
58 Upvotes

I know that Google accesses your data for personalized ads and AI training.

iCloud, on the other hand, has robust security options, including encryption, but only for the Apple ecosystem. .

Proton has security options, but the prices are a bit high, and it only has 2 storage plans, without options for 300gb, 500gb or 700gb.


r/ProtonDrive 5d ago

How long does backup and encryption take?

2 Upvotes

I'm new to the service and just downloaded the app today. I am trying to switch over from Google Docs and Google Photos. I selected to backup and encrypt all of my photos and videos over to Proton Drive. I have over 39k photos and videos. I began the process 3 hours ago and less than 1k have been backup up and encrypted so far. Is this the normal speed?


r/ProtonDrive 6d ago

Proton Drive Roadmap for the second half of 2026

336 Upvotes

Hello Drive community!

As I'm an engineering director, the content here will be a little on the technical side. If that's not your thing you can skip to the end for a TL;DR paragraph. Now let's get into it!

We have taken note of the desire for more frequent high-level updates on the technical and roadmap sides of Drive, and I want to say a thank you to the community for the overall constructive tone that has been struck in most of our recent update threads. Let's continue from my previous megapost with an improved cadence, this time a preview of what we are working on in the rest of the year. I may not respond to every comment, but I promise that I will read every single one. I'll structure this update into four parts:

Part 1: Key features coming to Drive in the last half of 2026

Part 2: Core performance and quality improvements

Part 3: For Devs and Power Users: SDK/CLI/Crypto work

Part 4: Summary / TL;DR

Part 1: Key features coming to Drive in the last half of 2026

We will save some of the less-technical descriptions for the upcoming Blog post where we will publish the roadmap "officially", but here's a technical preview well-suited to this audience:

  • Search improvements on all clients - (Many more details on this will be coming soon with a detailed post by u/horejsek1, who is leading the Search effort) We know that just searching by file name is not enough and that search is missing on mobile. We are working hard to enable search on all clients and across more fields, including most of our metadata as well as the content itself. Due to the nature of end-to-end encryption, this is a really difficult (but also very cool) technical problem. We have a complete end-to-end design, which is now in implementation. We are balancing search so that you get the best / most relevant results quickly, while the longer/more exhaustive search can stream in the background. We plan to roll out incremental improvements to search capabilities as they are developed, culminating in full content search everywhere. This will allow us to verify a bunch of strategies and infrastructure with smaller amounts of data before we bring the hammer down on the very expensive full content search. TLDR we don't want you to have to re-index your entire Drive ever, to make that true in an end-to-end encrypted world we will move carefully and deliberately so that this expensive step only has to be done once per file.
  • macOS Folder Sync - Folder sync is coming to macOS! The team has been hard at work turning our Windows sync capability (the "Sync Engine") into a platform-agnostic capability that can run anywhere, starting with macOS. This means you will finally be able to select any folder(s) you want for syncing on Mac, very similarly to how you select folders on Windows today, and the functionality will be the same on both platforms. This is by far the biggest missing feature on Mac. Fortunately, the Sync Engine was kept separate from the rest of the application code on Windows, so the task of making it fully independent of any OS doesn't require a redesign. It's still a lot of work because the way that Mac and Windows handle their filesystems is quite different, but that work is going well. Since the Mac behavior is relatively close to a pure Linux implementation, the Linux app is also using the same "Sync Engine" and that is what Linux will launch with.
  • iOS Files integration returns - As detailed by u/Proton_Jan in this post, we will be bringing back iOS Files integration this year. We didn't communicate the loss of the feature well as I've previously acknowledged, and we will do a better job in the future of announcing any such breaking changes with more lead time in case it affects anyone's decision-making process on their subscription. The team has been hard at work getting rid of the Go runtime we have relied on in iOS for cryptographic operations, and replacing it with Rust. There is more to this story and Jan's post (link above) goes into much more detail. The upshot is that we are getting some good performance improvements out of this work that everyone on iOS will benefit from, but it will still be a while as this is deep surgery on the application. I won't rehash the discussion here as I think we've learned what we needed to learn from this messy situation, and I know that restoring it after many months won't make anyone who lost that feature feel better, but we will fix this and we will keep it fixed moving forward, with a regression test that ensures we don't exceed the memory limits that caused the issue in the first place.
  • Better export from Google Drive - We have been working hard on improving the ability to get your Google Drive contents moved over to Proton Drive. Today your only option is to use Google Takeout to export everything, then manually upload or drop it into a Windows machine to let it sync. This is a very manual, very technical process that many people either cannot or do not want to deal with. We know it's bad, and we're going to make it a lot easier. While it's still in internal testing, this will be coming later this year. I am happy to report that our new capability was able to handle my entire personal "day 1" 100GB+ Google Drive account from April 2012 with ease - so I'm confident we will be able to handle large accounts with files and documents stretching back to the very beginning of Google Drive. This feature will help a lot of people de-Google.
  • Docs and Sheets feature improvements - In addition to working on critical improvements to both performance and quality for Docs and Sheets (we hear you - see next section), we have a bunch of features in the pipe in Docs and Sheets this year. u/DaniGuardiola will soon give us a post dedicated specifically to what Docs and Sheets are up to for the rest of the year, so we won't discuss that work here. The team has heard your cries for Dark Mode and other features, as you all know Dani is quite active here on the Reddit :)
  • 🐧Linux Beta - It is still our intention to release a beta of the official Proton app for Linux this year. To temper expectations somewhat, this initial launch will likely consist of our headless daemon-mode only - that means you'll have a sync engine running that will keep a configurable list of directories up-to-date the same way that it does on Mac and Windows. There will be some other features but this will be the big one. The constantly-running sync engine is what really differentiates a proper client application from our command-line interface. While we may (no promises) eventually offer a "one-shot sync" from the command line, having the daemon running is a much more efficient, event-based way to sync files and folders continuously, and it is/will be the officially supported solution for when you want to do that on Linux. A UI client will come along as well, but it probably will not be ready to launch this year. Based on feedback about the CLI, we think that this headless mode will satisfy the biggest chunk of missing functionality for the majority of Linux users, so we want to get that out as soon as possible. Want to help us accelerate this? We're hiring a full-time Linux developer right now.

Part 2: Core performance and quality improvements

The wave of improvements from switching over to our SDK continues to give us a lot of improvements in both quality (crashes, hangs, failed uploads, etc) and performance (memory usage, cpu usage, upload speed, download speed, listing speed, etc). But there is still lots of room for improvement. The team has been hard at work setting up head-to-head tests of Proton Drive vs Anonymous Major Competitor on all clients, in a repeatable environment, where we can control properties such as network quality, hardware resources, and network egress location. We now have dashboards directly comparing the speed of upload and download across several key use cases on various platforms (e.g., upload 10,000 photos from iOS... download 10GB of 1MB files on Web... etc). We have set internal targets for where we want these numbers to go, and we are taking a rigorous approach based on Amdahl's Law to target and eliminate key bottlenecks in our software stack. This work will never be "done", since there's always room to be faster and reduce errors, but we are now making this into a strict mechanism. Not only does this allow us to directly measure improvements to performance and quality with each change, it also gives us a very nice performance regression framework that we can use to spot and prevent performance and quality regressions moving forward.

You might be thinking - wait, Proton didn't have this before? Well... sort of. We have of course had performance and quality tests, but in the past these have been a mix of partially manually and partially automated one-off tests run by QA automation engineers and our primary developers in every release cycle, and we have not had repeatable "vs Competitors" setups automated at all. So this new setup also saves us a bunch of time, and we'll include more of our competitors in this moving forward.

We are pleased to see that crash rates and overall upload/download success rates have all improved by roughly an order of magnitude (or better) across most of the client ecosystem in 2026, mostly thanks to the SDK and the improvements to surrounding code, but there's still much more to be done.

Worth noting separately is that we're also looking to hugely improve the performance and quality of Proton Docs and Proton Sheets. Docs is still not as fast as we would like it to be when loading, and Sheets is in similar shape We also know power users often encounter issues with Sheets, and we will be focusing on Sheets quality. We have a ton of work in the pipeline to improve this, and most of it will be completely invisible to end users. The short version is that we are doing to Docs and Sheets what we did to the other Drive clients - cleaning them up and extracting a separate core and SDK. We have added and will be continuing to add, lots of instrumentation to detect and monitor performance and quality issues. The team has been aggressively burning through many of the bug reports. Hugely helping this is that we've been able to make some hires to increase the team size here, and this is already making a big difference in the team's velocity. Our internal target is to reduce the number of errors encountered in Docs and Sheets by one order of magnitude (90% reduction) by the end of the year, by systematically targeting and eliminating the most common errors.

Part 3: For Devs and Power Users: SDK/CLI/Crypto work

We have got a lot cooking all the time! In addition to the features and performance/quality improvements already discussed, we are also hard at work on SDK, CLI and crypto model improvements. Let's discuss these a bit more now.

  • SDK improvements - SDK is moving steadily towards the v1.0 release, though we aren't quite there yet. We are figuring out exactly how to package up the sync engine so that it can be consumed by 3p devs as part of the SDK. We are also working with the Proton Accounts team to eliminate the most frustrating thing about working with the SDK right now, the lack of a proper 3p accounts library that can be used to properly handle authentication flows. The SDK is also working to incorporate some of the Rust work (overlapping with our task to bring back the iOS Files integration - see above sections), and to stabilize the API ahead of the v1.0 release target. The last remaining platform-agnostic features that Drive clients implement outside of the SDK are also being pulled in, as is the work for Search (so that all clients - including 3p - will be able to index and search files). This is quite a tall order for the next few months, stay tuned but expect still a lot of churn (good churn) in the SDK interfaces as we make our way towards a stable, officially-supported v1.0 release.
  • SDK utilization (client-side) improvements - We are on track to scrub all the HTTP endpoint calls from all Drive clients by the end of the year. In order to achieve this the SDK must expose 100% of all platform-agnostic capabilities in its API surface and every client must migrate to those APIs. Every client is working towards this goal in parallel. We may not quite be there at the end of the year but we will be very close. This morning I got to see a change that deleted 6,991 lines of code from the Android client as it no longer needs to understand or care about thumbnails or chunking of files. This is pure gold from an engineering perspective, as every line deleted directly reduces the difficulty of having to maintain and test the client stack. Over the coming months every client will permanently be jettisoning its understanding of blocks, encryption, signatures, thumbnails, etc. This also means 3p developers will never have to care about these concepts either. Hooray, abstraction!
  • CLI improvements - Our work on the CLI continues. We have been busy implementing a lot of community-requested features (such as Linux pass support, and usability improvements) as well as core missing features (such as support for photos and albums). This is an area of very active development and the team remains hard at work bringing the full capabilities of the SDK to the command line interface. You can expect to see experimental support for Search show up here when Search enters beta, as well as more performance improvements, usability improvements, and documentation alongside more commands for the most common operations. We know the account flow is still a pain and we want token-based access as badly as you do, for our own internal uses! I can't promise that yet, as we have work yet to do with the Accounts team, but we're on it and it will (eventually) we very much hope it will make it to the CLI this year.
  • Crypto v2 (transparency: will slip to 2027) - Following on our Crypto 1.5 project that improved upload speed by up to 4x on most clients, Crypto v2 is in the works with the rest of our planned cryptographic model changes. The new model will drastically improve the speed of the remaining slow crypto operations, and will significantly simplify the model. If you're a developer and you are using the SDK, this will just be magic for you - and it's another reason we strongly advise all developers to rely on the SDK, since it will fully insulate you from this change. There will be some API changes still (we can't insulate you from those, sorry... that's why we're still not calling it v1.0) but, you won't have to care about the actual crypto details at all. This is expected to be an even bigger speedup than crypto 1.5 was for the remaining crypto operations. We had hoped Crypto v2 would be out this year but realistically it will need a little longer to cook. I'm including it in this list because we have talked about it publicly in the AMA. We will be releasing some bits and pieces of Crypto 2.0 work ahead of the actual launch, because of course everything has to be in place on all clients before we can make the transition to the new model. So 3p devs be advised, we do expect to break your API a little bit more as we do that work. After Crypto v2 we expect to be able to largely stabilize the SDK APIs and this is the last major blocked for reaching "SDK v1.0".

Part 4: Summary / TL;DR

Thanks for reading! Here's the super-condensed list of everything above.

  • Key features coming to Drive in the last half of 2026:
    • Search Improvements on all clients - will be released in waves, culminating in full-text search.
    • macOS Folder Sync - just like Windows.
    • iOS Files integration returns - we are fixing this and it is coming back.
    • Better export from Google Drive - you won't need to use Google Takeout anymore for Google Drive.
    • Docs and Sheets feature improvements - more requested features.
    • 🐧Linux Beta - headless sync engine daemon mode to get started, UI coming 2027.
  • Core performance and quality improvements:
    • Major improvements across all clients - they will be faster and have fewer errors.
    • Especially on Docs and Sheets, they will be drastically faster to open and have far fewer errors.
  • For Devs and Power Users: SDK/CLI/Crypto work:
    • SDK improvements - finish exposing 100% of all platform-agnostic features.
    • SDK utilization (client-side) improvements - all HTTP calls deleted from all clients.
    • CLI improvements - more tools, more docs, better performance, hopefully (probably) token support.
    • Crypto v2 - will slip to 2027 but bits and pieces will come in 2026 in the SDK layer, prepare for API churn.

r/ProtonDrive 4d ago

exciting use of proton drive in the wild

Post image
0 Upvotes

Hiring manager needed a document with sensitive personal info on her personal cell phone so I sent a link with the file


r/ProtonDrive 5d ago

Camera backup

1 Upvotes

Hello

Is there a way to have camera backup directly to the Proton Drive, to negate the need for the gallery app?

thanks in advance


r/ProtonDrive 6d ago

As Always Proton Sheet is Buggy and Proton Docs is slow to add feature!

32 Upvotes

I exactly don't understand Proton's mission, because the more I use Proton's services such as Sheet and Docs for personal and business use, the more I'm starting to hate the products. The selling point of proton is to use the fear of people who doesn't want their privacy to be exposed, yet at the same time proton seems to overthrow people away to selling their privacy due to the lack of efforts in making sure that their products are not buggy.

I was glad that they've added new features in proton docs, yet there are important features which remains not to be found, adding shapes in docs for instance. Sheet at the same time remains buggy, there was even one time when I use it with bunch of dataset the browser just froze and it crashes.

In a business standpoint, I don't recommend proton's services, perhaps for personal use it might suffice. However, I am yet to transfer all my documents and files from google workspace to proton, because the sheet, as always is horrendous to use, since my google sheets uses formula that made proton buggy when I attempted to transfer some of the workbook I have from google.

They even made their subreddit fragmented across several services when they're trying to sell their products to business as a package, how can we voice out about the terrible experiences we have, or perhaps proton is trying to win over people's fear just to make money.


r/ProtonDrive 6d ago

Is anyone else not able to export spreadsheets to PDF like Google Sheets?

Post image
4 Upvotes

I have lodged multiple Spreadsheet reports to Proton about this issue, and nothing has been done. They haven't provided any answers, and they also haven't fixed this issue since release in December 2025.

Does anyone know how to fix this? It's printing the dropdown menu and misses out on all the cells, this has happened with my other spreadsheets too with actual content in it.


r/ProtonDrive 6d ago

Delete all photos from drive but not from device?

4 Upvotes

Hi, maybe I am stupid but if I search this question I can only find answers to the opposite situation.

I have photo backup turned on and my storage is full. Since I have most of the photos backed up physically anyway, I want to delete them from proton drive but not from my phone.

If I delete them and empty my trash in proton drive, will the photos stay on my phone's local storage? Or is it like in google drive where it gets deleted from the device as well unless you turn the sync off?

Thanks in advance


r/ProtonDrive 7d ago

Proton Drive support shipped in Blober, the cloud transfer app I built (20+ providers). Looking for honest feedback

10 Upvotes

I'm the developer of Blober (blober.io), a desktop app for transferring files between cloud providers. Blober's support for Proton Drive recently shipped a stable version, and I'd like honest feedback from Proton Drive users.

What it does:

  • Moves files between Proton Drive and 20+ other providers (Google Drive, Google Photos, Dropbox, OneDrive, Box, pCloud, S3-compatible storage like Backblaze B2 / Wasabi / Cloudflare R2 / DigitalOcean Spaces, Azure Blob, local drives and NAS), in any direction.
  • Streams transfers in parallel through your machine, with per-file progress and automatic retry. Files already transferred remain done if an interrupted task is resumed.
  • It's a transfer tool, not a sync client. Nothing runs in the background and overwrites files. Blober also keeps your machine awake until all transfers are done.
  • It supports path templates such as media/{file_ext}/{file_created_date}/{filename}. Blober evaluates the template variables to create a destination path.

Quick answers:

  • Server-to-server? No. Blober streams through your machine, no full copy staged on your machine.
  • vs rclone? rclone's Proton backend is Tier 4 experimental, and setup puts your password into a config file. With Blober, you log in through Proton's login page, so your password is never known to Blober.
  • Encryption? Every transfer runs over HTTPS/TLS straight to each provider's API through your machine, and Blober doesn't route your files through any of our servers
  • vs RcloneView? RcloneView inherits the limitations of rclone. For example, RcloneView doesn't support GoPro Cloud but blober does. For Google Photos, rclone can only download photos it uploaded. Blober can transfer all your google photos to Proton Drive without google takeout.
  • Search? No search. You can browse and select specific directories and files. Blober has a preview of the files before you transfer, plus "include" and "exclude" glob patterns to choose what moves, like *.jpg or *2024*

Please let me know if you find it genuinely useful or if you find a bug.


r/ProtonDrive 7d ago

Bug Reaction

Thumbnail
gallery
21 Upvotes

I created an account on Reddit just for this post. After years of silent reading.

I've had the following experience with u/protonteam :

I had a small synchronisation problem while setting up my (new) Proton Drive. So I reached out.

Day 1, 22:27

Inital bug report

Day 2, 07:36

First answer from Proton. Not by some bot or Tier-1-support, but by someone with technical expertise. With a detailed step-by-step solution, a secondary solution, a list of informations they need if the issue persists and some further tips how to use the app best.

Day 2, 11:05

I reach out to them again, as the problem couldn't be solved unfortunately.

Day 3, 13:58

Received another feedback - including a download link for a specialised version. Just built for this one bug.

So...

Are you guys shitting me? I mean, is this real? How bloody nice is this service? I've worked in customer service, in a sensitive area, and holy fuck this is unreal.

You guys deserve every bit of love that is available out there. 💙

Banana for scale/comparison: my old drive (Infomaniak kDrive) is also a bit buggy and malfunctioning (problem might sit infront the device). Wrote them 3 days ago. Haven't heard back yet.


r/ProtonDrive 6d ago

Tab ordering in Proton Sheets

0 Upvotes

I know Sheets seems to be a work in progress, but does anyone have luck reordering the order of tabs in a Proton Sheet file without them reverting to the previous order upon reopening the file?

For one of the things I do, I create a new tab each week and put a list in it. The tabs are named things like "260826" for this week's tab. I would like them ordered descending from the most recent one on the left. If I arrange them just so, and then close out, the next time I open the sheet they'll have reverted to some jumbled order. I haven't discovered any "behind the scenes way" to specify order otherwise.

Thanks for any advice!


r/ProtonDrive 7d ago

Rclone on Linux Mint question

3 Upvotes

Hey everyone!

New to Rclone, and fairly new to Linux, so bear with me.

I'm having difficulty figuring out whether I should use rclone's mount command or just the more simple (to my mind) sync.

I have one folder on my computer that I want to sync (one direction) with Proton Drive. It isn't necessarily a big deal to me that it syncs on the fly, though if that's easy enough to configure, I'm opem to it. Otherwise, I'm fine with like a once a day sync kind of setup as long as it doesn't take an absurd amount of time. (I don't make huge amounts of changes every day or anything. I'm an average user.)

For my situation, would there be any downsides to just running (automating?) rclone sync once a day? Or maybe it would be better to mount?


r/ProtonDrive 7d ago

Way to move 'shared with me' files to other folders in my drive?

1 Upvotes

I'm not seeing a way to move a doc or spreadsheet that was shared with me into a regular folder on my drive (not in the 'shared with me' section). I hope I'm just missing it?? Would so love to be able to have all those files organized with my other stuff!