A powerful Raycast extension for managing your Passbolt passwords directly from your macOS menu bar.
Quickly search and access your Passbolt vault directly from Raycast. View password details, copy credentials, and access TOTP codes with keyboard shortcuts.
Search supports legacy resources and Passbolt v5 encrypted metadata.
Names, usernames, notes, all URLs, and tags are decrypted locally before searching. Search terms match in any
order and across fields: pfeiffer office finds the entry whose email contains "pfeiffer" and whose name
contains "office", and every term must match. Personal metadata uses your private key;
shared metadata uses the metadata key encrypted for your account. Shared key envelopes must be signed by your account,
match the configured Passbolt instance, and have matching fingerprints. Keys are cached only in memory for the command's lifetime.
Entries that cannot be decrypted remain visible with an error indicator, and a toast reports the failure.
Create new password entries in your Passbolt vault with an intuitive form interface. Supports:
Generate secure passwords with customizable options:
Dedicated view for managing Time-based One-Time Passwords (TOTP):
OCI also finds Oracle accountsWebsite matching is optional in the Authenticator command's preferences. It uses an unambiguous active tab from the
Raycast Browser Extension, or a URL supplied in command launch context.
Without browser access, all accounts remain searchable. Matching uses saved URL hostnames and the Public Suffix List,
including private suffixes, rather than substring matching. Use Refresh Accounts (βR on macOS, Ctrl+R on Windows)
to reload vault changes. β΅ copies the selected TOTP code to the clipboard and ββ΅ (Ctrl+β΅ on Windows) pastes it
into the previous app β both are shown in the action bar at the bottom right.
Clone this repository or install from Raycast Store (when published)
Open Raycast preferences β Extensions β Passbolt
Configure the following settings:
https://passbolt.example.com)If your Passbolt instance requires Multi-Factor Authentication (MFA):
JBSWY3DPEHPK3PXP)This extension uses GPGAuth (PGP-based authentication) to securely connect to your Passbolt instance. The authentication flow:
All secrets are encrypted using OpenPGP before transmission and decrypted locally using your private key.
The extension uses the otpauth library to generate TOTP codes. The implementation follows RFC 6238 standards:
import { TOTP } from "otpauth";
private generateTOTP(): string {
if (!this.totpSecret) {
throw new Error("TOTP secret not configured");
}
const totp = new TOTP({
secret: this.totpSecret,
digits: 6,
period: 30,
});
return totp.generate();
}
The Authenticator reads resource-type schemas to skip password-only entries, reuses the encrypted secrets returned by the resources endpoint, and decrypts only TOTP candidates. Unknown custom resource types are also inspected so their accounts are not silently omitted. The complete secret object is parsed, including entries that contain both a password and TOTP. Configurations use this format:
{
"password": "your-password",
"totp": {
"secret_key": "BASE32ENCODEDSECRET"
}
}
For each resource with TOTP configured, the extension:
This extension integrates with the Passbolt API v5.0.0 using the following endpoints:
/auth/verify.json, /auth/login.json/mfa/verify/totp.json/resources.json/secrets/resource/{id}.json/resource-types.jsonAll API requests include proper session management, cookie handling, and CSRF token support.
# Install dependencies
npm install
# Development mode with hot reload
npm run dev
# Build for production
npm run build
# Lint code
npm run lint
# Fix linting issues
npm run fix-lint
passbolt/
βββ src/
β βββ authenticator.tsx # TOTP authenticator view
β βββ create.tsx # Create password form
β βββ details.tsx # Password details view
β βββ generate-password.tsx # Interactive password generator
β βββ generate-password-quick.tsx # Quick password generator
β βββ search.tsx # Search passwords view
β βββ lib/
β β βββ passbolt.ts # Passbolt API client
β βββ types/
β β βββ index.ts # TypeScript type definitions
β βββ utils/
β βββ password-generator.ts # Password generation utilities
βββ assets/
β βββ extension-icon.png # Extension icon
βββ package.json # Dependencies and commands
βββ README.md # This file
This usually means you're already authenticated. Try logging out from Passbolt web interface and retry.
Add your TOTP secret in the extension preferences. See Getting Your TOTP Secret.
Verify that:
-----BEGIN PGP PRIVATE KEY BLOCK-----)Make sure your Passbolt resources have TOTP configured in the secret data with the structure:
{
"totp": {
"secret_key": "YOUR_BASE32_SECRET"
}
}
Contributions are welcome! Please feel free to submit a Pull Request.
MIT
Built with: