Secrets and permissions
This page covers how an app gets credentials (secrets) and platform access (permissions). The field reference is in automaton.json; the security model is in the security overview.
Prerequisites
An app folder linked to an app on your server (Create your first app).
Give an app a secret
Declare it in
automaton.jsonunderapplication.secrets, for example{ "name": "STRIPE_KEY", "description": "Stripe secret key" }.Set the value. It is read from standard input (or a hidden prompt), never from arguments, so it stays out of shell history and AI chat.
bashautomaton secrets set STRIPE_KEY automaton secrets set SHARED_KEY --project # project vault, shared by the project's apps automaton secrets set MY_KEY --user # your personal vault, for personal appsRedeploy so a running app picks it up, and read it from the environment in code.
bashautomaton deploy
Request a platform permission
Declare application.permissions (today only backups:read), deploy, then show the state:
automaton permissions statusA system administrator approves it in Studio (the command prints the approval link). Nothing is granted before that, and revoking stops the next call.
Verify it worked
automaton secrets statusEvery declared secret shows present and the scope that provides it. automaton validate --strict fails when one is missing.
Common errors
- Secret shows
missing. Set it in the right scope (--projectneedsautomaton project add-appfirst). - Static site cannot use secrets. Its files go to the browser. Put secrets in an API or server-rendered app.
- Values are never shown again. Saving the same name replaces the value.