Skip to content

Passwordmanager (A2A-SIN-Passwordmanager)

The A2A-SIN-Passwordmanager is the central secrets authority for the OpenSIN ecosystem. Every agent, extension, and service retrieves credentials through it.

Architecture

┌──────────────────────┐
│   A2A Agent / CLI    │
│   "spm run-action"   │
└──────────┬───────────┘
           │ JSON action

┌──────────────────────┐
│  SIN-Passwordmanager │
│  (Node.js TypeScript)│
│                      │
│  Backends:           │
│  ├── gcloud ────────→│ Google Cloud Secret Manager
│  ├── keychain ──────→│ macOS Keychain
│  └── file ──────────→│ AES-256-GCM encrypted file
└──────────────────────┘

Backend: Google Cloud Secrets (Default)

PropertyValue
Secret namingspm-{lowercase_name} (dots replaced with dashes)
EncryptionAES-256 at rest (Google-managed)
ReplicationAutomatic multi-region
Free tier6 active secret versions, 10,000 access ops/month
AuthService account with roles/secretmanager.admin

Actions Reference

ActionParametersDescription
sin.passwordmanager.healthHealth check (backend, state, sample surface)
sin.passwordmanager.secret.putname, value, description?, tags?Store or update a secret
sin.passwordmanager.secret.getname, reveal?Retrieve a secret (masked or revealed)
sin.passwordmanager.secret.deletenameDelete a secret
sin.passwordmanager.secret.listList all secrets (metadata only)
sin.passwordmanager.target.bindname, targetBind a sync target to a secret
sin.passwordmanager.target.listname?List sync targets
sin.passwordmanager.secret.syncname, targetIds?Sync secret to bound targets
sin.passwordmanager.secret.sync_allSync all secrets to all targets

Sync Targets

The Passwordmanager can fan out secrets to external systems:

Target KindDescription
huggingface_space_secretSets a secret on a Hugging Face Space
github_actions_repoSets a GitHub Actions secret on a repo

CLI

bash
export SPM_SECRET_BACKEND=gcloud

spm run-action '{"action":"sin.passwordmanager.secret.put","name":"MY_KEY","value":"sk-...","description":"My API key","tags":["auth"]}'

spm run-action '{"action":"sin.passwordmanager.secret.get","name":"MY_KEY","reveal":true}'

Setup

See Onboarding Guide for automated setup, or the OpenSIN-onboarding repo for manual installation.

Source Code

OpenSIN-backend/a2a/team-infrastructure/A2A-SIN-Passwordmanager