Dashboard · Screens
Secrets
A key you set once for the whole account — an Anthropic or Stripe key, say. Every function of every project reads it as env.NAME, including projects created later, with the exceptions below. Values are set here, by you — never by your agent: your agent sees the name and the note you write, never the value.
The code of your functions reads these values in clear, including code your agent deploys without you. The spending limit you set with each provider is what bounds a leak.
This is not a project's Manage → Secrets screen, which keeps working: a project secret masks the shared secret of the same name in that project's functions.
Adding a secret#
A name, the value, and a note for your agent. The name is 1–64 characters — letters, digits and underscores — and the MANYBASES_ prefix is reserved. The note says what the key is for, never the key itself: at most 200 characters, and a note that contains the value is refused. A value is at most 5 KB.
The box Also for agent keys limited to some projects starts unticked: a function deployed by an agent key limited to some projects does not get the secret until you tick it, which means typing the value again.
A project holds at most 126 secret names — its own, the account's, and removals still in progress: a new name that would pass that is refused; replacing a value never is.
The screen shows the account you are signed in as: its functions are the ones that receive the key.
The list#
Each secret with its note, how far its current value has reached ("All N function(s)", "k of N function(s)"), how many projects mask it with a project secret of the same name, the date it last changed, and the Digest — the SHA-256 of the value, to compare against what you pasted.
- Edit — replace the value (the screen first says how many functions, in how many projects, will get it), change the note, or close the secret to agent keys limited to some projects, which takes it out of the functions they deployed.
- Apply the rest — a value reaches the functions already running a few at a time: one click makes at most 20 platform calls, and the account at most 60 every 5 minutes, within a budget of platform calls that Manybases shares between all accounts. When a budget is spent, the screen says to wait. Click again until the list says "All N function(s)". A function deployed meanwhile gets the current value anyway.
- Remove — takes the secret off every function, a few at a time. Until the last function has lost it, it stays under Removals in progress, with Apply the rest.
After each gesture the screen says how far it went, and why a function did not get the value: too many variables on it, a vars entry of the same name, or a refusal from the platform. Such a function gets the value at its next deployment, once the cause is removed.
If a key leaks#
Revoke it at the provider — replacing it here does not stop the old value from working there. Then open Edit here, type the new value and Save, then use Apply the rest until every function has the new value. See Respond to a leaked key.
