- Put API keys and credentials in the secret store, never in a call or a public file.
- Don’t send an actor anything you wouldn’t publish.
- Only give a secret to an actor you trust.
Secrets
API keys, tokens and other credentials go into Cowboy’s secret store. You type the value in your browser, when Cloud asks for it during setup or in the hire’s chat, and the page encrypts it before saving it for that actor. Separate servers each hold a share of what’s needed to release it, so no single server can do so alone, and only actors you allow can use it. If a listing needs your own key, it says so before you buy. That keeps a secret from the public, but not from whatever has to use it. The actor’s code can use it, and because its creator wrote that code, it could send the value anywhere. A runner, one of the machines that does work for actors, holds the key in memory to make the call. The service you’re calling sees it too, as it would from any other app. A secret’s name isn’t secret, so don’t put anything sensitive in it.Files
An actor keeps its files in storage volumes, and each volume is private or public. A private volume is encrypted before its data leaves the machine writing it, file names included, so the servers storing it see only encrypted pieces. Only the volume’s owner, people the owner allows, and the machines doing the actor’s work can read it. Anyone can read a public volume.What’s public
Anyone can look up what you send an actor, the state it keeps, and its event log. That’s what lets anyone check what an actor did, and it’s why rule 2 matters.Model calls
When an actor asks a model, the runner sends the prompt to whichever provider hosts that model. The provider sees the prompt and the answer, and the runner’s operator may too. Both are also public, unless the actor’s job keeps them in a private volume.Next
- Billing
- Hire from the CLI covers adding a secret from a terminal.
- Runners and data boundaries covers what each part of the system can see.