Skip to content

Secrets

Secrets are the credentials PRESHos holds for agents, plans, and integrations. The secrets surface is /ai/secrets (Secrets Vault in the Configure rail). Values live in Tenant Vault (ai.secret_grant) and GCP Secret Manager. This wiki names kinds of credentials, never values.

  • The header counts the vault: total secrets, how many expire soon, how many went stale.
  • Each row carries service, identifier, scope, auth kind, expiry, last used, and creator. Scopes include connector, user_integration, and Environment; auth kinds include api_key, oauth, and custom.
  • Search by service or display name; filter by scope, auth kind, expiring soon, or stale. The Audit log sits next to the filters; Add secret creates.
Secrets Vault: credentials for agents, plans, and integrations with scope and auth kind per row
  • Tenant secrets are referenced as grants. Platform-side secrets (for example signing keys like AUTH_SECRET) live in GCP Secret Manager.
  • No password, API key, token, connection string, or private key goes in this wiki, in chat, in code, in tests, or in fixtures. Names of variables where source names them, values never.
  • Watch the plaintext gap: agent prompts and plugin configuration can carry pasted values outside the vault. Never paste a credential into a prompt, instruction, or config field to unblock a session — fix the grant instead, and rotate anything already pasted.
  • Environments pull secrets per thread (runner, repo, sandbox runtime, tool grants, secrets). A thread that cannot reach a credential is a scoping problem, not a prompt problem: check the environment, not the wording.

Treat /ai/secrets as the source of truth for secrets surfaces. The tenant contract in depth: SDK auth. Provider wiring: AI providers.