Credentials

Securely acquire, store, rotate, select, and use external authority from Constal agents.

landingFor tenant administrators, agent developersOwner Constal platform teamVerified 2026-08-20

Constal separates who may invoke an agent from what external authority the agent may use. An AuthProvider authenticates an incoming caller. A CredentialProvider acquires and maintains outbound secret material. A Credential stores that material as governed versions. A scoped binding selects the correct Resource or Credential for the authenticated tenant, customer, or principal.

Choose a path

What you needStart here
Store an API key, token, password, or signing secret you already haveStore an existing secret
Let a person grant access through OAuthAuthorize an OAuth credential
Run unattended automation with application or installation authorityChoose an authentication model
Serve multiple customers or users from one agentScoped bindings
Build a custom acquisition and rotation lifecycleBuild a CredentialProvider
Diagnose a failed setup, renewal, or authorizationTroubleshooting

Mental model

credential relationships
CredentialProvider  → creates and maintains → Credential
Resource            → consumes             → Credential
Scoped binding      → selects              → Resource or Credential
Agent               → invokes              → Resource

A Credential is deliberately opaque. Constal encrypts and versions its material, but only the consuming Driver decides whether the bytes represent an API key, OAuth token, private key, password, or another secret.

Common examples

  • A tenant-wide model gateway uses one imported API-key Credential.
  • A customer-scoped GitHub Resource uses that customer's GitHub App installation Credential.
  • A principal-scoped GitHub Resource uses the signed-in person's OAuth Credential.
  • A CredentialProvider uses a bootstrap Credential, such as an application client secret, to create many output Credentials.

Next steps

Read the complete mental model, then follow the guide matching your authentication model. If an agent serves multiple owners, read scoped bindings before deploying its Resource selectors.