What happens to my credentials?
Your API keys are encrypted in the Secure Vault. We never see them — only a secure reference.
Written By pvdyck
Last updated About 5 hours ago
How it works
💡 Note:TL;DR: Safe, Encrypted, and InvisibleYour API keys (like OpenAI) are stored in an encrypted Secure Vault. During an agent run, we simply pass a reference to the vault. The platform, the Builder, and the execution engine never see or have access to your actual plaintext keys.
When you connect an API like OpenAI, your key is stored in the Secure Vault with encryption at rest and in transit. During execution, the vault injects your credential into the API call — we never see your actual key.
How credentials are used:
- Your Key (sk-...) → Secure Vault (Encrypted at rest)
- Injection happens at execution time only
- API Provider receives the authenticated request
The resolution chain
When a workflow needs credentials, we check three sources in order:
Credential Resolution Flow:
- Workflow needs credentials
- Check Tier 1 (Your Keys)
- Found? → Use it
- Not found → Continue
- Check Tier 2 (Builder Keys)
- Found? → Use it
- Not found → Continue
- Check Tier 3 (Platform Keys)
- Use as fallback
This gives you full control while enabling "batteries included" workflows when you want them.
Per-node credential resolution
When a workflow has multiple nodes using the same provider (e.g., two OpenAI nodes), each node can use different credentials. The system checks credentials per-node, not per-workflow.
Example Workflow:
- Node A (OpenAI) → Uses Your Key 🔑
- Node B (OpenAI) → Uses Builder's Key 🤝
- Node C (Slack) → Uses Your Key 🔗
Same provider, different credentials! Mix and match as needed.
Credential isolation
Credentials are scoped per agent. A Producer's credentials for Agent A cannot be accessed by or mixed with Agent B — even if both agents use the same external service.
BYOK (Bring Your Own Keys)
When you provide your own API keys, you're using BYOK mode:
Security guarantees
The Secure Vault provides:
Malicious workflows can't steal API keys because:
- The execution sandbox has no access to raw credentials
- Only encrypted references are stored
- Per-agent isolation prevents cross-contamination
Bottom line
Your API keys stay yours. We built the system so we couldn't access them even if we wanted to.