You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add binary option to replace encode (and eventually encode by default for Lockbox.new)
Decode to UTF-8 unless binary: true - utf8 branch
(breaking) Don't encode in Base64 for binary database fields if simple to implement
(breaking) Create new blobs when blobs are attached without encrypted flag
Prefer encrypt_attribute and decrypt_attribute over generate_attribute_ciphertext and decrypt_attribute_ciphertext
Add support for cache stores (Lockbox::Redis and Lockbox::Dalli - cache_stores branch - or Lockbox::Cache::Store for Active Support cache store)
Use Fiddle for Libsodium - libsodium branch
Warn (and eventually throw error) if the master key is passed to Lockbox.new
Require allow_empty option to encrypt empty string without padding
Encrypt empty strings in database fields - model_empty_string branch
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, blob metadata) 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 } over Lockbox.encrypts_action_text_body (more code but less magic)
Add pretty_print method (similar to inspect)
On hold
Support for streaming encryption (probably not needed) - streaming branch
Better support for KMS (store key in data/metadata instead of DB) - kms_encrypt branch
Shrine support - shrine branch - WIP
The text was updated successfully, but these errors were encountered:
Repository owner
locked and limited conversation to collaborators
Jun 12, 2022
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Please create a new issue to discuss any ideas or share your own.
3.0
previous_versions
to inherit top-level values (add warning first) - Unable to rotate encryption for fields having custom key_table #180Ideas
binary
option to replaceencode
(and eventually encode by default forLockbox.new
)binary: true
-utf8
branchbinary
database fields if simple to implementencrypted
flagencrypt_attribute
anddecrypt_attribute
overgenerate_attribute_ciphertext
anddecrypt_attribute_ciphertext
Lockbox::Redis
andLockbox::Dalli
-cache_stores
branch - orLockbox::Cache::Store
for Active Support cache store)libsodium
branchLockbox.new
allow_empty
option to encrypt empty string without paddingmodel_empty_string
branchemail_ciphertext_version
,license_version
, blobmetadata
) or directly in the ciphertext (needs to work for files/binary data)ActiveSupport.on_load(:action_text_rich_text) { ActionText::RichText.encrypts :body }
overLockbox.encrypts_action_text_body
(more code but less magic)pretty_print
method (similar toinspect
)On hold
streaming
branchkms_encrypt
branchshrine
branch - WIPThe text was updated successfully, but these errors were encountered: