Running it

Who owns the automation after launch

Ownership is not a name on a wiki page. It is being paged, holding the access, and carrying the consequence, and those three usually end up with three different people.

On this page
  1. The short answer
  2. What ownership actually means
  3. The ownership map, filled in on handover day
  4. Credentials are how automations actually die
  5. Alert on absence, not just on failure
  6. The ownership manifest
  7. Handover is a set of artifacts, not a meeting
  8. What ownership costs every month
  9. Vendor retainer or internal owner
  10. The vocabulary, used precisely

The short answer

The short answer

An automation is owned when one named person is paged when it breaks, holds the access needed to fix it, and carries the consequence if it stays broken. When those three sit with three different people, the automation is unowned no matter what the handover document says. Ownership also splits across five surfaces that get treated as one thing: the runtime, the judgement, the rules, the dependencies and the bill. Name a person and a deputy for each surface, put it in a file next to the code, and test the page target and the kill switch before you believe either of them.

  • 3 of 3paged, has access, carries the consequence. Split any one of these off and the automation is unowned
  • 5 surfacesruntime, judgement, rules, dependencies and economics, each needing its own named human
  • Absence alarmthe monitor most automations lack, because a job that stops being triggered produces no errors at all
  • Service identityan automation authenticates as itself, never as an employee who might leave or turn on MFA
  • One flagthe kill switch a non-engineer can reach without a deploy, tested on a date you can point to

The handover meeting is not the problem. The problem is that handover is usually treated as a transfer of knowledge when it is a transfer of five separate obligations, and four of them are invisible on the day. Six months later the automation is running, the dashboard is green, and nobody can tell you whether its output is still correct.

What ownership actually means

Ownership is not enthusiasm and it is not authorship. It is a specific bundle of obligations, and the bundle comes apart in predictable ways. The most common split is the one where operations gets paged, engineering holds the credentials, and finance absorbs the damage. Everyone acts reasonably and the thing still stays broken for a week.

Framework

The Five Surfaces of Ownership

Five distinct things to own, usually assumed to be one. Each gets a named human and a named deputy, written down in the same file.

01
Runtime

Does it run, is it up, who gets woken. This is the surface everyone thinks of, and the only one usually assigned. A page target that has never fired is not a page target, so send a real page on handover day and record the date it was tested.

02
Judgement

Is the output still correct, who defines correct, and who signs off the sampling rate and quality threshold. This is the most commonly orphaned surface: the builders assume the business owns quality, the business assumes quality was built in, and nobody looks at an output for months.

03
Rules

The business logic and the exception policy, and specifically who is allowed to change them. With no named rules owner, logic changes arrive as messages to whoever answers, get applied without a test, and the reason for the original rule is lost within two edits.

04
Dependencies

Credentials, service accounts, webhook secrets, vendor plans, pinned model versions, API contracts and their renewal dates. This surface is mostly calendar work, which is exactly why nobody claims it, and it is the leading cause of automations dying quietly.

05
Economics

The bill, the budget and the shut-off authority. Ask two questions: who sees the monthly cost broken out for this automation, and who can turn it off within five minutes without asking an engineer. If the answer to the second is nobody, the risk sits with whoever is asleep.

Do not accept "the team owns it"

A team is not an owner, and a rota is not an owner either. When six people share an obligation, the observable behaviour is that each one waits about a day to see whether somebody else picks it up, which turns a fifteen minute fix into a two day outage. Write one name per surface plus one deputy. The deputy exists so that holidays and departures do not silently return the surface to nobody.

The ownership map, filled in on handover day

Fill this in with real names before the build team stops paying attention. Every row has an artifact attached, because the artifact is what makes ownership checkable a year later when everyone in the room has changed jobs.

SurfaceWho it defaults toWhat breaks when nobody owns itThe artifact that proves it is owned
RuntimeAn on-call rota, or nobodyThe first person to notice a failure is a customerA named page target in the alert config, with the date a real page was fired to it
JudgementAssumed to be the build teamQuality drifts for months behind green dashboardsA sampling rate, a quality threshold, and a signed review at a stated cadence
RulesWhoever answers on chatLogic changes land untested, and the reason for the old rule is lostA change log with an approver name and a passing eval run per entry
DependenciesNobody at allAn expired token takes it down on a Sunday and nobody knows which account it usedA dependency register with expiry dates mirrored into a shared calendar
EconomicsFinance, after the factSpend grows quietly and nobody can stop it quicklyA per-automation cost line and a kill switch a non-engineer has personally tested
The five surfaces, their default owner (usually a fiction), and the artifact that makes ownership verifiable.

Credentials are how automations actually die

Far more automations are killed by an authentication problem than by a logic bug. Logic bugs get caught in testing. Credentials fail months later, on a schedule nobody is tracking, and they fail in ways that look like the far system being down.

  • Never authenticate as a person. An automation running on an employee's OAuth grant dies when they leave, rotate a password, or have step-up authentication enforced on their account. Use a service identity per automation, owned by a named human but not tied to their login.
  • One identity per automation, not one shared across twenty. A shared account means revoking one compromised credential takes down everything, and no log line tells you which automation performed which action.
  • Refresh tokens expire on inactivity, not just on age. This is the specific trap for monthly and quarterly jobs: the refresh window passes between runs, and the next run fails on authentication rather than on anything it did.
  • Rotate signing secrets with an overlap window. Accept the old and the new secret for a defined period, cut over, then remove the old one. A rotation without overlap is an outage you scheduled yourself.
  • Deprecation notices go to whoever created the account. If that is a personal mailbox belonging to a contractor, you will find out about the breaking change from the failure. Register every vendor account to a shared alias with a named reader.
  • Record why each scope was granted. A permission review twelve months later cannot reconstruct intent, so the safe default becomes leaving everything in place, which is how automations end up with far more access than they need.
Name the identity after the automation

Call the service account svc-invoice-triage rather than automation-user-3. It costs nothing at creation and it pays every time somebody reads an audit log, investigates an unexpected write, or tries to work out what will break if they revoke a token. The same rule applies to webhook endpoints, queue names and API keys. Names are the cheapest documentation you will ever write, and they cannot go stale because they are the thing itself.

Alert on absence, not just on failure

Most monitoring watches for errors. The quiet death of an automation produces no errors, because it is not running at all. The scheduler got paused during an unrelated incident, the webhook subscription lapsed, the upstream system stopped sending, or a queue was drained by hand and never refilled. Every dashboard stays green because nothing failed.

  • Heartbeat with an external watcher. The automation emits a signal on each successful cycle and something outside its own infrastructure alarms when the signal is late. A watcher living in the same system as the automation fails at the same time as the automation.
  • Set the window from the cadence. A weekday job gets an alarm an hour after its expected finish. A monthly job gets one the day after its expected window, and that alarm has to survive three quiet months without anyone muting it.
  • Alert on volume, not only on errors. Throughput down sixty percent against the same weekday last week is a stronger early signal than error count, and it catches upstream filters, partial outages and silent scope changes.
  • Watch the output side too. A run can succeed, write a file, and have nobody open it. Track the last date a human acted on the output, which is the number that tells you whether the automation is still doing anything useful.
Green is not the same as alive

A dashboard that shows zero failures is showing you the failure rate of the runs that happened. It says nothing about the runs that did not. Before you accept a handover, disable the trigger deliberately in a staging environment and confirm that somebody gets alerted within the promised window. If nothing fires, the monitoring you were handed watches only the half of the problem that announces itself. Monitoring an AI system in production goes further into what to instrument.

The ownership manifest

Put ownership in a file, in the repository, next to the code, and review it on a schedule. A wiki page describing ownership is edited by nobody because no change to the system ever forces someone to open it. A file in the repo shows up in diffs, gets reviewed with the change, and can be checked by a script.

OWNERS.yaml, one per automationyaml
# OWNERS.yaml -- lives in the repo beside the automation, reviewed every quarter
automation_id: invoice-triage
tier: critical                  # critical | supporting | convenience
business_purpose: "Posts supplier invoices to the ledger without a clerk keying them"

surfaces:
  runtime:
    owner: "Sam Okafor, platform"
    deputy: "Ines Ruiz"
    page_target: "pagerduty://svc-invoice-triage"
    page_tested_on: "2026-08-04"        # a page target never fired is a page target that does not work
  judgement:
    owner: "Priya Nadar, finance ops"
    deputy: "Tom Reilly"
    sampling_rate_pct: 5
    quality_threshold: "field level exact match >= 0.97 on the golden set"
    review_cadence: weekly
  rules:
    owner: "Priya Nadar, finance ops"
    change_process: "PR against rules/, approved by owner, eval suite must pass"
    exception_policy_doc: "docs/exceptions.md"
  dependencies:
    owner: "Sam Okafor, platform"
    register: "deps.yaml"
    renewal_calendar: "cal://platform-renewals"
  economics:
    owner: "Group Financial Controller"
    budget_month: "set locally, alert at 80 percent"
    kill_switch: "flags.invoice_triage_enabled, editable in the admin console, no deploy"
    kill_switch_tested_on: "2026-08-04"

on_call:
  overnight_behaviour: fail_loud_next_morning   # fail_loud_now | fail_loud_next_morning | fail_silent_ok
  rationale: "Ledger postings have a same-day deadline, not a same-hour one"

heartbeat:
  expected_cadence: "every weekday by 09:30 Europe/London"
  watcher: "external cron, separate account, alarms at 10:30"

review:
  cadence: quarterly
  last_reviewed: "2026-07-01"
  decommission_check: "last date a human acted on this output, not last successful run"

Two fields in that file do more work than the rest combined. The tested-on dates turn a claim into evidence, and stale dates are trivially detectable by a scheduled job that opens a ticket. The decommission check line is the other one: it points at the last date a human acted on the output rather than the last successful run, which is the difference between an automation that is working and an automation that is merely running. Store the file with the code and it survives the person, which is the same argument as documentation that survives the person who wrote it.

Handover is a set of artifacts, not a meeting

Run this as an acceptance checklist owned by the receiving side, not a delivery checklist owned by the builder. The receiving team ticks each item by doing the thing, not by being shown it. An hour spent here is worth more than any amount of knowledge transfer conversation.

Handover acceptance, ticked by the receiving team
0 of 12 done

What ownership costs every month

Upkeep is a real line item and pretending it is zero is how automation programmes stall at automation number six. Run this on your own numbers before agreeing to take ownership of anything, and run it again when someone proposes the next build.

Monthly ownership load

Every input is yours. The full-time equivalent figure divides by 140 productive hours a month, which is a deliberately conservative assumption you should replace with your own.

0Upkeep hours per month
0Percent of one person
0Hours per automation per month

The number that matters is the percentage of a person, because that is the figure a manager can act on. Once upkeep passes roughly half a person and no half a person has been allocated, the maintenance is coming out of whatever that team was supposed to be building, silently, and the first visible symptom is that new work slows down for reasons nobody can name. That is also the point at which the shared substrate becomes worth building, which is the subject of scaling from one automation to twenty.

Vendor retainer or internal owner

Both work. They fail differently, and the failure mode should decide it rather than the monthly cost. The honest framing is that a retainer buys you response time and a permanent knowledge gap, while an internal owner buys you knowledge and a single point of absence.

Vendor retainerInternal owner
Who is pagedA rota you do not control, inside agreed hoursA person you can walk to, subject to holidays
Change latencyDays, gated by a ticket queue and a scope conversationHours, gated by that person's other priorities
On a provider deprecationUsually handled well, because they see it across clientsDepends entirely on whether anyone reads the vendor notices
Knowledge over timeStays with the vendor, and your understanding decaysGrows internally, and concentrates dangerously in one head
Cost shapePredictable monthly, largely unrelated to incidentsSalary, plus the opportunity cost of what they stopped building
The failure modeThe renewal conversation where you discover you cannot maintain it yourselfThat person leaves and takes the only mental model with them

Whichever you pick, the artifacts stay the same. A retainer without OWNERS.yaml, a dependency register and a runbook is a phone number, and phone numbers do not survive a vendor changing account manager. An internal owner without those artifacts is a single point of failure with a laptop. The paperwork is what makes either arrangement recoverable, and it is the cheap part of both.

The vocabulary, used precisely

Ownership terms, defined
Service identity
A credential belonging to an automation rather than to a person, named after the automation it serves. It survives staff changes, appears distinctly in audit logs, and can be revoked without affecting anything else.
Dead man's switch
A monitor that alarms when an expected signal fails to arrive, rather than when an error occurs. It is the only way to detect an automation that has stopped running entirely, since a job that is not running produces no failures.
Shut-off authority
The named person who may disable an automation, plus the mechanism they use. Ownership is incomplete until that person has personally flipped the switch once, without an engineer present and without a deployment.
Dependency register
The list of every external thing an automation relies on, with its owner, its expiry or renewal date, and where notices about it arrive. Mirrored into a calendar, it converts silent expiries into scheduled work.
Deputy
The named second person for a surface of ownership. The deputy exists so that a holiday, an illness or a resignation does not quietly return that surface to nobody, which is the usual route back to an unowned system.
Decommission check
A periodic review of the last date a human acted on an automation's output, as opposed to the last date it ran successfully. It is how you find automations that are working perfectly and producing nothing anyone uses.

One last test, and it takes five minutes. Pick any automation you believe is owned and ask three questions: who gets the page, when was that page last proved, and who can turn it off in the next five minutes. If any answer needs a search through chat history, the automation is unowned and you have found it before it found you. For the logging that makes these answers checkable rather than remembered, see what to log so future you can debug it and agent observability.

Cite this

ChatGPTalker, "Who Owns the Automation After Launch" (2026). An automation is owned only when one named person is paged, holds the access and carries the consequence. Ownership splits across five surfaces, runtime, judgement, rules, dependencies and economics, each needing a named human and a deputy recorded beside the code.

Questions readers ask next

Can the team that built the automation keep owning it?
They can own the runtime and the dependencies well, and they are usually the wrong owners for judgement and rules. A build team cannot tell you whether an invoice was categorised correctly, because correctness is a business fact rather than a technical one. Split the surfaces at handover: engineering keeps runtime and dependencies, the operating team takes judgement and rules, and both names go in the same file.
What is a reasonable review cadence for an automation nobody has touched?
Quarterly for anything tier critical or supporting, and the review has to check the decommission question rather than just the error rate. Look at the last date a human acted on the output, whether the tested-on dates for the page target and kill switch are stale, and whether the dependency register has anything expiring in the next two quarters. Fifteen minutes per automation is enough if the manifest exists.
How do we hand over an automation built by a contractor who has left?
Treat it as an archaeology project and budget for it honestly. Start with credentials, because that is what will fail first: enumerate every account the automation authenticates as, replace anything tied to a person with a service identity, and register the vendor accounts to a shared alias. Then run the system deliberately in a staging copy to find out what it actually touches, since the code will tell you more than any document left behind.
Should the kill switch be a feature flag or just turning the server off?
A flag the business owner can reach, because the point of a kill switch is that it works when the engineer is unavailable. Turning off infrastructure requires access most operations leads do not have and should not have, and it usually takes down other things sharing the same host. A named boolean in an admin console, tested on a recorded date by the person who owns the economics surface, is the version that works at 6pm on a Friday.
How many automations can one person realistically own?
Run the arithmetic rather than guessing, because the answer depends entirely on incident rate and review burden. The pattern worth watching is that upkeep grows faster than the automation count once several systems share dependencies, since one vendor change now means several migrations. When the calculation crosses roughly half a person and nobody has allocated half a person, the cost is already being paid out of some other budget without anyone deciding to.
What happens to ownership when the underlying model is deprecated?
It lands on the dependencies surface, and it is the reason that surface needs a real owner. The work is rarely a code change and almost always an evaluation exercise: repoint the alias, run the golden set, look at what moved, and fix the prompts that regressed. Check the provider's own deprecation notices for timelines rather than trusting anything written in a guide, since those dates change and the notice is the only authoritative source.
Cite this

ChatGPTalker. "Who Owns the Automation After Launch: Ownership and Handover." chatgptalker.com, 2026-08-26. https://chatgptalker.com/guides/who-owns-automation-after-launch/

Rather have it built than read about it?

Send the process you want automated. You get a scoped plan back, with the build shape, the stack and a realistic timeline.

Start a project