Skip to content

Vault backends

Vault backends store the provider API keys (OpenAI, Anthropic, etc.) server-side. OEM partners usually have an existing vault; TapPass supports pluggable backends so they don’t need to migrate.

BackendStatusSource
Postgres (default, encrypted-at-rest)Productiontappass/tappass/vault/providers/postgres.py
File-backed (dev/staging only)Productiontappass/tappass/vault/providers/file.py
BackendStatusNotes
HashiCorp VaultTerraform module exists, runtime adapter TBDCommon OEM ask
AWS Secrets ManagerPlannedMost requested by US customers
Azure Key VaultPlannedOften asked alongside Azure OpenAI
GCP Secret ManagerWe use this ourselves; runtime adapter can be generalisedFastest to ship
CyberArk ConjurTerraform + k8s manifests existBank customers ask for it

See public docs integrations overview for the customer-facing version.

Every backend implements VaultProvider (see tappass/tappass/vault/protocol.py):

class VaultProvider(Protocol):
async def get(self, key: str) -> SecretValue | None: ...
async def set(self, key: str, value: SecretValue) -> None: ...
async def delete(self, key: str) -> None: ...
async def list_prefix(self, prefix: str) -> list[str]: ...

Add a new backend by dropping a module under tappass/vault/providers/<name>.py and registering it in the backend factory.

Customer profileRecommend
Already on HashiCorp Vault (Enterprise)HashiCorp adapter
AWS-native, security team runs Secrets ManagerAWS adapter
Azure-nativeAzure Key Vault adapter
Bank with ConjurConjur adapter
No strong preferencePostgres (default)

Always ask: “where do your provider keys currently live?” and pick the backend that matches. Migration is a PITA.

Adding a new vault backend for a specific OEM: 2-4 weeks depending on auth complexity (static token vs OAuth vs mTLS vs cloud IAM). Budget accordingly when quoting the deal.