A unified, secure credential bridge and backup suite designed to manage Obsidian native OS-level secrets and deploy client-side encrypted backups.
Welcome to Keychain Bridge. This component unifies secure native OS-level secret management with robust client-side PBKDF2/AES-GCM encrypted snapshot backups, plain-text security leak scanning, and audit logging.
- 🔑 OS Keychain Integration: Read, write, and delete keys stored in your computer's OS keychain via Obsidian's native
SecretStorageAPI (DPAPI on Windows, Keychain on macOS). - 🔐 Client-Side Cryptography: Encrypts your offline credential backups using 256-bit AES-GCM, with a key derived from a custom master passphrase using PBKDF2 (100,000 iterations).
- 📦 Snapshot Recovery: Create secure offline backups, view backup histories, select specific snapshots, and redeploy or delete records.
⚠️ Leak Scanner & Migrator: Discovers plain-text security keys/secrets stored in browserlocalStorageand safely migrates them to nativeSecretStoragewith a single click.- 📜 Audit Trail: Logs keychain operations, unlocks, backups, redeployments, and purges to an active vault history log.
The package exposes the following compiled files:
| File | Description |
|---|---|
| KEYCHAIN BRIDGE.md | Main entry point leaf designed to mount the component in Obsidian. |
| _RESOURCES/DATACORE/_DONE/KEYCHAIN BRIDGE/src/index.jsx | Main bootstrap loader and full-tab viewport manager. |
| _RESOURCES/DATACORE/_DONE/KEYCHAIN BRIDGE/src/App.jsx | Main React component handling the master keyring interface and crypto operations. |
| src/utils/CryptoUtils.js | Cryptographic utility routines (PBKDF2, AES-GCM, Base64). |
| src/utils/StorageUtils.js | Native SecretStorage and fallback key management. |
| src/styles/ViewStyles.jsx | Glassmorphic, dark theme-aware stylesheet parameters. |
| METADATA.md | Packaging manifest outlining indexing, target, and security configurations. |
| CONTRIBUTION.md | Contributor architecture standards and local compilation guidelines. |
| LICENSE.md | MIT open-source license. |
