Core types, traits, and services for the evault workspace.
evault-core is intentionally backend-agnostic. It defines:
- The domain model: variables, projects, profiles, audit entries.
- The trait contracts that every IO concern must implement, such as
MetadataStore,SecretStore,AuditSink,ManifestIo,Materializer,CodeScanner,ProcessRunner,ClockandIdGenerator. - A few value types for handling secrets safely
(see [
crypto::SecretString] and [crypto::MasterKey]).
Concrete implementations live in sibling crates such as
evault-store-sqlcipher, evault-store-keyring, evault-store-memory,
evault-manifest, evault-runner, evault-materializer, and
evault-scanner-regex.
Quick tour
use ;
let v = new;
assert_eq!;
assert_eq!;