Documentation
¶
Overview ¶
Package keyring provides a small, dependency-free secret store backed by the operating system's native credential tooling: the `security` keychain CLI on macOS and `secret-tool` (libsecret) on Linux. It stores a single secret string per (service, account). Windows and other platforms report unsupported.
It shells out to the OS tools rather than taking a third-party dependency. On macOS the secret is passed to `security` as an argument, so it is briefly visible to other processes via the process list; on Linux the secret is passed over stdin and is not exposed in the argument vector. Callers that need to keep a secret out of the process list on macOS should prefer the file backend.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrUnsupported = errors.New("keyring: no OS keyring backend on this platform")
ErrUnsupported is returned when no OS keyring backend is available for the current platform.
Functions ¶
This section is empty.
Types ¶
type Keyring ¶
type Keyring struct {
// contains filtered or unexported fields
}
Keyring is an OS-native secret store.
func (*Keyring) Available ¶
Available reports whether this platform has a supported keyring backend. The backing tool (`secret-tool` on Linux) must also be installed; a missing tool surfaces as an error from Get/Set/Delete.
func (*Keyring) Delete ¶
Delete removes the entry under (service, account), reporting whether one existed.