An agent configuration is stored and versioned, so it must never contain a raw
credential. Instead you store the credential once as an organization secret and
put a reference to it in the configuration. Albus resolves the reference at
launch; the value is never returned by the API and never appears in a session,
audit event, or agent revision.
You need secrets for two things: MCP server headers and
your own model provider key.
Create a secret
Names are path-like: /-separated segments of [a-zA-Z0-9_-], up to 255
characters total, no empty, ., or .. segments. Group related credentials the
way you would in a filesystem:
Reference a secret
A reference is the secret’s name under albus.sh/secrets/:
Use it wherever a credential belongs:
A reference to a secret that does not exist fails the run with 400 before the
agent starts, so a typo costs you nothing but the error.
model.provider.credential must be a reference — a raw key there is
rejected. MCP headers accept either: a value in reference form is resolved, and
anything else is sent literally ("X-Api-Version": "2024-01-01").
Inspect, rotate, delete
Reads return the value masked to its last three characters — there is no
operation that returns a secret’s value. Rotating is an update: references keep
working and the next run picks up the new value, with no agent configuration
change and therefore no new revision.