Skip to content

v1.0.0

Choose a tag to compare

@codebyjass codebyjass released this 25 Apr 11:48
· 15 commits to main since this release
a6addf5

ActiveCipherStorage v1.0.0

Initial public release of ActiveCipherStorage.

Highlights

  • Transparent AES-256-GCM envelope encryption for Rails Active Storage.
  • Direct S3 encrypted upload, download, multipart upload, and streaming download support.
  • Backend-managed frontend chunk upload support using encrypted S3 multipart uploads.
  • Pluggable key providers for environment-variable master keys, AWS KMS, and custom connectors.
  • Large file support with chunked encryption and bounded-memory streaming decryption.
  • Legacy plaintext Active Storage fallback for safe migration of existing buckets.
  • Header-only key rotation for re-wrapping encrypted data keys without re-encrypting file bodies.
  • Rails-compatible Active Storage service adapter registration.

Compatibility

  • Ruby 3.2+
  • Rails / Active Storage 7.0+
  • Optional AWS S3 SDK integration
  • Optional AWS KMS SDK integration

Security Notes

  • Uses per-file data encryption keys.
  • Wraps data encryption keys through the configured provider.
  • Uses AES-256-GCM authenticated encryption.
  • Detects tampering before returning plaintext.
  • Disables direct browser uploads because they bypass server-side encryption.

CI / Project Setup

  • GitHub Actions CI for Ruby 3.2, 3.3, and 3.4.
  • Gem build validation in CI.
  • RuboCop linting in CI.
  • Trusted Publishing support for RubyGems releases.