# Problem: credentials still travel by email and Slack
Every Drupal integration with an external service—payment gateways, CRMs, APIs—requires sensitive credentials. The routine response is to forward those credentials by email, Slack, or hand them to whoever manages Drupal. That creates a transport chain where secrets are exposed at each step. Putting credentials into code repositories or YAML files multiplies the exposure risk and must be avoided.
# Common partial fixes and their costs
Teams often store secrets in files outside the webroot or as environment variables. Those approaches work technically, but they impose operational friction: manual edits when secrets change, potential web server reloads, and coordination overhead whenever rotation is needed. The deeper issue is the handoff itself—the repeated transfer of secrets between client, provider, and the Drupal team.
# What a Vault service changes
- The client retains ownership and control of every secret. The development provider never needs to receive service-level credentials.
- When keys expire or are rotated, the client updates them in the Vault and Drupal automatically receives the new values.
- Adding a new service is done by the client adding credentials to the Vault and granting appropriate access to the new role. Existing providers do not gain visibility into other services' secrets.
# Operational trade-offs
The Vault is a runtime dependency owned by the client. It can be self-hosted or a managed service. Running a Vault introduces infrastructure overhead: you must define access policies at kickoff, monitor availability, and document recovery procedures. Those are deliberate security costs rather than ad-hoc operational friction.
Drupal caches retrieved credentials temporarily. This cache absorbs brief Vault outages so integrations keep working for short interruptions. However, prolonged Vault downtime will affect integrations that depend on those secrets and should be treated like any other critical system component.
# How this looks in practice for projects
- Project kickoff includes standing up the Vault (or confirming an existing instance) and defining roles and access policies.
- The client supplies a single Vault credential to the Drupal environment. Drupal modules (for example, Vault and Key modules) retrieve secrets at runtime.
# Concrete benefits
- Reduced exposure: fewer people ever see raw credentials.
- Easier rotation: updates happen in the Vault, not through repeated coordination and deployments.
- Granular access control: the client can grant access to specific roles without exposing other secrets.
# When to consider a Vault
Choose a Vault when integrations involve multiple external services, when clients need to retain secret ownership, or when credential rotation and auditability are priorities. Expect to treat the Vault as critical infrastructure: plan monitoring, availability, and disaster recovery aligned with the project's tolerance for downtime.
# Bottom line