๐Ÿ›ก๏ธ Interven
Console

Tool Credentials

The encrypted upstream-credential vault Interven uses when forwarding inbound-route traffic โ€” rotate and revoke per-route.

When you set up an inbound route for a SaaS agent, the upstream credential (the real Bearer token, API key, or signed-request secret that calls your real backend) lives in Interven's encrypted tool credential vault.

The SaaS agent never sees the credential โ€” Interven injects it on the way out.

This page covers managing those credentials independently from the routes that use them. If you only manage them inline when creating a route, you may never need to visit this page directly.

The list view

/tool-credentials

ColumnNotes
NameHuman-readable label
Typebearer ยท header_set ยท oauth_static ยท aws_sigv4
Used byNumber of inbound routes attached
Last rotatedDays since the value was last updated
Created byOperator + timestamp
ActionsView metadata ยท Rotate ยท Revoke

Filter by type, by which routes reference them, or by rotation staleness.

Credential types

TypeWhat it stores
bearerA single Authorization: Bearer <token> value
header_setAn arbitrary map of headers โ€” e.g. X-API-Key, plus X-Internal-Auth
oauth_staticAn OAuth client_id + client_secret pair for client-credentials flow
aws_sigv4An AWS access key + secret used to SigV4-sign the outbound request

Only the metadata is shown in the UI after save. The value can be rotated but never read back.

At-rest encryption

  • Each credential is encrypted with AES-256-GCM.
  • Encryption key is INTERVEN_CREDENTIAL_ENCRYPTION_KEY โ€” a per-tenant 32-byte secret.
  • On hosted Interven, that key lives in our infrastructure secrets manager and rotates independently of customer action.
  • On self-hosted, you generate and store the key (openssl rand -hex 32). Back it up separately from the database; losing it means losing all stored credentials.

Rotation

/tool-credentials/<id> โ†’ Rotate

Enter the new value. Save. The old value is purged from active config immediately and the next outbound forward uses the new one. All existing inbound routes that reference this credential pick up the new value with zero downtime โ€” no route edits needed.

Revocation

/tool-credentials/<id> โ†’ Revoke

Removes the credential entirely. Any inbound routes that reference it stop forwarding (HTTP 502 from the route) until you attach a replacement.

For graceful cutover, create the replacement credential first, point routes at it, then revoke the old one.

Audit

Every credential operation writes an audit row visible in Settings โ†’ Audit Log:

  • Created (by whom, when, for which routes)
  • Rotated (without revealing old or new value)
  • Revoked (by whom, when, affected routes)
  • Used (aggregate โ€” count of outbound forwards per route per day)

API access

  • GET /v1/tool-credentials โ€” list (metadata only, no secret values)
  • POST /v1/tool-credentials โ€” create (value supplied once, never returned)
  • POST /v1/tool-credentials/{id}/rotate โ€” rotate the value
  • DELETE /v1/tool-credentials/{id} โ€” revoke

Security best practices

  • One credential per upstream / environment. Don't share a "production Slack" credential across dev + prod inbound routes โ€” separate them so a dev key leak doesn't compromise prod.
  • Rotate quarterly minimum โ€” and immediately on personnel change, on any suspected credential exposure, or on any incident-resolution requiring rotation.
  • Use route-level allowed-path patterns (Inbound Routes) to constrain what an attached credential can be used for.