Share OAuth Client Secrets Securely
Transmit OAuth client secrets and service account credentials through encrypted links that self-destruct after viewing.
The problem
OAuth client secrets and service credentials control access to third-party APIs, payment processors, and external integrations. These secrets shared in Slack threads or email chains persist in searchable logs, often across multiple teams. A leaked client secret can allow an attacker to impersonate your application and access user data at scale.
How Vaulted helps
Vaulted encrypts your client secrets in the browser with AES-256-GCM and produces a self-destructing link. The zero-knowledge architecture ensures the server never has access to the plaintext credentials. The link expires after viewing, preventing client secrets from lingering in message archives.
How to do it
- Paste your OAuth client secret or service credentials into Vaulted
- Set a view limit appropriate for the number of developers who need it
- Share the encrypted link with the team configuring the integration
- They copy the credentials into their application config, and the link expires
Share client secrets from the command line
Use the Vaulted CLI to share OAuth client secrets without opening a browser: npx vaulted-cli "client_id:client_secret" --views 1 --expires 1h. Same AES-256-GCM encryption as the web app. Install from npm: npm install -g vaulted-cli.
Share client secrets in GitHub Actions
Use the Vaulted GitHub Action to share service credentials in CI/CD: uses: vaulted-fyi/share-secret@v1 with your client secret as the input. End-to-end encrypted, self-destructing links — no plaintext in workflow logs. Available on GitHub Marketplace.