Terminal sessions in sandboxed pods
The browser terminal and the step that runs your tests now use a sandboxed pod per session, with no access to the cluster, private networks or cloud metadata.
The terminal in the console and the verify step, which runs your project's tests on the change a session wrote, now run in their own sandboxed Kubernetes pod per session.
Each pod runs as a non-root user with no service token and no extra Linux capabilities. CPU, memory and disk are capped. Network access is limited to DNS and the public internet, so a pod cannot reach the cluster, its API server, private address ranges or cloud metadata. The repository's clone token is passed in privately, not in a URL. Idle and finished pods are cleaned up, and the cluster ends any pod that outlives its time limit.
The terminal is also a real interactive shell now. Arrow keys, editors like vim, top and language REPLs work, the window resizes, and multi-byte characters display correctly. See sessions for where the terminal fits, and the security page for how we isolate workloads.