Browser automation turns a normal login into a long-lived capability. That is useful for an agent, but it also creates a failure mode that API-only systems often hide: a browser session can retain cookies, local storage, open tabs, downloads, and a partially completed action after the model has lost context.

The fix is to treat every browser session as an isolated, expiring execution boundary rather than as a reusable login.

Define the session contract

Before starting a browser worker, record a small contract:

owner: which workflow and tenant may use the session