# Decky Vaultwarden A Decky Loader plugin for accessing Bitwarden and Vaultwarden passwords directly from your Steam Deck. ## Features - **Login with Email + Password** or **API Key** (supports self-hosted Vaultwarden) - **Browse vault** organized by folders with search - **Copy passwords, usernames, and TOTP codes** to clipboard (auto-clears after 60 seconds) - **Supports multiple item types** - Logins, Secure Notes, Credit Cards, and Identities - **View custom fields and notes** for each vault item - **PIN unlock** - set up a PIN to avoid entering your master password every time - **2FA support** - handles two-factor authentication during login - **Auto-lock** - vault locks when Steam Deck goes to sleep (configurable) ## Installation 1. Install [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) on your Steam Deck 2. Download the latest release ZIP from [Releases](https://git.justzoe101.nl/JustZoe101/decky-vaultwarden/releases) 3. In Decky Loader settings, go to Developer > Install Plugin from ZIP File 4. Select the downloaded ZIP file ## Setup ### First Login 1. Open the Decky quick access menu and find the Vaultwarden plugin 2. Enter your server URL: - For Bitwarden cloud: `https://api.bitwarden.com` - For self-hosted: `https://your-vaultwarden-domain.com` 3. Enter your email and master password 4. If 2FA is enabled, enter your authenticator code ### Setting Up PIN (Recommended) After logging in, click "Set Up PIN" to enable quick unlock: - Enter a 4+ character PIN - The PIN protects your encryption key locally - After setup, you only need the PIN to unlock (not the full master password) - After 5 failed PIN attempts, you'll need to login with master password again ### API Key Login For automation or if you prefer API keys: 1. Get your API key from Vaultwarden Settings > Security > Keys > View API Key 2. Toggle "Use API Key" in the plugin 3. Enter your Client ID, Client Secret, and Email 4. You'll still need your master password once to decrypt the vault ## Security - All decryption happens locally on your device - Master password is never stored - PIN is used to locally encrypt your vault key (not transmitted) - Clipboard is cleared after 60 seconds - Vault locks on Steam Deck sleep (configurable) - 5 failed PIN attempts triggers logout ## Building from Source ### Prerequisites - Node.js v16.14+ and npm - Python 3.10+ with pip ### Build ```bash # Install frontend dependencies npm install # Build frontend and create plugin ZIP npm run build # The plugin ZIP will be in the out/ directory # Install via Decky: Settings > Developer > Install Plugin from ZIP File ``` ## Keyboard Shortcuts - **Ctrl+Shift+L**: Lock vault ## License MIT License - see [LICENSE](LICENSE) for details.