Migration Guide
This guide covers migrating from deprecated patterns to the new zero-plaintext credential architecture.1. Migrate from IDW_PASSPHRASE to Keychain / Session Tokens
Local Development — Use Keychain
TheIDW_PASSPHRASE environment variable is deprecated. Replace it with OS keychain storage:
idw command. Remove any IDW_PASSPHRASE references from .bashrc, .zshrc, .env, or similar files.
CI / Headless — Use Session Tokens
For CI pipelines, replaceIDW_PASSPHRASE with a session token:
2. Migrate Provider Admin Keys to Vault Passports
Provider admin credentials (AWS keys, OpenAI admin keys, etc.) should no longer live in plaintext environment variables. Store them as encryptedprivilege passports in the vault.
Option A: Interactive Bootstrap
The fastest path — the wizard prompts for each provider’s admin credentials:- Visa type:
privilege - Tags:
admin,admin:<provider>,provisioning
Option B: Manual Import
Import admin keys individually:The
--stdin flag replaces the removed --value flag. Credentials are read from stdin in non-interactive mode.Update Provisioning Code
Once admin passports are in the vault,provisionAndCreatePassport() resolves auth automatically:
3. Update Python Integration Code
WisperaToolCredentials
WisperaToolCredentials no longer injects credentials into os.environ. It now provides a get(key) method and clears credentials on context manager exit.
LangChain and CrewAI Secret Managers
Thepassphrase parameter is deprecated in WisperaLangChainSecretManager and WisperaCrewAISecretManager. The vault passphrase is now resolved through the standard auth chain (keychain / session token).
4. Update idw create Commands
The --value <val> flag has been removed. Use --stdin instead:
5. Handle Post-Import Warnings
Allidw import paths now warn users to securely delete source files that still contain plaintext credentials. After importing:
Migration Checklist
| Step | Action | Verify |
|---|---|---|
| 1 | Remove IDW_PASSPHRASE from shell profiles | idw auth status shows os-keychain |
| 2 | Run idw auth login | Passphrase stored in keychain |
| 3 | Create session tokens for CI | idw auth token list shows tokens |
| 4 | Run idw auth bootstrap | Admin passports created with privilege visa |
| 5 | Remove admin keys from env vars | env | grep -i admin returns nothing |
| 6 | Update provisioning code | Remove explicit auth parameter |
| 7 | Update Python WisperaToolCredentials | Use creds.get() instead of os.environ |
| 8 | Replace --value with --stdin | All idw create commands updated |