Play / The map / The mandates / A scheduled job under a service account

A scheduled job under a service account

Run on schedule, read its own data, talk to the APIs it was built for with the account it was given, and stop. I did not want it spending money unattended or reaching arbitrary hosts.

Status: starting-point · authored 2026-09-09 · the site, as a starting point — not measured, not surveyed; the first thing to argue with · edit this mandate

The delta

Against every profile this mandate applies to. ▲ is authority you did not ask for; ▼ is something you were counting on that is not there. The tally is at the bottom.

excess — it can, and you did not want it to shortfall — it cannot, and you wanted it to aligned — it can, and you wanted it to aligned — it cannot, and you did not want it to? it can, and the mandate does not say· it cannot, and the mandate does not say
Capability Scheduled jobservice account
filesystem
Read the project it is working on ·
Change the project it is working on ·
Read any file the account can reach
Change any file the account can reach ?
Delete files anywhere the account can reach ·
Read a retained record: shell history, past sessions ·
process
Run programs as the account
Run programs inside its own sandbox only ·
network
Reach a permitted list of hosts
Reach any host on the internet
identity
Read credentials stored where it runs ·
Act in accounts with the credentials it holds
Change its own permission settings ·
communication
Send a message to anyone ·
Read mail or chat it is connected to ·
code
Commit to the repository it was pointed at ·
Push to a code host (any branch it can reach) ·
Sign commits with the key it holds ·
Publish packages, images or pages under the name it holds ·
money
Spend money or tokens against an account it holds
schedule
Create something that outlives the turn where it runs (a cron, a service)unstated: it is itself scheduled; whether it may schedule more of itself is a real question and the mandate does not pretend to answer it ?
Create something that outlives the session, on the platform (a routine, a scheduled trigger, a new session) ·
browser
Read every page you visit ·
The delta ▲ 2 ▼ 1

In words

The mandate, row by row

CapabilityPositionNote
Run programs as the accountwant
Read any file the account can reachwant
Reach a permitted list of hostswant
Act in accounts with the credentials it holdswant
Spend money or tokens against an account it holdsdo not want
Reach any host on the internetdo not want
Create something that outlives the turn where it runs (a cron, a service)unstatedunstated: it is itself scheduled; whether it may schedule more of itself is a real question and the mandate does not pretend to answer it
You cannot deny the excess rows. The agent already has the access. What is left is how long you are prepared to live with each one and who says so — what to do next.