Library Usage
Use dotsec programmatically — parse, validate, and generate code from .env / .sec / dotsec.schema files.
The libraries handle parsing and validation only. Encryption and decryption stay in the CLI — no key material ever crosses the library boundary. This is deliberate; see the security model.
Start here: typed env vars, zero dependencies
The highest-leverage feature doesn't even need the library at runtime — generate validation code from your schema and ship it:
The generated file is the validator — no runtime dependency on dotsec at all. See dotsec schema export.
Node.js — @dotsec/core
Native bindings (NAPI, prebuilt per platform — no Rust toolchain needed):
Parse, validate, convert
Schema operations
Header helpers
Rust — dotsec-core
Note:
dotsec-coreis not published to crates.io (the obvious crate names are owned by unrelated projects). Use a git dependency: