MCPcopy Index your code
hub / github.com/cryptomator/cryptomator

github.com/cryptomator/cryptomator @1.19.3 sqlite

repository ↗ · DeepWiki ↗ · release 1.19.3 ↗
3,001 symbols 8,563 edges 415 files 144 documented · 5% 3 cross-repo links
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 25 (e.g. temurin, zulu)

Run Maven

./mvnw clean install

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.

Extension points exported contracts — how you extend this code

VoidCallable (Interface)
(no doc) [18 implementers]
src/main/java/org/cryptomator/ui/common/Tasks.java
FxController (Interface)
(no doc) [87 implementers]
src/main/java/org/cryptomator/ui/common/FxController.java
SupplierThrowingException (Interface)
(no doc) [7 implementers]
src/main/java/org/cryptomator/common/SupplierThrowingException.java
LocationPresetsProvider (Interface)
(no doc) [13 implementers]
src/main/java/org/cryptomator/common/locationpresets/LocationPresetsProvider.java
SSLContextProvider (Interface)
(no doc) [4 implementers]
src/main/java/org/cryptomator/networking/SSLContextProvider.java

Core symbols most depended-on inside this repo

get
called by 597
src/main/java/org/cryptomator/common/SupplierThrowingException.java
set
called by 214
src/main/java/org/cryptomator/common/vaults/VaultState.java
getValue
called by 123
src/main/java/org/cryptomator/ui/common/Animations.java
of
called by 123
src/main/java/org/cryptomator/common/ErrorCode.java
resolve
called by 97
src/main/java/org/cryptomator/ui/keyloading/hub/HubConfig.java
addListener
called by 84
src/main/java/org/cryptomator/ui/fxapp/JfxUiAppearanceProvider.java
close
called by 76
src/main/java/org/cryptomator/ipc/IpcCommunicator.java
add
called by 74
src/main/java/org/cryptomator/common/vaults/VaultListManager.java

Shape

Method 2,517
Class 386
Interface 78
Enum 20

Languages

Java100%

Modules by API surface

src/main/java/org/cryptomator/common/vaults/Vault.java49 symbols
src/main/java/org/cryptomator/ui/health/CheckDetailController.java41 symbols
src/main/java/org/cryptomator/common/PropertiesDecorator.java39 symbols
src/main/java/org/cryptomator/ui/vaultoptions/MountOptionsController.java37 symbols
src/main/java/org/cryptomator/common/vaults/VaultStats.java37 symbols
src/main/java/org/cryptomator/ui/keyloading/hub/HubKeyLoadingModule.java36 symbols
src/main/java/org/cryptomator/ui/eventview/EventListCellController.java36 symbols
src/main/java/org/cryptomator/ui/stats/VaultStatisticsController.java34 symbols
src/main/java/org/cryptomator/ui/preferences/UpdatesPreferencesController.java30 symbols
src/main/java/org/cryptomator/ui/keyloading/hub/ReceiveKeyController.java30 symbols
src/main/java/org/cryptomator/ui/error/ErrorController.java28 symbols
src/main/java/org/cryptomator/common/Environment.java27 symbols

Dependencies from manifests, versioned

ch.qos.logback:logback-classic
ch.qos.logback:logback-core
com.fasterxml.jackson.datatype:jackson-datatype-jsr310
com.google.dagger:dagger
com.google.jimfs:jimfs1.3.1 · 1×
com.nimbusds:nimbus-jose-jwt
com.nulab-inc:zxcvbn
com.tobiasdiez:easybind
io.github.coffeelibs:tiny-oauth2-client

For agents

$ claude mcp add cryptomator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact