de.adorsys:datasafe-storage-impl-fs

Datasafe


Keywords
cloud-storage, cryptographic-message-system, cryptography, data-encryption, document-storage, encrypted-store, file-sharing, graal-native, java, library, privacy, s3-encryption, security, vault
License
AGPL-3.0

Documentation

Build Status codecov Maintainability

Secure, Encrypted and Versioned Data Storage Library

Overview

Datasafe is a robust library tailored for developers and enterprises, offering encrypted and versioned data storage. It enhances the security of data-sensitive applications, making it ideal for mission-critical usage.

Key Features

  • Enhanced Security: Each user gets unique key encryption keys, reducing the risk of widespread data breaches.
  • Full Confidentiality: Offers full or partial file path encryption.
  • Ransomware Protection: Versioned storage safeguards against ransomware attacks.
  • Secure File Exchange: Features asynchronous inboxes for safe user-to-user file transfers.
  • Zero Trust Environments: Ideal as a data encryption layer in critical data processing backends.

Technical Specifications

Datasafe uses AES-GCM (and Chacha-Poly for large files) for encryption, with CMS-envelopes (RFC 5652) for encrypted content wrapping. The library's flexible design allows seamless integration and customization. For more details, refer to our Security Whitepaper.

Highlights

  • Configurability: Dagger2 for dependency injection and modular design.
  • Storage Compatibility: Tested with Amazon S3, Minio, CEPH, and local filesystems.
  • User Privacy: Encrypts both the document and its path in each user's private space.
  • Versioning Support: Provides application layer versioning for systems lacking native versioning support.

Getting Started

Building the Project

Without tests:

mvn clean install -DskipTests=true

Full Build:

mvn clean install

Adding Datasafe to Your Project

Include Datasafe in your Maven project:

<!-- Datasafe Business Module -->
<dependency>
    <groupId>de.adorsys</groupId>
    <artifactId>datasafe-business</artifactId>
    <version>{datasafe.version}</version>
</dependency>

<!-- S3 Storage Provider -->
<dependency>
    <groupId>de.adorsys</groupId>
    <artifactId>datasafe-storage-impl-s3</artifactId>
    <version>{datasafe.version}</version>
</dependency>

<!-- Filesystem Storage Provider for Tests-->
<dependency>
    <groupId>de.adorsys</groupId>
    <artifactId>datasafe-storage-impl-fs</artifactId>
    <version>{datasafe.version}</version>
    <scope>test</scope>
</dependency>

In-depth Insights

Additional Resources

Contributing to Datasafe

Dual-Licensing

Datasafe is available under two licenses: