cryptomator
Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.
Top Related Projects
the Crypto Undertaker
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
KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Bitwarden client apps (web, browser extension, desktop, and cli).
☁️ 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:
- Download and install Cryptomator from the official website: https://cryptomator.org/downloads/
- Launch Cryptomator and click "Create new vault"
- Choose a name and location for your vault
- Set a strong password for your vault
- Add files to your vault by dragging and dropping them into the Cryptomator window
- 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
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.
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.
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.
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.
☁️ 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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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:
- One-time or recurring donation via Cryptomator's website.
- Become a sponsor via Cryptomator's sponsors website.
Gold Sponsors
Become our Gold Sponsor and showcase your brand to a targeted audience! Please contact us if you are interested.
Silver Sponsors
Special Shoutout
Continuous integration hosting for ARM64 builds is provided by 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.
Top Related Projects
the Crypto Undertaker
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
KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
Bitwarden client apps (web, browser extension, desktop, and cli).
☁️ Nextcloud server, a safe home for all your data
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot