#security

macro vitaminc-protected-derive

Derive macros for vitaminc-protected. Part of the VitaminC cryptographic suite.

2 releases

0.1.0-pre4 Nov 21, 2025
0.1.0-pre3 Nov 20, 2025

#1148 in #security

Download history 78/week @ 2025-11-20 28/week @ 2025-11-27 43/week @ 2025-12-04 48/week @ 2025-12-11 16/week @ 2025-12-18 15/week @ 2025-12-25 58/week @ 2026-01-01 120/week @ 2026-01-08 32/week @ 2026-01-15 73/week @ 2026-01-22

283 downloads per month
Used in 13 crates (via vitaminc-protected)

MIT license

22KB
466 lines

Vitamin C

Vitamin C is like vitamins for your Rust code, especially code dealing with cryptography and managing sensitive data. It is actually a suite of crates that you can use individually or via this top-level crate via features.

Vitamin C is in active development and aims to address the following:

  • Misuse Resistance: it aims to make it difficult to write code that is insecure.

  • Verified: be verified using formal methods and testing and selects dependencies that are verified.

  • Vetted: be vetted by security experts and selects dependencies that are vetted.

  • Minimal: be minimal and only include what is necessary.

  • Consistent: have a consistent interface with everything in one place.

  • Compatible: support embedded (no_std) and WASM targets.

  • Fast: speed and security can be friends!

Usage

You can install the top-level vitaminc crate and enable specific features:

cargo add vitaminc --features protected,random

Or, if you only need a specific capability, you can install a crate directly:

cargo add vitaminc-protected

Testing

Prerequisites:

To run the tests:

  • Start localstack (typically done by running localstack start from the shell)
  • cargo test

Features and sub-crates

Feature Source Crates.io Documentation
aead vitaminc-aead crates.io docs.rs
async-traits vitaminc-async-traits crates.io docs.rs
encrypt vitaminc-encrypt crates.io docs.rs
kms vitaminc-kms crates.io docs.rs
password vitaminc-password crates.io docs.rs
permutation vitaminc-permutation crates.io docs.rs
protected vitaminc-protected crates.io docs.rs
random vitaminc-random crates.io docs.rs
traits vitaminc-traits crates.io docs.rs

Dependencies

~130–520KB
~12K SLoC