Convert Figma logo to code with AI

cryptomator logocryptomator

Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.

12,757
1,093
12,757
261

Top Related Projects

1,426

the Crypto Undertaker

5,643

Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

Encryptr is a zero-knowledge cloud-based password manager / e-wallet powered by Crypton

23,002

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.

10,119

Bitwarden client apps (web, browser extension, desktop, and cli).

29,372

☁️ Nextcloud server, a safe home for all your data

Quick Overview

Cryptomator is an open-source client-side encryption tool for cloud storage. It provides transparent, cross-platform encryption for your files, allowing you to securely store them in any cloud storage service while maintaining privacy and control over your data.

Pros

  • Easy-to-use interface with drag-and-drop functionality
  • Cross-platform support (Windows, macOS, Linux, iOS, Android)
  • Transparent encryption, allowing seamless integration with existing cloud storage services
  • Strong AES encryption with 256-bit keys

Cons

  • Requires manual setup for each device
  • Performance can be slower compared to native cloud storage access
  • Limited advanced features compared to some other encryption tools
  • Potential for data loss if encryption key is forgotten or lost

Getting Started

To get started with Cryptomator:

  1. Download and install Cryptomator from the official website: https://cryptomator.org/downloads/
  2. Launch Cryptomator and click "Create new vault"
  3. Choose a name and location for your vault
  4. Set a strong password for your vault
  5. Add files to your vault by dragging and dropping them into the Cryptomator window
  6. Sync your encrypted vault folder with your preferred cloud storage service

Note: Cryptomator is not a code library, so code examples and a quick start guide for developers are not applicable. The getting started instructions provided above are for end-users of the application.

Competitor Comparisons

1,426

the Crypto Undertaker

Pros of Tomb

  • Command-line based, offering more flexibility and scriptability
  • Supports advanced features like steganography and hidden volumes
  • Designed with privacy and security-focused Linux users in mind

Cons of Tomb

  • Less user-friendly for non-technical users compared to Cryptomator's GUI
  • Limited cross-platform support (primarily Linux-focused)
  • Requires more manual setup and configuration

Code Comparison

Tomb (shell script):

#!/bin/sh
# Create a 100MB encrypted volume
tomb dig -s 100 secret.tomb
tomb forge secret.tomb.key
tomb lock secret.tomb -k secret.tomb.key

Cryptomator (Java):

Vault vault = Vault.createNew(Paths.get("/path/to/vault"));
vault.unlock(masterkey);
Path clearTextPath = vault.getCleartextPath();
Files.write(clearTextPath.resolve("secret.txt"), "Hello, World!".getBytes());

Both projects aim to provide secure file encryption, but they take different approaches. Tomb focuses on command-line usage and advanced features for Linux users, while Cryptomator offers a more user-friendly, cross-platform solution with a graphical interface. The code examples demonstrate the difference in complexity and usage between the two projects.

5,643

Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

Pros of Standard Notes

  • Cross-platform support with web, desktop, and mobile apps
  • Extensive plugin system for customization and extended functionality
  • Focus on note-taking and organization with a clean, minimalist interface

Cons of Standard Notes

  • Limited file encryption capabilities compared to Cryptomator's vault system
  • Less suitable for encrypting large files or entire directories
  • Primarily designed for text-based notes, not general file encryption

Code Comparison

Standard Notes (JavaScript):

export function encryptString(content, key) {
  const iv = crypto.getRandomValues(new Uint8Array(12));
  const cipher = new aesjs.ModeOfOperation.gcm(key, iv);
  const encrypted = cipher.encrypt(aesjs.utils.utf8.toBytes(content));
  return { iv: iv, ciphertext: encrypted };
}

Cryptomator (Java):

public void encryptFile(Path cleartextPath, Path ciphertextPath) throws IOException {
    try (FileChannel cleartextChannel = FileChannel.open(cleartextPath, StandardOpenOption.READ);
         FileChannel ciphertextChannel = FileChannel.open(ciphertextPath, StandardOpenOption.WRITE, StandardOpenOption.CREATE)) {
        encryptor.encrypt(cleartextChannel, ciphertextChannel);
    }
}

The code snippets show different approaches to encryption, with Standard Notes focusing on string encryption for notes, while Cryptomator handles file-level encryption.

Encryptr is a zero-knowledge cloud-based password manager / e-wallet powered by Crypton

Pros of Encryptr

  • Cross-platform support (desktop, mobile, and web)
  • Simple and user-friendly interface
  • Designed for storing various types of sensitive data (passwords, credit cards, etc.)

Cons of Encryptr

  • Less actively maintained (last commit over 3 years ago)
  • Limited features compared to Cryptomator
  • Smaller community and less documentation

Code Comparison

Encryptr (JavaScript):

var CryptoLib = require('./lib/cryptoLib');
var crypto = new CryptoLib();

crypto.encrypt(data, key, function(err, encryptedData) {
  // Handle encrypted data
});

Cryptomator (Java):

Cryptor cryptor = CryptorProvider.forScheme(CryptorProvider.Scheme.SIV_GCM);
byte[] cleartext = "Hello, World!".getBytes(StandardCharsets.UTF_8);
byte[] ciphertext = cryptor.encryptData(cleartext, null, null);

Both projects focus on encryption, but Cryptomator is more actively maintained and offers a wider range of features for secure file storage. Encryptr provides a simpler interface for storing various types of sensitive data, while Cryptomator specializes in creating encrypted vaults for file storage. Cryptomator has a larger community and more extensive documentation, making it potentially easier to use and integrate into existing workflows.

23,002

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.

Pros of KeePassXC

  • Cross-platform password manager with a user-friendly GUI
  • Supports advanced features like TOTP, SSH agent, and YubiKey integration
  • Offers a standalone application, not relying on cloud services

Cons of KeePassXC

  • Primarily focused on password management, not file encryption
  • Lacks built-in cloud synchronization options
  • May have a steeper learning curve for new users compared to Cryptomator

Code Comparison

KeePassXC (C++):

void Database::setKey(const CompositeKey& key)
{
    m_key = key;
    m_kdf->randomize();
    m_masterSeed = randomGen()->randomArray(32);
}

Cryptomator (Java):

public void unlock(CharSequence passphrase) throws InvalidPassphraseException, CryptoException {
    masterkey = keyCacheAccess.loadExistingMasterKey(vault, passphrase);
    if (masterkey == null) {
        throw new InvalidPassphraseException();
    }
}

KeePassXC focuses on secure password storage and management, while Cryptomator specializes in file encryption and cloud storage integration. KeePassXC offers a feature-rich password management solution with advanced authentication options, whereas Cryptomator provides transparent file encryption for cloud storage services. The code snippets highlight their different approaches: KeePassXC deals with database key management, while Cryptomator handles vault unlocking and master key retrieval.

10,119

Bitwarden client apps (web, browser extension, desktop, and cli).

Pros of Bitwarden

  • Comprehensive password management solution with browser extensions and mobile apps
  • Supports secure sharing of passwords and notes between users
  • Offers a self-hosted option for organizations

Cons of Bitwarden

  • Primarily focused on password management, less versatile for general file encryption
  • More complex setup for self-hosting compared to Cryptomator's local encryption

Code Comparison

Cryptomator (Java):

public class CryptorProvider {
    public static Cryptor createNew() {
        return new CryptorImpl(new ScryptKeyDerivation(), new AesGcmCryptor());
    }
}

Bitwarden (TypeScript):

export class CryptoService {
    async encrypt(plainValue: string, key: SymmetricCryptoKey): Promise<EncString> {
        const encValue = await this.aesEncrypt(plainValue, key);
        return new EncString(encValue);
    }
}

Key Differences

  • Cryptomator focuses on file-level encryption for cloud storage, while Bitwarden is primarily a password manager
  • Bitwarden offers more collaborative features and cross-platform support
  • Cryptomator provides a simpler, more straightforward approach to encrypting files locally

Both projects are open-source and prioritize security, but they serve different primary use cases within the realm of data protection and management.

29,372

☁️ Nextcloud server, a safe home for all your data

Pros of Nextcloud

  • Comprehensive self-hosted cloud solution with file sync, sharing, and collaboration features
  • Extensive ecosystem of apps and plugins for added functionality
  • Active development with frequent updates and a large community

Cons of Nextcloud

  • More complex setup and maintenance compared to Cryptomator
  • Requires a server to host, which may incur additional costs and responsibilities
  • Potentially larger attack surface due to its broader feature set

Code Comparison

Nextcloud (PHP):

public function createShare(Share $share) {
    $this->validateShare($share);
    $this->canShare($share);
    $this->generalCreateChecks($share);
    $this->pathCreateChecks($share);
    $this->linkCreateChecks($share);
}

Cryptomator (Java):

public void unlock(CharSequence passphrase) throws InvalidPassphraseException, CryptoException {
    assertNotUnlocked();
    cryptor.unlockEncryptedMasterKey(masterkey.getEncryptedMasterKey(), passphrase);
    unlocked = true;
}

The code snippets demonstrate different focuses: Nextcloud handles complex sharing logic, while Cryptomator deals with encryption and key management.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

cryptomator

Build Known Vulnerabilities Quality Gate Status Mastodon Crowdin Latest Release Community

Supporting Cryptomator

Cryptomator is provided free of charge as an open-source project despite the high development effort and is therefore dependent on donations. If you are also interested in further development, we offer you the opportunity to support us:

Gold Sponsors

Become our Gold Sponsor and showcase your brand to a targeted audience! Please contact us if you are interested.

Silver Sponsors

gee-whiz Route4Me

Special Shoutout

Continuous integration hosting for ARM64 builds is provided by MacStadium.

MacStadium


Introduction

Cryptomator offers multi-platform transparent client-side encryption of your files in the cloud.

Download native binaries of Cryptomator on cryptomator.org or clone and build Cryptomator using Maven (instructions below).

Features

  • Works with Dropbox, Google Drive, OneDrive, MEGA, pCloud, ownCloud, Nextcloud and any other cloud storage service which synchronizes with a local directory
  • Open Source means: No backdoors, control is better than trust
  • Client-side: No accounts, no data shared with any online service
  • Totally transparent: Just work on the virtual drive as if it were a USB flash drive
  • AES encryption with 256-bit key length
  • File names get encrypted
  • Folder structure gets obfuscated
  • Use as many vaults in your Dropbox as you want, each having individual passwords
  • More than Five thousand commits for the security of your data!! :tada:

Privacy

  • 256-bit keys (unlimited strength policy bundled with native binaries)
  • Scrypt key derivation
  • Cryptographically secure random numbers for salts, IVs and the masterkey of course
  • Sensitive data is wiped from the heap asap
  • Lightweight: Complexity kills security

Consistency

  • Authenticated encryption is used for file content to recognize changed ciphertext before decryption
  • I/O operations are transactional and atomic, if the filesystems support it
  • Each file contains all information needed for decryption (except for the key of course), no common metadata means no SPOF

Security Architecture

For more information on the security details visit cryptomator.org.

Building

Dependencies

  • JDK 23 (e.g. temurin, zulu)
  • Maven 3

Run Maven

mvn clean install
# or mvn clean install -Pwin
# or mvn clean install -Pmac
# or mvn clean install -Plinux

This will build all the jars and bundle them together with their OS-specific dependencies under target. This can now be used to build native packages.

License

This project is dual-licensed under the GPLv3 for FOSS projects as well as a commercial license for independent software vendors and resellers. If you want to modify this application under different conditions, feel free to contact our support team.