Vault
The keys, tokens and passwords your AIs may use, what each one is for, and who may do what with it.
Nobody reads a value back out of the vault. Not an AI, not another member, not an admin, not Gubbins, not you. Gubbins uses a secret on your behalf and never shows it, so a lost secret is rotated, never recovered.
Why there is no reveal button
Most password managers show you the value if you ask. The Vault never does, and that absence is the design rather than a missing feature.
A product that can show you a credential is a product that can be made to show a credential to somebody else: by a bug, by a support process, by somebody with a database. Removing the ability to read a value at all removes that whole class of accident. So there is no reveal, no copy button, no masked preview, no last four digits, and no greyed-out version of any of those, because a disabled control teaches people that the feature exists and is coming.
The practical consequence: if you lose a value, you replace it. You do not recover it.
The three rights, which never arrive together
Holding one of these has never meant holding another. They are granted one at a time, on purpose.
- Know it exists. See that a secret is here, what it is for, where it may be used, and its receipts. Never its value.
- Allow an AI. Point one of your assistants at it, and stop it again.
- Rotate or revoke. Replace the value, or switch the secret off for good.
Whoever adds a secret holds all three on it. The owner of the space can always see that a secret exists and can always turn it off, and can never see what it is.
Held, or used at one place
When you add a secret you choose between two arrangements, and the choice cannot be changed afterwards.
Held only
Gubbins keeps it, labelled, so you can find it and know what it is for. It is never sent anywhere by anything. You type it into your own tools yourself. There is no AI to allow on a held secret, because there is nowhere for one to use it.
Some kinds can only ever be held: an SSH key and a database connection string, for example.
Used at one host, and nowhere else
You name a single destination, and Gubbins may attach the secret to requests going there. Not to any other host, ever. The destination is fixed when the secret is created: a new destination means a new secret, which somebody has to look at deliberately.
You also set a ceiling on how many times an hour it may be used, which is the cheapest insurance there is against a runaway assistant.
A connection made by sign in
One kind arrives without typing: when you connect a server by sign in from the Toolbox, the connection the service hands back is kept here as a secret of its own, pinned to that host. Both of its tokens sit under one wrap. When it is about to expire, Gubbins renews it itself before the call, as an act with its own receipt, and revoking the secret destroys both tokens at once. Like every other secret, nobody reads it back out.
Rotating and revoking
Both show you what depends on the secret before anything happens: which assistants may use it, how recently it was used, and what stops working.
Rotating replaces the value. The old one goes at the moment you save, and nothing can check the new one for you: the next use is the test.
Revoking switches the secret off and destroys the stored value in the same instant. It is not a state a secret comes back from. The record of the secret stays so your receipts still make sense.
Revoking here does not cancel the key at the far end. If you think a key has leaked, change it where it was issued as well: that is the only place a leaked key really dies.
What is written down about every act
Adding a secret, replacing its value and revoking it each leave a receipt in the one ledger under Access, naming who did it and when. Every use of a secret by an assistant lands there too.
A receipt carries what happened and never carries the value, any part of it, or anything that could be turned back into it.
What is not built yet
An assistant cannot yet spend a secret. You can now allow one of your AIs to use a secret and stop it again, and both are recorded. What is still being built is the part that actually sends the value to the service on the assistant's behalf, so an allowance today is a permission waiting for the road that carries it.
No real credential should go in yet. The Vault is being tested with invented values while its adversarial testing is finished. It is not cleared for anything that opens a real account.
Finding one
The list has a search box, and it reads the name, what the secret is for, its type and where it may be sent. It never reads a value, because the app does not hold one to read: searching happens in your browser over what is already on the screen, so nothing you type there is sent anywhere.
Where it is
Vault is the fourth room in the app. Open Gubbins.