Class KeyringOptions

Namespace
Kuestenlogik.Bowire.Keyring
Assembly
Kuestenlogik.Bowire.Keyring.dll

Configuration knobs for the optional Kuestenlogik.Bowire.Keyring package (#208 Phase 5). Bound from the Bowire:Keyring configuration section; the CLI's --keyring / --no-keyring flags feed the same Enabled key via the in-memory configuration overlay.

public sealed class KeyringOptions
Inheritance
KeyringOptions
Inherited Members

Remarks

Opt-in by construction, inert until referenced. The package only exists if the host added Kuestenlogik.Bowire.Keyring as a PackageReference (the standalone CLI bundles it; embedded hosts pick it up explicitly). Even when present and Enabled, the OS credential store is only ever read when a template literally references a {{keyring.service/account}} placeholder — the resolver never enumerates or scans the store. That per-use trigger is the effective opt-in, the same shape as the AI package's ai.* vars.

Local-first, zero egress. The resolver only ever talks to the local platform credential store (Windows Credential Manager, macOS Keychain, libsecret). Nothing leaves the machine; there is no Küstenlogik-hosted broker in this path. Resolved values are scrubbed to *** at every export boundary (workspace save, collection share, HAR/curl export) exactly like {{secret.*}} vars.

Constructors

KeyringOptions()

public KeyringOptions()

Properties

Backend

Override the backend selection. "auto" (default) picks the native store for the running OS — wincred on Windows, keychain on macOS, secret-tool on Linux. An explicit value forces one backend, which is mainly useful for tests and for Linux hosts that expose a non-default libsecret collection. Unknown values fall back to the auto pick. Compared case-insensitively.

public string Backend { get; set; }

Property Value

string

Enabled

Master switch. When false, the /api/vars/keyring endpoint short-circuits to an empty, enabled:false response and the CLI resolver leaves {{keyring.*}} placeholders intact, so an operator on a locked-down machine can hard-disable the store read without uninstalling the package. Defaults true: the read is already gated behind an explicit per-reference trigger, so the useful default is "available".

public bool Enabled { get; set; }

Property Value

bool