lockbox
lockbox copied to clipboard
Ideas
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) - #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