ModelWorks logoModelWorks

Circuit Secrets

How to manage encrypted secrets for your circuit versions through the website.

Circuit Secrets

Secrets are encrypted values — API keys, passwords, bearer tokens, or any other sensitive string — that your circuit can reference at runtime without you ever hard-coding them into the circuit JSON. You reference a secret inside a circuit using the ${{ secrets.YOUR_SECRET_NAME }} syntax, and ModelWorks swaps in the decrypted value when the circuit runs.

For security, secrets are managed entirely through the website UI rather than the API. This keeps secret creation, updates, and deletion tied to your authenticated browser session and away from any token-bearing script.

How to manage secrets

  1. Log in to modelworks.ai.
  2. Navigate to your circuit's repository page — click your circuit from your profile or dashboard.
  3. Click the Settings tab.
  4. Click the Secrets sub-tab.
  5. You'll see a list of required secrets (detected from your circuit definition) alongside any values you've already provided.

Adding a secret

Click the Provide button next to a secret requirement, enter the secret value, and save. The value is encrypted at rest and never shown again — once it's stored, the field displays only masked dots.

Updating a secret

Need to rotate a key? Click Provide again to overwrite the existing secret value with a new one. The previous value is replaced immediately.

Removing a secret

Click Remove to delete a secret. The circuit will no longer be able to reference it at runtime, so make sure nothing in your circuit still depends on it before removing.

Checking requirements

The Secrets screen shows which detected secret requirements are satisfied (green checkmark) versus missing (red indicator). Make sure every requirement is satisfied before activating your circuit version — a circuit with unmet secret requirements will fail to run.

Good to know: Secrets are encrypted using OpenBao, a Vault-compatible secrets manager. They are never exposed in logs, circuit JSON, or API responses, so your circuit definition stays safe to share or version-control.

On this page

On this page