Back to Knowledge Hub
Deployment

Browser Process Isolation and Operational Ownership

Assign browser process ownership, workload boundaries, lifecycle controls, and operational access without confusing process separation with site isolation.

BotBrowser Team

Documentation

Want the structured docs for Deployment?

This article lives in the editorial library. For step-by-step setup, reference material, and ongoing updates, jump into the docs section.

Browser process isolation is an operating decision: which workload owns a browser, who may inspect it, and who closes it. BotBrowser can provide a controlled browser profile and context workflow; it cannot grant operating-system privileges, approve a container policy, or decide who may access a host.

TL;DR

  • Assign one accountable owner to each browser process and workload.
  • Use separate browser processes or workers when the policy requires separate crash, resource, privilege, or access domains.
  • Treat close, drain, timeout, and replacement as explicit lifecycle states.
  • Review operator access with least privilege, time bounds, and auditable reasons.
  • Chromium Site Isolation describes browser security boundaries; it does not replace deployment ownership. NIST SP 800-190 describes container risks and controls, not a guarantee that a container is secure.

Contents

BotBrowser capability boundary

BotBrowser gives teams a repeatable browser-side workflow for approved builds, profiles, and contexts. The value is a clear assignment that support and engineering teams can inspect without treating local browser signals as a promise about a remote service.

Use the boundary below to decide what BotBrowser should observe and what your platform must own. This keeps the article's operational guidance concrete without turning a browser-side observation into a host-security claim. BotBrowser can start approved browser builds, attach an assigned profile, create controlled contexts, and expose application-level lifecycle events to the owning automation service. It can help compare a configured session before and after a deployment change. It does not isolate the host kernel, enforce a container runtime policy, revoke an operator's infrastructure access, or prove that a remote service accepted an action. Those decisions remain with the deployment, security, and application owners. Keep this boundary visible in runbooks. A browser-visible process label is an observation, not proof of operating-system ownership. A context close is local cleanup, not proof that a remote account or server-side record was deleted.

Choose the process boundary

Start with the failure and access domains that must remain separate. A shared browser may be appropriate for authorized contexts that can share a release and host while keeping storage assignments distinct. Use a separate browser process when workloads need independent crash domains, extension sets, resource limits, or operator access. Use a separate worker or container when the boundary must include filesystem, network namespace, or host policy. Record the decision before admission:

BoundaryOwnerEvidenceEscalation
Browser processBrowser servicePID/group, release, leaseProcess owner
Worker or containerPlatform serviceworkload ID, image, limitsPlatform owner
Host and networkInfrastructurehost, namespace, policy revisionInfrastructure owner
Application sessionProduct ownerjob ID, outcome, retentionApplication owner

Do not weaken an approved boundary because a cheaper shared process is available. Process separation also does not implement Chromium Site Isolation; it is a deployment choice around the browser.

Own the workload lifecycle

One service should own a process from creation through retirement. Give it states such as starting, ready, draining, closing, closed, and reconciliating. State transitions should be idempotent, and every state should name the owner and deadline.

Admission creates a lease linking the process, workload, profile assignment, and operator-free service identity. A timeout stops new work. Drain lets bounded jobs finish, closes contexts through the supported path, and releases the lease only after cleanup is observed. If close exceeds its deadline, quarantine the process and let the owning supervisor replace it; do not continue admitting work with uncertain ownership.

During shutdown, capture only operational evidence: process group, release, timestamps, exit status, resource pressure, and cleanup result. Keep page contents, credentials, and profile data outside general logs. A replacement starts with a new assignment when policy requires a new session; it should not silently inherit uncertain state. Measure before choosing a boundary Isolation is useful only when the boundary matches the work. Describe a representative job before selecting a process count. Include navigation, authentication only where authorized, downloads, screenshots, media, background workers, and the normal completion signal. A blank page benchmark measures startup, not the workload that operators must protect. Measure startup, context creation, active work, idle periods, close time, and process exit. Record CPU saturation, memory headroom, storage activity, open files, network use, queue age, and failure rate. Resource peaks can happen during navigation, decoding, screenshots, or cleanup, so a steady-state sample is insufficient. Keep the browser release, host image, graphics path, extensions, and network class identical to the proposed deployment. Use the results to set an admission limit below the first point where service objectives degrade. Leave headroom for bursty pages, cache misses, larger downloads, and neighboring services. A process boundary is not a capacity number by itself: the same browser can support different workloads at different limits. Document the workload class and approval date beside the limit. Separate crash and resource domains A browser process can fail because of a renderer, extension, graphics path, memory pressure, or an application page. If one failure must not interrupt another workload, assign separate processes or workers. A context boundary may separate storage while still sharing a crash domain. Make that trade-off explicit instead of describing every context as an isolated process. Resource limits should be enforceable at the layer that owns them. A scheduler can cap admitted jobs; a worker can enforce CPU or memory limits; a host policy can restrict files and network namespaces. Do not claim that a browser setting enforces a host limit. When limits are unavailable, choose a stronger deployment boundary or document the residual risk and owner. Make handoff and replacement deterministic Handoff begins by stopping admission to the old process. The current owner records active jobs, lease deadlines, profile assignments, and the reason for transfer. The receiving owner accepts only a complete assignment and a known process state. If either side cannot confirm the state, mark the handoff uncertain and reconcile through the supervisor rather than opening a second owner path. Replacement should preserve the operational record without copying private browser state by default. Start a new process from an approved image and profile assignment, then verify the visible startup contract. Keep the old process quarantined until exit or an approved forensic decision. Do not attach the same persistent storage to two active processes, and do not use a replacement to circumvent a retention or authorization decision. Handle cancellation and overload Cancellation is part of isolation. Stop admission first, then cancel work at a defined boundary, close pages and contexts, and release the lease after cleanup. Retries use the same admission controls as new jobs. Immediate retries can multiply memory and network pressure while the original process is still draining. When a host is overloaded, preserve jobs that remain within their deadline and cancel the remainder according to policy. Drain the affected process group and remove the host from scheduling if health does not recover. After recovery, restart below the approved limit, confirm that resources were released, and rerun the representative job before restoring normal admission. Keep evidence useful and private An operational record should let the next owner make one decision. Include workload ID, process group, browser release, worker or host reference, lifecycle timestamps, policy revision, visible outcome, and cleanup result. Do not include credentials, complete page bodies, cookies, or unrelated tenant identifiers. Store exceptional traces in the access-controlled incident system with a short retention period. Separate observation from inference. A process exit code does not identify every page error. A context close does not prove a remote sign-out. A host metric does not prove that a destination accepted an account action. State the limit beside each observation so support teams do not turn a local signal into a server-side guarantee. Review changes and rollbacks Revalidate the boundary after a browser release, operating-system image, container runtime, graphics driver, extension, profile package, proxy policy, workload mix, or operator role changes. Compare startup, active work, cleanup, resource headroom, and access logs with the approved baseline. A browser binary must not be changed underneath active contexts. For a staged rollout, keep the previous approved pairing available. Drain candidate groups before rollback and restore the complete browser, image, profile, and policy combination. Record the reviewer, evidence, affected workload class, new limit, and rollback trigger. A rollback that leaves old leases or storage mounts active is not complete. Practical boundary checklist Before production use, confirm that:

  1. One service owner is named for process creation, admission, drain, close, and replacement.
  2. The selected process, worker, container, and host boundaries are recorded with their limits and escalation contacts.
  3. Profile and storage assignments are approved, unique for active work, and not treated as server authorization.
  4. Lease expiry, cancellation, timeout, quarantine, and reconciliation paths have been exercised.
  5. Operator access is least-privilege, time-bound, logged, and separate from customer page data.
  6. The representative workload has measured startup, peak, cleanup, and recovery behavior.
  7. Release and image rollback preserve the complete approved pairing. This checklist is a handoff tool, not a substitute for platform security review, application authorization, or the destination service's own controls. Its purpose is to keep process ownership visible when the browser, worker, or operator changes.

Review operational access

Separate service ownership from human access. Operators should receive the minimum read or action scope needed for a declared incident, with an approval, expiry time, and audit record. Read-only metrics are preferable to shell access. Break-glass access should be rare, time-bound, recorded, and revoked automatically. Review access when a host, worker image, browser release, profile package, or incident role changes. Verify that logs redact credentials and page data, that process identifiers cannot be used to infer unrelated tenants, and that support artifacts have a defined retention period. Access to a browser process is not authorization to inspect an account or change a destination service.

Conclusion

A useful process boundary has an accountable owner, a declared workload, a measured lifecycle, and a reviewable access path. BotBrowser can make the browser-side assignment repeatable, while platform and application owners retain responsibility for host isolation, container policy, remote authorization, and retention. Recheck the boundary after release, image, workload, or access-policy changes.
Capacity planning should record the browser release, host image, profile package, graphics path, extensions, proxy class, and representative workload beside every approved limit. A limit without those inputs cannot be reproduced by the next operator, and a process count copied from a different workload can create a false sense of safety.
The admission record should identify the service identity, lease expiry, workload class, profile assignment, and escalation contact. When a job is retried, preserve the original correlation identifier and explain whether the original process was still draining. This distinguishes a browser failure from duplicate admission or slow cleanup.
Teams should rehearse renderer crashes, host pressure, close timeouts, expired leases, and supervisor replacement. Verify that new work stops, the old process remains observable without page data, and the replacement receives a complete assignment before accepting traffic.
Operational dashboards should separate observations from interpretations. Show process state, resource samples, queue age, cleanup result, and policy revision as facts. Put hypotheses and customer-impact decisions in the incident record with an owner and review time.
For multi-tenant deployments, pair the process boundary with a data boundary. Keep downloads, screenshots, temporary files, and diagnostic traces in tenant-scoped locations with explicit retention. A separate browser process does not automatically separate every filesystem path, network route, secret, or support artifact used by the worker.
Before increasing concurrency, compare the proposed workload with the approved representative job. Navigation-heavy pages, media decoding, large downloads, and cleanup bursts can have different peaks even when average CPU usage looks similar. Increase admission gradually and stop at the first service-objective regression.
For rollback, restore the complete approved pairing of browser release, host image, profile package, runtime policy, and workload limit. Leaving old leases or storage mounts active can make a rollback appear complete while two ownership paths remain live. Reconciliation must finish before normal admission resumes.
Customers also benefit from a clear support handoff. Provide the workload identifier, browser release, profile assignment, lifecycle state, and visible outcome, while keeping credentials and page contents out of routine tickets. This gives support enough context to reproduce an approved observation without expanding access to customer data.
When the workload changes, repeat the same comparison rather than assuming that an earlier limit still applies. A media-heavy route, a download flow, and a short form submission can stress different parts of the browser and worker. Recording the comparison date and reviewer makes the decision useful after a release change.
Use the resulting record to explain what BotBrowser observed and what remains owned by the platform or application. That distinction keeps deployment decisions practical, gives operators a predictable escalation path, and avoids promising isolation or authorization that the browser layer cannot provide. Capacity planning should record the browser release, host image, profile package, graphics path, extensions, proxy class, and representative workload beside every approved limit. A limit without those inputs cannot be reproduced by the next operator, and a process count copied from a different workload can create a false sense of safety. The admission record should identify the service identity, lease expiry, workload class, profile assignment, and escalation contact. When a job is retried, preserve the original correlation identifier and explain whether the original process was still draining. This distinguishes a browser failure from duplicate admission or slow cleanup. Teams should rehearse renderer crashes, host pressure, close timeouts, expired leases, and supervisor replacement. Verify that new work stops, the old process remains observable without page data, and the replacement receives a complete assignment before accepting traffic. Operational dashboards should separate observations from interpretations. Show process state, resource samples, queue age, cleanup result, and policy revision as facts. Put hypotheses and customer-impact decisions in the incident record with an owner and review time. For multi-tenant deployments, pair the process boundary with a data boundary. Keep downloads, screenshots, temporary files, and diagnostic traces in tenant-scoped locations with explicit retention. A separate browser process does not automatically separate every filesystem path, network route, secret, or support artifact used by the worker. Before increasing concurrency, compare the proposed workload with the approved representative job. Navigation-heavy pages, media decoding, large downloads, and cleanup bursts can have different peaks even when average CPU usage looks similar. Increase admission gradually and stop at the first service-objective regression. For rollback, restore the complete approved pairing of browser release, host image, profile package, runtime policy, and workload limit. Leaving old leases or storage mounts active can make a rollback appear complete while two ownership paths remain live. Reconciliation must finish before normal admission resumes.

Sources

#Browser Processes#Process Isolation#Operations#Lifecycle#Ownership

Take BotBrowser from research to production

The guides cover the model first, then move into cross-platform validation, isolated contexts, and scale-ready browser deployment.