Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

Secrets Management

PRX provides secure storage for sensitive data like API keys, tokens, and credentials. Secrets are encrypted at rest and accessed through a controlled API.

Overview

The secrets system:

  • Encrypts secrets at rest using AES-256-GCM
  • Derives encryption keys from a master password or system keyring
  • Provides environment variable injection for tool execution
  • Supports secret rotation and expiration

Storage

Secrets are stored in an encrypted file at ~/.local/share/openprx/secrets.enc. The encryption key is derived from:

  1. System keyring (preferred, when available)
  2. Master password (interactive prompt)
  3. Environment variable PRX_MASTER_KEY (for automation)

Configuration

toml
[security.secrets]
store_path = "~/.local/share/openprx/secrets.enc"
key_derivation = "argon2id"
auto_rotate_days = 90

CLI Commands

bash
prx secret set OPENAI_API_KEY      # Set a secret (prompts for value)
prx secret get OPENAI_API_KEY      # Retrieve a secret
prx secret list                    # List secret names (not values)
prx secret delete OPENAI_API_KEY   # Delete a secret
prx secret rotate                  # Rotate the master key

Released under the Apache-2.0 License.