Secrets
In short
Open Secrets under Services, add a name and a value for each server (Build, Rehearsal, Live). Your app reads it by name. Values are write-only: you can replace or remove one, never view it. Check Integrations first; use a test key for Build.
Secrets hold the keys your app needs for systems that are not on the Integrations page — a weather service, a gateway nobody has catalogued, an internal API with its own token. If the system is on Integrations, connect it there instead: Sapilon then keeps the key out of your app entirely.
Add a secret
Open Secrets under Services and choose Add a secret. Give it a name in capital letters,
digits and underscores — OPENWEATHER_API_KEY — a short note about what it is for, and a value.
Add several takes a pasted .env file and lists the names it found (never the values) before
saving.
Some names are not allowed: the ones the platform uses itself, and anything starting with VITE_,
because those are published in the web app for everyone to read. A secret never is.
One value per server
A secret has a value for each of the three servers, and they are independent:
- Build Server — where the agent runs your app while you work.
- Rehearsal — the practice server.
- Live — the real one.
So Live can use your real key while Build uses a test key. Same value everywhere fills all three at once. A server that is not set up yet shows Applies at first publish; the value is delivered with your first publish to it. After that, changing a value takes effect within a minute without a publish, and Retry appears if delivery failed.
Write-only
Once saved, a value is never shown again — not to you, not to the agent, not in the code. You can replace it or remove it. Removing a value that the code still reads makes the app fail on that server until you add it again, and the dialog says so.
The agent sees each secret’s name and note, and which servers have it. It reads a value the way your app does, by name, and never asks you for one. If the agent writes code that needs a key you have not added, it ends its turn with an Add NAME button that opens this page with the name filled in.
The Build Server caution
The agent works on the Build Server, and the app running there holds the Build value. Sapilon masks it in logs, but a determined command on that server could still read it. Use a test key for Build, not your real one. Rehearsal and Live values are out of the agent’s reach.
Pasting a key in the chat
If a message to the agent looks like it contains a key, the composer asks whether to Add it as a secret instead. Sending it anyway is allowed.
Working on your own computer
Outside the Build Server, your app reads process.env.NAME from a local .env file as a fallback,
so you can run it by hand. That file stays on your computer and is never published.