Skip to main content

Module secrets

Module secrets 

Expand description

App-scoped secrets: tilo_secrets under the toolkit’s module path.

Modules§

conformance
The contract every SecretStore keeps, as checks a backend’s tests (and a host’s own backend’s tests) run. They write, overwrite and delete one key, tilo-conformance, of the store they are given.

Structs§

ItemSecret
The secret of one document item in an app’s SecretStore; see SecretStore::item.
PutOptions
Options for SecretStore::put.
Secret
Secret bytes: wiped from memory on drop and never printed by Debug.
SecretStore
One app’s secrets.
SecretsScope
Keeps a thread’s stores in one backend until it is dropped: see scope_thread.

Enums§

Availability
Whether a feature can be used on a target.
Feature
One capability of this crate, for availability and Unsupported.
Protection
How the stored secrets are protected.
SecretError
Why a secret could not be read, stored or deleted.

Constants§

SECRETS_DIR_ENV
Names the directory of a file-backed store that replaces the system store for every process given it.

Traits§

SecretBackend
A synchronous secret store for one process: the desktop backends, SecretStore::memory, or a host’s own. Every call names the app.

Functions§

availability
Whether feature can be used on this target.
available
Whether feature can be used on this target without a prompt.
items_outlive_rebuilds
Whether what this build puts in the system store stays readable by later builds of the same program. On macOS only a Developer ID signature does (see the macos backend): an ad-hoc or dev build’s Keychain items belong to that exact build, and a later one fails on them rather than ask. Always true elsewhere.
keep_in_memory_for_process
From now on, every SecretStore::for_app in this process shares one in-memory store and never reaches the platform’s (which may prompt, and holds the user’s real secrets). For harnesses that mount real apps headless; stores created earlier keep their backend.
memory_backend
A fresh store that keeps secrets in this process: for scope_thread, or for a host whose apps’ stores (SecretStore::with_backend) share one process-lifetime map.
scope_thread
From now until the guard drops, every SecretStore::for_app this thread creates keeps its secrets in backend, never the platform’s store. A host gives a participant it runs on its own thread (an agent) secrets apart from the host user’s this way. A store keeps the backend it was created with, wherever it is used later.
unscoped
Run work with this thread’s scope_thread store lifted, then restore it.

Type Aliases§

Unsupported
A feature this target, or this particular host, cannot provide.