I think at the moment you can either:
- Encrypt the data before it reaches the IC so that the key isn’t at risk of being compromised (e.g. by a node provider)
- IC Vault does this in the browser
- Encrypt the data in a canister, with the above caveat about exposing the keys
- Perhaps using something like
make_rng
fromic-auth-tokens
along with a pure Rust cryptography crate
- Perhaps using something like
- Wait for Threshold Key Derivation - Privacy on the IC