-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Description
Please create a new issue to discuss any ideas or share your own.
3.0
- Change
previous_versionsto inherit top-level values (add warning first) - Unable to rotate encryption for fields having custom key_table #180
Ideas
- Add
binaryoption to replaceencode(and eventually encode by default forLockbox.new) - Decode to UTF-8 unless
binary: true-utf8branch - (breaking) Don't encode in Base64 for
binarydatabase fields if simple to implement - (breaking) Create new blobs when blobs are attached without
encryptedflag - Prefer
encrypt_attributeanddecrypt_attributeovergenerate_attribute_ciphertextanddecrypt_attribute_ciphertext - Add support for cache stores (
Lockbox::RedisandLockbox::Dalli-cache_storesbranch - orLockbox::Cache::Storefor Active Support cache store) - Use Fiddle for Libsodium -
libsodiumbranch - Warn (and eventually throw error) if the master key is passed to
Lockbox.new - Require
allow_emptyoption to encrypt empty string without padding - Encrypt empty strings in database fields -
model_empty_stringbranch - Add support for encrypted Active Storage service (can wrap any other service) - more useful in 6.1+ since multiple services are supported (blocked since encryption needs to happen before checksum is computed)
- Store the encryption version to make it easy to see which data has been rotated and avoid trying multiple keys. Could be done in an optional new field (
email_ciphertext_version,license_version, blobmetadata) or directly in the ciphertext (needs to work for files/binary data) - Default padding for encoded strings to reduce data leakage (cons: less standard, slightly more space)
- Prefer
ActiveSupport.on_load(:action_text_rich_text) { ActionText::RichText.encrypts :body }overLockbox.encrypts_action_text_body(more code but less magic) - Add
pretty_printmethod (similar toinspect)
On hold
- Support for streaming encryption (probably not needed) -
streamingbranch - Better support for KMS (store key in data/metadata instead of DB) -
kms_encryptbranch - Shrine support -
shrinebranch - WIP
Metadata
Metadata
Assignees
Labels
No labels