Configuration values
Named values the application needs but must not contain — API keys, account numbers, thresholds.
Settings › Configuration. A name and a value. The application reads the value; the value is never written into the code.
What belongs here#
- An API key for a service the application calls.
- An account number, a tenant id, a webhook address.
- A threshold or a limit somebody will want to change without a build — how many days before a visit counts as overdue.
- Anything that differs between test and live.
Per environment#
Every value can apply to every environment, or only to live, or only to test.
Secrets#
A value marked as a secret is encrypted at rest and read back only as a hint. Once saved it can be replaced but never re-read.
That is deliberate. A settings screen that hands back everybody's API keys is a worse leak than the one it prevents. If you need the value again, get it from wherever it came from.
What the builder is told#
The names, so it can write code that reads them. Never the values.
A value in a prompt is a value in a transcript, so a real credential typed into the conversation stays in that conversation. Put it here instead — the builder will tell you to.
In the conversation: Use the Stripe key in configuration called
STRIPE_SECRET_KEYto create the charge.Not in the conversation: Use this key:
sk_live_…
Reserved names#
A few names are the platform's and cannot be overridden — the database address, the storage credentials, the platform token. An application overriding one would be reaching for another tenant's database, so the attempt is refused.
You will be told if you pick one.
Integrations set their own#
Connecting an integration fills in the right names automatically. You do not add an email provider's key here by hand; you connect the provider.
Anything not in the catalogue is added here as an ordinary value.