Cryptomator native JavaScript implementation (prototype)

Hi,

I really like the idea of Cryptomator and am an avid user of the macOS and iOS apps. I thought it would be cool to have a version of Cryptomator completely running in the browser using JavaScript.

So I’ve built a native implementation of the Cryptomator vault format in JavaScript and added a Vue.js based front end to work with vaults located on S3 and other storage providers. This would enable me to work with my vault from anywhere in the world only using a browser.

As no middleware back end service is needed, the JavaScript implementation could be hosted next to the vault on S3 or on any other static website hosting service. All the cryptographic operations are run in the browser, so no keys are leaked to any third parties.

A small screencast and the prototype code can be found here: https://github.com/marcboeker/cryptomator

Others already thought about the same. So maybe there is demand for a browser based version?

I’d love to hear your feedback on this. Could this be something useful?

Thanks Marc

7 Likes

Wow, this looks very promising! I can imagine many scenarios where this can be useful.

Besides other storage providers, maybe one could add a “local files” provider. Not sure if this works with browser’s security measures, but if compiling this to a single html file and putting it next to the vault, it would allow access without the need to install new software.

Have you decided on a license yet?

Let us know, if you need help with anything!

Thanks for your feedback. I’ve done a little research on wether you can access the file system via browser and it seems to work in recent Chrome based browsers. I’m not quite sure if this is enough to use the entire Cryptomator feature set, but it should be possible.

Did you have any plans in the past for a Cryptomator Web-UI? I’m not quite sure, what a useful application would be. Bundling as a single file together with a vault or offering a web based Cryptomator like filen.io? I’m open for any ideas :slight_smile:

I always wanted something like a “cryptomator server”. A service that offers an interface (webdav, ftp, https) to the user, encrypts the data transparently and stores the file to some cloud hoster.
Currently I have the issue that cryptomator is not available for all devices and I cant use it to, for example, encrypt QNAP backups.

Even though your service does not offer any such interface, its a huge step in that direction. If I had experience with javascript I would probably implement it myself :grin:

Hi everyone,

I’m new to the forum, but I’ve been following the development of Cryptomator with great interest. The idea of a native JavaScript implementation for Cryptomator is fascinating and opens up a lot of possibilities for web-based encryption solutions. Marc’s prototype using Vue.js and supporting S3 storage is impressive. It’s exciting to think about the potential for accessing encrypted vaults directly from a browser without the need for middleware or third-party key handling.

The suggestion of adding a “local files” provider is intriguing, though browser security measures might pose a challenge. It would be great to see this developed further, perhaps with the community’s input on overcoming these hurdles.

As for licensing, I’m curious to see what direction this project takes. Open-source licensing could encourage more contributions and innovation.

Looking forward to seeing how this project evolves and how I can contribute to the community!

I would like to add a “+1” to this feature of accessing my vault using a browser.

Today, Cryptomator is the only application that prevents me from having a “full-cloud” approach, since it has to decrypt files locally. Today I mount my cloud drive so that Cryptomator can “view” it as if it were locally on my computer, that is, I have to have two applications installed, one to mount the drive and Cryptomator itself.

I’ve thought about adopting end-to-end encryption solutions, like Sync or Proton Drive, but that would prevent me from doing cloud-to-cloud backups. Today I do cloud-to-cloud backup of my encrypted vault, i.e. the “d” directory etc.

In summary, I’m looking for a way to:

  • work with decrypted files via browser;
  • backup encrypted files directly cloud-to-cloud.