Skip to main content

Configuration Matrix

Vesanor has a few different surfaces, and they do not all use the same configuration names.

This page is the fast way to answer: which setting goes where?


For most users, the recommended path is:

  • replay(client, { apiKey })
  • Governance Studio
  • zero-config governance

If you are on that path, the main settings you care about are:

  • apiKey or VESANOR_API_KEY
  • runtimeUrl
  • environment

Matrix

SurfacePrimary purposeMain optionsEnv varsNotes
replay() zero-configStudio-backed governanceapiKey, runtimeUrl, environment, agentVESANOR_API_KEY, VESANOR_ENVIRONMENT, NODE_ENVRecommended public path
replay() local contractsLocal enforcement from YAMLcontractsDir, sessionYamlPath, tools, gate, mode, compatEnforcementVESANOR_API_KEY optionalLocal enforcement path, not the primary Studio authority path
observe()Legacy hosted capture ingestionapiKey, endpoint, captureLevel, agentVESANOR_API_KEY, VESANOR_DISABLEUses endpoint option, not runtimeUrl
CLI hosted run pushPush run results to hosted APInone on command; push happens when API key existsVESANOR_API_KEY, VESANOR_API_URLUsed by CLI runs and sync/doctor hosted calls
CLI live-provider executionRun against OpenAI/Anthropic--provider, --modelVESANOR_PROVIDER_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEYSeparate from hosted API auth
vesanor syncPull hosted contracts to local--agent, --tool, --output, --forceVESANOR_API_KEY, VESANOR_API_URLDirection is hosted -> local only

Zero-config governance

apiKey

Used to attach replay() to hosted governance.

  • option: apiKey
  • env fallback: VESANOR_API_KEY

runtimeUrl

Overrides the hosted runtime base URL for replay().

  • option: runtimeUrl
  • no automatic env fallback inside replay()

environment

Controls zero-config runtime behavior after approval.

  • option: environment
  • env fallback: VESANOR_ENVIRONMENT
  • final fallback: NODE_ENV

Behavior summary:

  • development: monitor-style behavior
  • staging: advisory compatibility behavior
  • production: protective fail-closed behavior

observe()

observe() is a different surface from replay().

Important distinction:

  • observe() uses endpoint
  • replay() uses runtimeUrl

observe() does not automatically read VESANOR_API_URL.

For a custom ingest URL, pass:

observe(client, {
apiKey: process.env.VESANOR_API_KEY,
endpoint: "https://your-host.example.com",
});

CLI hosted API settings

The CLI uses:

  • VESANOR_API_KEY for hosted API authentication
  • VESANOR_API_URL to override the hosted API base URL

That applies to hosted operations such as:

  • pushing run results
  • vesanor sync
  • hosted portions of vesanor doctor

Provider credentials

Provider credentials are separate from hosted Vesanor credentials.

Common cases:

  • VESANOR_PROVIDER_KEY
  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY

Use those when the CLI or your app is calling the model provider directly.


Sync direction

vesanor sync is hosted -> local.

It pulls hosted contract state and materializes local packs. It does not push your local promoted YAML packs back into Studio authority.

If you need the local-pack path, see the archived docs under docs/legacy/advanced-local/ in the repo.