New "Sync with S3" iPhone app

Introducing “Sync with S3” app for iPhones. Automatically Backup and Synchronize your iCloud Photo Library with your Storj bucket, including the folder/album hierarchy you may have defined in your photo library.

If you have any questions or comments about this new app, please do not hesitate to email us or reply to this post.


Does this handle photo libraries that are significantly (10x-20x) larger than available space on device?

you need a better app icon, not saying it’s ugly, just not eye-catching enough

Yes, this will Sync your entire library regardless of size. If a photo/video is in iCloud only, it will download the original to your device and then upload it, so even if you’re storing your photos on iCloud only using the “optimize iPhone storage” setting, your originals is what will be uploaded / synced with your Storj bucket.


Thank you for your comments, we hope to release more customizable icon choices soon.

Please persist the credentials in the keychain and configuration in iCloud

Storing your S3 credentials in your iCloud account instead of your device only could potentially expose your credentials to 3rd parties if your iCloud account is compromised, so to ensure absolutely no data is collected and stored outside of your device, your credentials are only stored on your device.

Please note that you may enable/disable backups for this app (it’s enabled by default) from the Settings section that the s3 credentials stored with your phone backups in case your phone has to be restored. It’s only if you delete the app and then reinstall it that you have to re-enter your S3 credentials.

1 Like

Keychain is always end-to-end encrypted. Even if iCloud account is compromised (in which case I would have much bigger problem than my photos backup) Keychain still stays encrypted. Devices are disposable, iCloud account is a source of truth.

So, the credentials are already in the backup on iCloud :slight_smile: which is worse, than keeping them in the keychain.

Wait, does it mean you don’t store storj credentials in the keychain? Where then? Do you store them plaintext in the app data??

Please only store sensitive stuff in the keychain.

1 Like

It’s stored in your device’s keychain which is also then backed up to your iCloud account if:

1- backups are enabled for this app.

2- you are currently signed in to your iCloud account on your device.

When you asked if they are stored on iCloud, I assumed you meant stored in iCloud keychain only and not on the device keychain, so that the credentials can automatically become available on your other devices where you may have also installed this app, and/or saved even if you delete and re-install the app.

The only time you will have to re-enter your s3 credentials is if you delete the app from your device and re-install it, or if you install it on another one of your devices.

When people delete an app with sensitive information, it’s usually preferred that all information stored with the app is also deleted, rather than the sensitive data still saved to the user’s iCloud account. That’s why it has been implemented this way.

Thank you.

1 Like

Is the app using the STORJ-hosted S3 gateway or a native connection to storagenodes?

It uses the S3 compatible API.

Also it reminds me a Resillio Sync somehow :thinking:

For that you may use S3Drive but only with rclone config with a native Storj integration (they also have an own weird S3 implementation, but it has some drawbacks like unsupported server-side copy/move and several others, because it’s mostly preconfigured for Amazon, not for S3-compatible, unlike their rclone backend by the way). The Android platform has several apps to use a native Storj, but not for Apple unfortunately.

S3Drive is a powerful app, but their “sync” functionality though seems limited to synchronizing two remote cloud destinations similar to rclone (on which it’s based), or backing up individual albums only.

It depends on the paying plans I believe. I do not like this app, however, it may do its work using a native Storj integration from the rclone config, so sometimes I used it. And it’s also a cross platform, I may confirm that at least their Android and Windows versions are working, also web one… but - it is possible to configure it to use only their limited S3 implementation. It has too much drawbacks for me, the inability to use a server-side copy/move only the one part of the problem, they also is unable to download any object uploaded not via their app (sic!).
Mounting function is some kind works, but I prefer to use rclone mount instead, with vfs cache it also much much faster.
They also have a background sync job (paid feature of course), the foreground one is terrible - you need to keep it open every time and do not allow to shutdown it by the Android scheduler (I guess the iOS will do the same).

Looks useful. Or worth a shot, at least. Few bother to even try to sync, so many just copy and pretend.

With that being said, I’d love to have a two way sync. Or more accurately, perhaps, a “remove items from the photo library when deleted on the remote”.

Doing bulk “upload, then delete this” from the phone is miserable as it unselects items after performing the first action. I’d love to sync everything, and do the cleanup from a computer, and sync that to the device.

I realize the logic for a two-way sync is a lot more complicated since you have to track the states of both, but just food for thought.

Two way syncing would require that the app delete photos from the user’s photo library, and while it’s possible to implement this, it’s a risky thing to delete a user’s photos. They could for example accidentally delete everything because of user error. So it’s something we want to stay away from.

We do plan though to offer a separate app that would make batch downloading a lot easier. Right now saving photos from the native apps of these cloud providers is a very time consuming process requiring tapping and selecting photos individually.


The simple copy may change the modification time. For photos it could be a very important - you may lose the information about the shot date.
So, if you would go this route, please use rclone with S3 integration, because Photos+ uses S3 integration too, otherwise the modification date will change to the date when you synced it (actually not, but rclone puts modification date to a different metadata fields when you use S3 or Storj native, so to read it correctly you need to use the same integration, which was used to sync).

Our main purpose of this app when creating it is to offer people an easy and streamlined way of backing and/or mirror of their iOS photos on Storj/S3 storage, so that they can then also easily access it from their desktops using the many other tools that are available such as mountainduck, folklift, and other desktop apps that can be use to mount their Storj/S3 storage as a disk location on their finder.

As great as Apple devices are, one of the most unintuitive and complex things about it is getting your photos off your phone to your computer. This app makes it super easy :slight_smile:

Date Shot is part of EXIF metadata, filesystem metadata affects nothing. Filename, modification dates, attributes, etc, are irrelevant.

I’m not sure why would you say that, other than to promote your software, but then it’s quite disingenuous.

I literally do nothing for all my photos and videos I take on any device to end up in my photo library on my laptop. This happens instantly without my intervention.

Literally zero effort. Cannot be more user frienly that that.