It's an unproven library, but the author takes security pretty seriously. There's no unsafe, heavy testing, and fuzzing done for both safety (fuzzing with a sanitizer) and constant-time operation verification to minimize the danger of a timing attack.
Here's an example of the API.
let key = aead::SecretKey::default();
let ciphertext = aead::seal(&key, "msg".as_bytes())?;
let plaintext = aead::open(&key, &ciphertext)?;
It doesn't get much easier than that. Also, notice the lack of a user-facing nonce. Can't screw it up if it isn't there.There are also lots of details that are right in the library. Traits like PartialEq are implemented using constant-time operations so that users don't have to know or remember to use special operations provided by the library for comparison. Methods that return types without these protections (like getting the raw bytes out of a PasswordHash) are helpfully named things like "unprotected_as_encoded".
[1] https://github.com/brycx/orion
[2] https://docs.rs/orion/0.15.5/orion/aead/index.html#example