Versions in this module Expand all Collapse all v0 v0.1.0 Aug 1, 2026 Changes in this version + const DefaultIterations + const DefaultMemory + var ErrAlreadyOpen = errors.New("mrcv: vault is already open") + var ErrBindingMismatch = errors.New("mrcv: device binding does not match") + var ErrDecryptionFailed = errors.New("mrcv: decryption failed") + var ErrInvalidConfig = errors.New("mrcv: invalid config") + var ErrInvalidMode = errors.New("mrcv: invalid mode (must be 'bound' or 'strict')") + var ErrNotOpen = errors.New("mrcv: vault is not open") + func ComputeBinding(sources []BindingSource) []byte + func Decrypt(key, ciphertext, nonce, tag, aad []byte) ([]byte, error) + func DefaultVaultPath() string + func DeriveKey(bindingID, salt []byte, memory, iterations int) ([]byte, error) + func Encrypt(key, plaintext, aad, nonce []byte) (ciphertext, outNonce, tag []byte, err error) + type BindingSource struct + Getter func() (string, error) + Name string + func DefaultBindingSources() []BindingSource + type Config struct + BindingSources []BindingSource + Iterations int + Memory int + Mode Mode + Path string + type Mode string + const ModeBound + const ModeStrict + type OpenResult struct + Created bool + State string + type Vault struct + func New(cfg Config) (*Vault, error) + func (v *Vault) Delete(key string) + func (v *Vault) Get(key string) interface{} + func (v *Vault) Has(key string) bool + func (v *Vault) IsOpen() bool + func (v *Vault) IsUnlocked() bool + func (v *Vault) Keys() []string + func (v *Vault) Lock() + func (v *Vault) Open() (OpenResult, error) + func (v *Vault) Path() string + func (v *Vault) Save() error + func (v *Vault) Set(key string, value interface{}) + func (v *Vault) Unlock() error