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.
owner_migration
Explicit owner migration reads from a recognized native application keychain. Ordinary SecretStore remains app-scoped. This API neither writes nor deletes foreign items and must be called only after the owner selects this account.

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§

arm_device_proof
Arm this process with the device secret it just read. Only the key derived for proofs is kept.
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.
prove_device_caller
prove_blocking for an async connection, such as the one the desktop portal serves on.
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.