Skip to main content

1password

@swamp/1passwordv2026.10.23.1· AGPL-3.0-or-later· 2d agoVAULTS
01README

Read, write, delete, and annotate secrets stored in 1Password using the op CLI. Supports swamp vault delete for removing secrets and swamp vault annotate and swamp vault inspect for attaching metadata (URL, notes, labels) to secrets. Emits OpenTelemetry spans for vault operations and per-CLI-invocation child spans so failures and latency are attributable in traces when a TracerProvider is configured. Reads retry briefly by default when an item another process just created is not visible yet (read_retry_attempts, read_retry_seconds).

Prerequisites

  • 1Password CLI installed and in PATH
  • Authenticated via one of:
    • Service account: export OP_SERVICE_ACCOUNT_TOKEN=<token>, or set op_service_account_token_file in the vault config to read the token from a file and pass it only to the op child process
    • Desktop app: enable CLI integration in 1Password settings
    • Connect Server: export OP_CONNECT_HOST=<url> and export OP_CONNECT_TOKEN=<token>

Usage

swamp vault create @swamp/1password my-1password \
  --config '{"op_vault": "Private"}' --json

swamp vault get my-1password my-api-key --json
swamp vault put my-1password my-api-key "s3cr3t" --json
swamp vault list-keys my-1password --json

Secret Key Format

  • item-name — reads the password field of the named item
  • item-name/field — reads a specific field
  • op://vault/item/field — full 1Password URI (passthrough)
02Vaults1
1Passwordconfigurable
@swamp/1passwordonepassword.ts

1Password vault provider. Uses the 1Password CLI (op) for secret operations.

Config Fields

FieldTypeDescription
op_vaultstringThe 1Password vault to use
op_account?stringAccount shorthand or UUID
op_service_account_token_file?stringAbsolute path to a file containing a 1Password service account token
read_retry_attempts?numberTotal op read attempts when an item is not visible yet, e.g. just
read_retry_seconds?numberWindow in seconds, from the first read, during which a read of an
03Previous Versions19
2026.10.16.1AGPL-3.0-or-later
2026.10.16.0AGPL-3.0-or-later(was none)

Modified 1 vaults

2026.10.13.1
2026.10.06.0

Modified 1 vaults

2026.09.10.0
2026.08.16.1
2026.08.05.1
2026.07.26.1
2026.06.24.1
2026.06.04.2
2026.06.04.1
2026.05.23.2
2026.05.23.1
2026.04.22.2
2026.03.31.1
2026.03.18.5
2026.03.18.4
2026.03.18.3
2026.03.18.2
04Stats
B
87 / 100
Downloads
206,395
Archive size
29.1 KB
Verified by Swamp
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented0/1missing
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Docs keep secrets in a vault0/1missing
    • files/README.md--Line 42 passes the secret's value to `swamp vault put` on the command line, where shell history keeps it. Keep secrets in a vault: store them with `swamp vault put <vault> <key>`, which prompts for the value, and reference them as `${{ vault.get(<vault>, <key>) }}`.
    • manifest.yaml--The description passes the secret's value to `swamp vault put` on the command line, where shell history keeps it. Keep secrets in a vault: store them with `swamp vault put <vault> <key>`, which prompts for the value, and reference them as `${{ vault.get(<vault>, <key>) }}`.

    Fix or accept each secret-unsafe-docs warning: the README, the manifest description and describe strings should store secrets with `swamp vault put <vault> <key>` (it prompts for the value) and pass them as `${{ vault.get(<vault>, <key>) }}`.

  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
05Platforms
06Labels