amethystsoft/keyringaccess — explained in plain English
Analysis updated 2026-05-18
Store API tokens or passwords securely in a Swift app on Linux.
Avoid bundling C development headers for secret storage in build pipelines.
Build a Linux desktop or CLI app that reads and writes credentials safely.
Batch multiple secret operations together to reduce DBus handshake overhead.
| amethystsoft/keyringaccess | kageroumado/refrax-browser | oil-oil/notchnotes | |
|---|---|---|---|
| Stars | 12 | 12 | 12 |
| Language | Swift | Swift | Swift |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
No system C library dependencies needed, just add the Swift package.
KeyringAccess is a Swift library for Linux that lets your application securely store and retrieve secrets, like API tokens, passwords, or credentials, using the system's built in secret storage, such as GNOME Keyring or KWallet. The key problem it solves is that most Swift libraries for this task require C development headers on every build machine, which is awkward in automated environments. KeyringAccess has zero system dependencies, it talks directly to the underlying system service using a communication protocol called DBus, so no extra packages need to be installed. The library comes in two layers. KeyringAccess is the simplified, high level API intended for most apps, you create a keyring object tied to a server or service, then store and retrieve secrets using subscripts or method calls, with support for Swift's async and await style for non blocking operations. SecretService is the lower level layer for developers who need fine grained control over DBus communication or custom storage collection management. Collection management is handled automatically. If the system has no default keyring configured, the library looks for an existing one and promotes it, or creates a new one. If the keyring is locked, it handles authentication prompts without requiring extra code from the caller. You would use this when building a Swift command line tool or desktop application on Linux that needs to store credentials securely without bundling C libraries. The API works like a dictionary, set a value by key, read it back, delete it by setting it to nil, or run multiple operations in a batch to reduce repeated handshake overhead.
A Swift library that stores app secrets on Linux using the system keyring, with no C library dependencies required.
Mainly Swift. The stack also includes Swift, DBus, Linux.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.